
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

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

Pavel
05.05.2018
09:34:00

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

Nikita
07.05.2018
11:36:58

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

Nikita
07.05.2018
11:41:05

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
сразу с таскс начинается роль
нет, там хостс указывается только в первом плэйбуке, второй делает другое задание на тех же нодах. своеобразный конвейр

Vadim
07.05.2018
14:10:20

Антон
07.05.2018
14:12:35

Vadim
07.05.2018
14:12:49

Антон
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

Алексей
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 мониторинга и генерировать инвентори только для живых хостов

Denis 災 nobody
08.05.2018
08:41:56

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

Pavel
08.05.2018
10:22:07

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 не могли, а вот управрять значениями переменных могли