Size: a a a

ansible — русскоговорящее сообщество

2021 June 02

OK

Oleg Kalinin in ansible — русскоговорящее сообщество
подскажите ,пжлст, описываю в j2 конфиг файл циклом перечисляя ip хостов из опр группы, исключая хост на котором выполняется на данный момент этот самый цикл:
{% for host in groups['keepalived'] | map('extract', hostvars, ['ansible_{{ interface }}', 'ipv4', 'address']) | list | difference([ansible_{{ interface }}.ipv4.address]) %}
      {{ host }}
{% endfor %}
но проблема в том, что {{ interface }} на разных машинах разный, при подстановке переменой {{ interface }} в цикл он заваливается. Как описать в j2 момент с разными значениями переменной {{ interface }}? спасибо
источник

SK

Sergey Kulnev in ansible — русскоговорящее сообщество
Может в цикле сделать проверку интерфейса?
источник
2021 June 03

S

Serg in ansible — русскоговорящее сообщество
Подскажите пожалуйста,  нужно вставить (использовал модуль lineinfile) параметр в конфиг и вместе с ним одновременно сгенерировать рандомный пароль для каждого хоста на котором будет играть плейбук. Какими средствами это лучше сделать безболезненно?
источник

S

Serg in ansible — русскоговорящее сообщество
Руки тянуться пока что к bash, от обилия всего в ансибле
источник

VC

Vladimir Chernyshev in ansible — русскоговорящее сообщество
template не подходит?
источник

ВБ

Владимир Будыльников... in ansible — русскоговорящее сообщество
я бы взял
"{{ 99999999 | random | hash }}"
или
"{{ 99999999 | random(seed=inventory_hostname) | hash }}"
если нужен индемпотентный пароль
источник

S

Serg in ansible — русскоговорящее сообщество
Не пробовал, я очень редко ансиблом пользуюсь. Спасибо, а в доке он так и звется?
источник

ВБ

Владимир Будыльников... in ansible — русскоговорящее сообщество
если пароль нужен больше чем в одной таске, то https://docs.ansible.com/ansible/latest/collections/ansible/builtin/set_fact_module.html
источник

S

Serg in ansible — русскоговорящее сообщество
👍 Спасибо
источник

ВБ

Владимир Будыльников... in ansible — русскоговорящее сообщество
но с индемпонентным паролем надо быть осторожно - если знать из какого числа рандомизируется номер, то его можно будет воспроизвести где угодно, зная имя хоста
источник

ММ

Микола Мельникович... in ansible — русскоговорящее сообщество
источник

S

Serg in ansible — русскоговорящее сообщество
т.е. его идемпотентность заключается в том, что из заданного числа для заданного хоста, всегда будет генериться один вариант пароля?
источник

ВБ

Владимир Будыльников... in ansible — русскоговорящее сообщество
да. Вариант с модулем password выше - предпочтительнее
источник

S

Serg in ansible — русскоговорящее сообщество
Понял, спасибо Владимир, может пригодиться где
источник

ВБ

Владимир Будыльников... in ansible — русскоговорящее сообщество
random(seed=inventory_hostname) в основном пригождается в cron-задачах, которые хочется нормализировать по времени между хостами
источник

S

Serg in ansible — русскоговорящее сообщество
Интересно, надо это осмыслить,  видимо мое окружение довольно еще простое
источник

S

Serg in ansible — русскоговорящее сообщество
Спасибо, рассмотрю тоже )
источник

S

Serg in ansible — русскоговорящее сообщество
Спасибо ещё раз, просто готовое рабочее решение применил! Порой без примеров, или когда не знаешь с какой стороны подойти к решению, это  здорово выручает.
источник
2021 June 04

p

plan9k in ansible — русскоговорящее сообщество
Добрый день!

Подскажите, никто не пользуется AWX? Каким образом можно задать limit через переменную?
Спасибо!
источник

F

Fordarian in ansible — русскоговорящее сообщество
Всем привет! Подскажите куда смотреть при такой задаче - есть таск который нужно выполнять до тех пор, пока у него не срастется ) - это отлично пашет через until, но есть нюанс - если он зафейлился нужно перед повторной попыткой выполнить другой таск на другом хосте
источник