плейбук (playbook.yml) заинклудить полностью другой плейбук (test.yml), причём имя этого второго плейбука не захардкожено, а формируется динамически на основе имени файла инвентаря (test.ini) ?
Шо за күн фу
with_fileglob вам в помощь
ну типа есть маленькие inventory-файлы в разрезе разных систем. И есть специфичные для них плейбуки. Стартуя плейбук я не хочу нагружать голову указывая имя плейбука. Хочу ограничиться лишь именем соответствующего инвентори. А дальше чтобы автоматом заинклудился нужный плейбук
- include_tasks: "{{ item }}" with_fileglob: - "some_path/{{ some_inventory_var }}.yml"
имхо, дичь творите. делайте один инвентарь, бейте по группам
да, это я люблю )
Сделайте инвентори как директорию со списком расширений-исключений. Переименовуйте (включайте) нужный файл инвентори и вперед
такая конструкция насколько я понимаю будет работать внутри play. А мне получается нужно на уровень выше. Потому что плейбуки, которые хочу инклудить - сами по себе самодостаточные и содержат блоки - hosts
а тут получается ручная работа по переименованию. А задумка такая что всегда должны быть на готове : - разные маленькие инвентари - разные специфичные плейбуки с названиями под каждый инвентарь. А человек (или автоматизация) должны будут запускать просто ansible-playbook playbook.yml -i hosts/test_system.ini Внутри себя playbook.yml должен инклудить playbooks/test_system.yml
Мне кажется, iac работает не так😁
возможно что да, это извращение ) Если бы у меня был один большой инвентори, то этим можно было бы не париться. И задавать лишь имена целевых плейбуков. Но у меня нет цельного инвентаря ☺️.
Где ручная? При сильно желании можно дергать гит, выкладывая файлики в нужное место и потом подчищать артефакты
Обсуждают сегодня