@pro_ansible

Страница 459 из 625
Huan
05.05.2018
08:25:35
если в обеих группах есть одинаковая переменная

и в var_x, и в var_y есть перемменная port

типа так: {{ var_x.item.port }}?

Nikita
05.05.2018
08:38:37
типа так: {{ var_x.item.port }}?
- hosts: localhost connection: local gather_facts: false vars: var_x: - var_1 - var_2 - var_3 var_y: - var_11 - var_12 - var_13 tasks: - debug: var: var_y[2] - name: copy to tmp template: src: test.j2 dest: /tmp/test.cong with_items: - "{{ var_x }}" - "{{ var_y }}" {{ var_x }} {{ var_y }} {{ var_y[2] }} [u'var_1', u'var_2', u'var_3'] [u'var_11', u'var_12', u'var_13'] var_13

Google
Huan
05.05.2018
08:51:43
а мжно ли указать {{ var_y['var_13'] }}?

Pavel
05.05.2018
09:13:34
а мжно ли указать {{ var_y['var_13'] }}?
нет, надо словарем делать

Nikita
05.05.2018
09:26:51
Чет теперь я не догоняю. Что в доке: http://docs.ansible.com/ansible/latest/user_guide/playbooks_conditionals.html#loops-and-conditionals Что делаю: - hosts: localhost connection: local gather_facts: false vars: var_x: - var_1 - var_2 - var_3 var_y: - var_11 - var_12 - var_13 tasks: - debug: msg: "OK" with_items: - "{{ var_y }}" when: var_y is match("var_13") Что получаю: The conditional check 'var_y is match("var_13")' failed. The error was: Unexpected templating type error occurred on ({% if var_y is match("var_13") %} True {% else %} False {% endif %}): expected string or buffer

Nikita
05.05.2018
09:35:46
Это я про себя:(

Huan
05.05.2018
11:09:17
Думаю для такого лучше юзать consul_kv

Sergey
05.05.2018
12:08:40
Думаю для такого лучше юзать consul_kv
Для странного ТЗ лучше вообще ничего не "юзать", а сесть и подумать сначала. Налицо всего-навсего проблемы с размещением переменных. Если одна роль идёт за настройками в другую роль - значит, эти настройки относятся не только ко второй роли, а ко всему окружению. Таким образом, они попадают в inventory, а никак не в роль.

Aleksei
07.05.2018
08:12:59
Скажите, если у меня таск с циклом, который проходит по листу, то --step будет прерывать на каждом айтеме из листа или проглотит весь таск?

Vasyl
07.05.2018
11:19:52
господа, не могу понять куда смотреть при ""msg": "AnsibleUndefinedVariable: 'dict object' has no attribute 'ansible_default_ipv4'" ? не отрабатывает на одном окружении. на других все хорошо. окружения строились из одних шаблонов

Nklya
07.05.2018
11:20:59
Версии разные?

Vasyl
07.05.2018
11:21:20
сейчас проверю

одинаковые

Nikita
07.05.2018
11:29:03
Всем привет, скажите, а есть ли возможность добавить host в inventory awx/tower из playbook? То есть у меня есть playbook, который создает виртуальную машину и назначает ей IP, который берет из сервиса по учету IP

Google
Vasyl
07.05.2018
11:30:27
а обычно такое бывает когда разные версии?

Nklya
07.05.2018
11:32:31
а обычно такое бывает когда разные версии?
могло быть. Если не оно, смотри в чем разница между нодами, почему в факты не попадает ansible_default_ipv4

Nklya
07.05.2018
11:38:41
Ну тауэр поддерживает динамические инвентори как я помню. Вопрос в том, поддерживается ли та система, в которой ты создаешь

Nikita
07.05.2018
11:41:05
Ну тауэр поддерживает динамические инвентори как я помню. Вопрос в том, поддерживается ли та система, в которой ты создаешь
В смысле в Source указать свою виртуализацию? У меня oVirt и к сожалению там нету поддержки (хотя и то и то Red Hat). Придется всё таки видимо Custom Scritp писать

Vasyl
07.05.2018
11:50:37
факты, насколько помню, вроде динамически и собираются.

еще полностью не разобрался в проекте. Только 4й день на новом месте

Антон
07.05.2018
13:59:05
Всем привет

Коллеги, вопрос следующий. Если я делаю import_playbook то, с чего должен начать импортируемый плэйбук? Сразу с tasks или все-таки нужна пуста строка hosts?

Алексей
07.05.2018
14:03:45
сразу с таскс начинается роль

ее тоже можно импорт

Vadim
07.05.2018
14:04:25
в плейбуке должен быть хостс, да

Антон
07.05.2018
14:08:53
сразу с таскс начинается роль
нет, там хостс указывается только в первом плэйбуке, второй делает другое задание на тех же нодах. своеобразный конвейр

Антон
07.05.2018
14:12:35
тогда пиши только таски и делай import_tasks
т.е. в родоначальном это будет так: -import_tasks: example.yml А в импортируемыом tasks: -name...... Правильно понял?

Антон
07.05.2018
14:13:06
угу
понял, спасибо

Алексей
07.05.2018
17:58:58
@vrutkovs Hybrid Operations with Ansible

Google
Vadim
07.05.2018
18:00:16
@vrutkovs Hybrid Operations with Ansible
чот я сразу про методички КГБ подумал

Алексей
07.05.2018
18:00:39
но тем немеее ваши отцы будут это докладывать

Vadim
07.05.2018
18:02:26
но тем немеее ваши отцы будут это докладывать
кастомерам нравится, главное слоб побольше ввернуть

Vasyl
08.05.2018
06:54:58
а экранировать обязательно? when: "\'{{env}}-jenkins\' in group_names"

не могу в документации про это ничего найти

Sergey
08.05.2018
08:34:08
bebebe
08.05.2018
08:40:14
коллеги у меня вопрос со звездочкой: 1. есть динамическое инвентори в котором описаны 1200 хостов 2. у меня есть мониторинг который деплоится ансиблом и загоняет туда эти 1200 хостов со всеми проверками Мой вопрос: 1. мне нужно по этим 1200 хостам пройтись и сделать что-то 2. Мониторинг ЗНАЕТ какие хосты сейчас доступны (обычно 80%) 3. Что нужно что-бы пройтись только по живым хостам по версии мониторинга? Я могу накостылять несколькими способами 3.1 проверять живость хоста из анслиб плейбуки через API мониторинга 3.2 сделать еще один динамик инвентори который будет ходить в API мониторинга и генерировать инвентори только для живых хостов

bebebe
08.05.2018
08:42:29
сдёрнуть хосты с мониторинга и засунуть динамически в хостс?
да, я уже думал об этом (см последний пункт вопроса)

Denis 災 nobody
08.05.2018
08:43:19
проверять каждый хост в мониторинге - смотрится более накладно..

bebebe
08.05.2018
08:45:14
да, проверять каждый хост - вообще идея очень не очень

я вот думаю может быть в генерации моего динамического инвентори заходить заодно в мониторинг и через API спрашивать состояние и добавлять его как var для этого хоста

либо запускать inventory с флагом --list --alive?

у кого-нибудь был опыт решения такой задачи? из 100% хостов 95% всегда в апе

Nklya
08.05.2018
09:04:53
ну сделай динамическое инвентори, которое отдает только живые хосты. А вдруг хост отвалится в процессе?

bebebe
08.05.2018
09:21:36
Nklya
08.05.2018
09:25:19
Я думаю стоит посмотреть в другую сторону. Почему первое возвращает дохлые хосты?

bebebe
08.05.2018
09:27:15
потому что это список ВСЕХ хостов. по этому инвентори у меня деплоится инфра вся и остаются артефакты (прошивки, пакеты, докер образа и прочие кубернетесы)

Nklya
08.05.2018
09:28:41
А почему некоторые мертвенькие?

bebebe
08.05.2018
09:32:40
А почему некоторые мертвенькие?
они терроториально сильно разбросаны, и не всегда хороший интернет

Google
Nikita
08.05.2018
09:53:00
Всем привет, подскажите пожалуйста, после обновления awx из репозитория с 1.0.2 до 1.0.6 нужно по новой сделать /opt/awx/bin/awx-manage migrate?

brestows
08.05.2018
09:56:01
Народ а кто-то работал с jenkins ?

Denis 災 nobody
08.05.2018
10:00:37
brestows
08.05.2018
10:01:02
хочу понять как склонировать git репозиторий в конкретную папку

Denis 災 nobody
08.05.2018
10:01:59
гит плагин стоит?

а вообще гугл, первый же линк https://stackoverflow.com/questions/9767919/in-jenkins-how-to-checkout-a-project-into-a-specific-directory-using-git

brestows
08.05.2018
10:02:44
это я видел

и это стоит

Roman
08.05.2018
10:07:39
в конретную папку? по умолчанию он склонирует в рабочее пространство твоей джобы

если нужно в контретную папку, запусти bash командами

brestows
08.05.2018
10:16:32
Да, я вкурсе, я разобрался с этим.

у меня возник другой вопрос, как можно из ansible получить доступ к переменным окружения

lookup видать

но что-то не выходит :)

Denis 災 nobody
08.05.2018
10:22:02
brestows
08.05.2018
10:22:25
хоста

Roman
08.05.2018
10:23:14
пробовал? https://docs.ansible.com/ansible/2.5/plugins/lookup/env.html

Pavel
08.05.2018
10:23:21
хоста
насколько я помню, для этого нужен шелл, а по умолчанию ссх соединие без него

Denis 災 nobody
08.05.2018
10:23:52
gather_facts тоже не?

Google
brestows
08.05.2018
10:48:09
подождите, я видать что-то не то делаю, вот есть моя машина, на ней я запускаю ansible

надо что бы ansible на моей машине прочитал переменную TEST и ее значение положил в шаблон

я вот это имел ввиду

Nikita
08.05.2018
10:49:04
delegate_to: localhost

brestows
08.05.2018
10:49:29
ну а шаблон он закинет на удаленную машину ?

или на localhost

Nikita
08.05.2018
10:49:56
Сделай register и передай как переменную на удаленную машину

brestows
08.05.2018
10:50:14
ну разве что так

спасибо. буду пробовать

Nikita
08.05.2018
10:51:07
shell: echo $TEST delegate_to: localhost register: test_env

Но это странно конечно, почему не определить в vars?

brestows
08.05.2018
10:53:31
потому что надо что бы изменять playbook не могли, а вот управрять значениями переменных могли

Страница 459 из 625