George
он?
Andor
https://github.com/ansible/ansible/blob/devel/lib/ansible/modules/cloud/google/gc_storage.py
Andor
хм
George
ну, норм, промазал чутка
Anonymous
Подскажите пожалуйста как лучше сделать. Есть роль, которая сетапит nomad серверы и клиентов. Тип инстанса(сервер или клиент) определяется через установку типа в group_vars. Проблема в следующем: nomad сервера у меня на амазоне и используется dynamic inventory plugin. А клиенты на bare-metal живут и для них отдельный статик инвентори есть. Можно как-то эти 2 инвентори слить в один? Или это 'странное' и я не по тому пути иду?
Timur
Инвентарь в любом случае общий, но с разными плеями проще разные плагины использовать
Anonymous
Инвентарь в любом случае общий, но с разными плеями проще разные плагины использовать
Вот тут не понятно. Как он будет общий, если это 2 разных инвентори?
Anonymous
@fortunately будет жить. Поприветствуем!
Anonymous
@alexinvest770 будет жить. Поприветствуем!
Timur
Ну вот и я о том-же
В смысле, что в этот инвентори ансибл может добавлять как статику, так и динамику
Oleksandr
баньте этого
simplemice.eth
+
Sheridan
Коморады, а можно сделать из роли икс include_role игрек так, чтобы оно видело templates из роли икс?
Sheridan
или только через передачу ../../икс/templates/.../file параметром?
Sergey
😊
Sheridan
ну решение то наверху, да. Я надеялся на нечто более интересное ))
Sheridan
типа templates_from: икс
Vladislav 👻
#ненадотак
Vladislav 👻
Роли должны быть самостоятельными
Sheridan
Роли должны быть самостоятельными
я хочу в nginx запихивать конфиги из других ролей
Vladislav 👻
#ненадотак
Sheridan
понятно что это будет через include_role: name: nginx tasks_from: deploy_conf.yaml vars: template: ../../role_x/templates/tmp.conf.j2
Sheridan
ну или как то так...
Алексей
Всем привет. Скажите, пожалуйста, как можно в инвентори-файле использовать одну переменную внутри другой? Я хочу сделать так: [test] 192.168.122.154 K8S_VERSION=v1.12.4 MINIKUBE_VERSION=v1.1.1 MINIKUBE_URL=https://storage.googleapis.com/minikube/releases/{{ MINIKUBE_VERSION }}/minikube-linux-amd64 То есть в переменной MINIKUBE_VERSION я указываю версию, которую хочу использовать в следующей переменной MINIKUBE_URL
Timur
а можно пример?
https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html
Timur
all: children: usa: children: southeast: children: atlanta: hosts: host1: host2: raleigh: hosts: host2: host3: vars: some_server: foo.southeast.example.com halon_system_timeout: 30 self_destruct_countdown: 60 escape_pods: 2 northeast: northwest: southwest:
Никита
подскажите, как stout команды засунуть в переменную внутри плейбука
Никита
Anton
товарищи, подскажите, как правильно в задачу передать инклюд роли, если она лежит уровнем выше (или несколькими уровнями).
Anton
если я запускаю плейбук вот так ansible-playbook path/to/some/dir.yaml а роль у меня лежит в корне где начинается path
Timur
Один из путей - это путь с плейбукой, да. Но лишь один из
Anton
динамично добавлять туда я не могу каким то способом?
Timur
В каком смысле - динамично?
Anton
например из переменной окружения
Anton
добавить или жестко задать через переменную окружения путь до каталог с ролями
Anton
разобрался, спасибо
Timur
https://docs.ansible.com/ansible/latest/reference_appendices/config.html#envvar-ANSIBLE_ROLES_PATH
Anton
ага, именно
Никита
как вывести переменную? query('dict', variable) выводит "<type 'list'>: VARIABLE IS NOT DEFINED!"
Никита
я её через register из другой таски дергаю, там postgresql_query
Никита
- name: "Create list of indexes" postgresql_query: db: "{{ DB_NAME }}" query: "select pg_namespace.nspname||'.'||pg_class.relname from pg_class, pg_namespace where pg_class.relnamespace = pg_namespace.oid and pg_class.relkind = 'i' and pg_class.relname not like 'pg_%'" register: index_list не уверен конечно в правильности запроса
Timur
И что в index_list в итоге?
Никита
query('dict', index_list) выводит "<type 'list'>: VARIABLE IS NOT DEFINED!"
Никита
нужно видимо список из key словаря выдернуть
Никита
- name: "Debug" debug: var: "{{ item }}" with_items: "{{ index_list }}"
Никита
вот так
Timur
Просто дебаг index_list что показывает?
Никита
Просто дебаг index_list что показывает?
да я уже разобрался, вон предпоследнее сообщение, решение
Никита
тыкните носом в доку по синтаксису, мне нужно сложную смесь словарей и списков распарсить
Никита
нашел https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html
Anonymous
@oniino будет жить. Поприветствуем!
Anonymous
@rshukayl будет жить. Поприветствуем!
Nataliia
Всем привет. Кто сталкивался с fact_caching? Подскажите, в случае если включено кеширование фактов и в роли принудительно вызывается модуль setup, данные возьмутся из кеша или собирутся с машины?
Алексей
Всем привет. Просидел вчера несколько часов. перепробовал все варианты... Пожалуйста, помогите. Мне нужно в текстовый блок вывести переменную в двойных кавычках. Мне нужно вставить в файл /etc/docker/daemon.json указанный блок, но переменная KX_REGISTRY_LOCAL должна появиться в файле в двойных кавычках. В моем случае она появляется в виде \"192.168.99.1:5000\". Уберу второй слеш - появится в виде \"192.168.99.1:5000", а вот если уберу первый слеш, то вообще все выводится в одну строку и в одинарных кавычках. Злости не хватает) - name: Configure docker vars: KX_REGISTRY_LOCAL: '\"192.168.99.1:5000\"' blockinfile: path: /etc/docker/daemon.json create: yes block: | { "insecure-registries": {{ KX_REGISTRY_LOCAL }} } tags: - configure-docker
Никита
ансибл с ума сошел The error appears to have been in '/home/extadmin/CE/CE_postgre.yml': line 37, column 7, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: - name: "Create ism_users table" ^ here exception type: <class 'ansible.errors.AnsibleParserError'> exception: no action detected in task. This often indicates a misspelled module name, or incorrect module path.
Никита
на плейбуке, который отлично на другом хосте работает
Никита
модулей не хватает, странно, я думал все сразу ставятся
Алексей
А зачем кавычки одинарные ?
Если убираю одинарные кавычки, то переменная вообще пишется без кавычек в файл
Алексей
А зачем кавычки одинарные ?
А если делаю вот так: - name: Configure docker vars: KX_REGISTRY_LOCAL: "192.168.99.1:5000" blockinfile: path: /etc/docker/daemon.json create: yes block: | { "insecure-registries": [ " {{ KX_REGISTRY_LOCAL }} " ] } tags: - configure-docker То файл создается такой: # BEGIN ANSIBLE MANAGED BLOCK {'insecure-registries': [' 192.168.99.1:5000 ']} # END ANSIBLE MANAGED BLOCK
Anonymous
@nafan будет жить. Поприветствуем!
Владислав
А если делаю вот так: - name: Configure docker vars: KX_REGISTRY_LOCAL: "192.168.99.1:5000" blockinfile: path: /etc/docker/daemon.json create: yes block: | { "insecure-registries": [ " {{ KX_REGISTRY_LOCAL }} " ] } tags: - configure-docker То файл создается такой: # BEGIN ANSIBLE MANAGED BLOCK {'insecure-registries': [' 192.168.99.1:5000 ']} # END ANSIBLE MANAGED BLOCK
- name: Configure docker vars: KX_REGISTRY_LOCAL: "192.168.99.1:5000" blockinfile: path: /etc/docker/daemon.json create: yes block: | { insecure-registries: "{{ KX_REGISTRY_LOCAL }}" } #cat /etc/docker/daemon.json # BEGIN ANSIBLE MANAGED BLOCK { insecure-registries: "192.168.99.1:5000" } # END ANSIBLE MANAGED BLOCK Так?
Владислав
Ну добавь, смысл думаю понятен