Grek 🇺🇦
потому что handlers должен быть на уровне tasks
Lex
Всем привет! А пользуется кто-нибудь https://docs.ansible.com/ansible/latest/plugins/inventory/tower.html вот этим плагином = динамик инвентори from tower/awx?
Вопрос - как правильно достать сразу несколько инвентори из awx-а?
inqfen
Несколько раз указать
Anonymous
несколькими playbook?
Lex
если в одном файле - то берет только последнее
пробовал
inventory_id: 3
inventory_id: 9
если файл называется не tower_inventory.yml то ругается переназовите файл (пробовал несколько файлов)
Anonymous
Anonymous
в рамках одного playbook плагин будет работать только с одной "гранулой"
inqfen
Так можно inventory 2 раза задать и он в итоге в один это мерджит
inqfen
Anonymous
Andrey
inqfen
-i invetory1 -i inventory2
Anonymous
Lex
Anonymous
inqfen
Lex
-i invetory1 -i inventory2
Failed to parse tower_inventory1.yml with auto plugin: inventory config 'tower_inventory1.yml' could not be verified by
plugin 'tower'
Anonymous
inqfen
inqfen
Lex
а вообще поменялся конфиг - релиз, пересборка контейнера, перезапуска...зачем изобретать?
Anonymous
inqfen
inqfen
ec2 плагин например ждет определенное окончание названия
inqfen
А не все название
inqfen
Посмотри в доках плагина
Anonymous
Anonymous
If reading from the YAML file, the file name must end with tower.(yml|yaml) or tower_inventory.(yml|yaml), the path in the command would be /path/to/tower_inventory.(yml|yaml)
Anonymous
Lex
да!
Anonymous
Хорошо
Lex
RTFM ))
спасибо большое
@inqfen
inqfen
Вообще как я понимаю, плагин должен уметь в инвентори несколько раз, чтобы его в доках опубликовали
inqfen
If the location given to -i in Ansible is a directory (or as so configured in ansible.cfg), Ansible can use multiple inventory sources at the same time.
inqfen
Потому что если он так не умеет - нарушает логику из документации, которую я выше привел
Anonymous
спасибо, я думал это чуток иначе работает
inqfen
А inventory -i 1 -i 2 - по сути мердж ямлов из нескольких каталогов, для ансибла нет разницы, два каталога с 1 файлом или 1 с двумя
Lex
Вообще отлично, это все еще можно и в ansible.cfg запихнуть и он все хавает...ммм шикарно
inqfen
А то, все для людей
Отделение Bereke Bank
Александр
Lev
https://habr.com/en/post/500058/ люди добрые, расскажите что я не так делаю в тестирование ansible?
Rainbow
Привет. В ansible можно в плейбуке при первом запуске генераторе токен, как-то сохранить локально и при последующих использовать?
Вроде генерации var файла если его нет локально
Lev
Iwan
Anonymous
Anonymous
https://stackoverflow.com/questions/27733511/how-to-set-linux-environment-variables-with-ansible
Rainbow
Через переменные окружения подойдет?
Значение не известно пока половина плейбука не отработает.
Схема запустить половину, посмотреть значение и потом засунуть в переменные не очень.
Sergey
Sergey
Ну это если в общем и вкратце.
Rainbow
Igor
local_action же
Sergey
Sergey
Если есть подобная схема работы - что-то в консерватории не так.
Rainbow
Да так хоть тесты можно прогнать
Sergey
Ну это вопрос к тем, кто решил, что тестировать роли с завязками на внешний компонент/систему/API - замечательная идея.
Rainbow
Конкретно у меня ситуация, что я хочу написать роль для бустрапа consul+vault
сгенерить конфиг
включить консул
consul acl bootstrap -> получи токен (один раз)
consul create policy -> получи токен
выполни команды с токеном на каждом хосте
и так далее
Tadeusz
Sergey
Rainbow
Ну ок, в тестах будет мок. Дальше нужно развернуть 5 окружений
Rainbow
consul acl bootstrap одноразовая операция, но делать это руками 🤮
Sergey
Я бы написал модуль - и не парился.
Sergey
Мне на Python всякие хитрые случаи обработать намного проще, чем говнокодить на Ansible
Rainbow
тут смысл что кто-то локально должен сделать
data > vars/tokens.yml
может зашифровать, чтобы лежал в гите.
Rainbow
В общем спрашивал есть ли прямой путь. Кажется нет
Anonymous
уже предложил "permanent environment variables"
Anonymous
ссылку дал :)
Sergey
Нет, прямого нет. Как раз потому, что коллеги либо вообще это не делают, либо говнокодят, либо всё лежит в тридесятом репозитории за тридевятым файрволом.
Rainbow
Или забутстрапить 5 окружений раз в 5 лет РУКАМИ не зашквар 😁
Anonymous
обычно токены и прочии креды передают, через переменные окружения. тебе ничего не мешает написать генерирование токена и закинуть в переменную окружения(permanent environment variables)
Rainbow