Инвентарные группы Ansible Tower из playbook

Как я могу ссылаться на группу инвентаря башни из сборника пьес? В моей пьесе называются определенные роли, каждая роль будет вызываться в другой группе инвентаря из башни.

Пока что я попробовал это:

host: "{{ inventory_hostname in groups['ios'] }}"

или же

host: "ios"

или же

host: ios

Это просто мой синтаксис в шаблонах? Я не могу найти никаких ссылок на это при использовании группы инвентаря башни.

Я получаю сообщение об ошибке, которая не может быть найдена, или я пытаюсь подключиться к ios

"failed to connect to ios:22"

2 ответа

Вы должны использовать hosts: вместо host: если вы хотите сослаться на группу.

Попробуйте начать с: hosts: "{{ ansible_play_batch }}"

Эта "волшебная переменная" дает вам список [активных, доступных] Хостов, которые были переданы из Башни.

Я пришел к этому, потому что hosts: является обязательным полем в учебнике, и я не хотел жестко программировать над выбором Tower Inventory.

От поддержки Ansible Tower:

Каждый шаблон работы может видеть только один инвентарь верхнего уровня. Тем не менее, возможно создать потенциально перекрывающиеся группы и подгруппы в пределах одного инвентаря. Для большинства приложений может быть организована единая инвентаризация для обеспечения необходимой специфики. В тех случаях, когда на конкретную группу инвентаря необходимо ссылаться в нескольких шаблонах заданий, необходимо либо использовать один и тот же инвентарь верхнего уровня в обоих случаях, либо дублировать группу инвентаря на оба инвентаря.

Таким образом, вы не можете ссылаться на другие группы в hostsкаждый шаблон задания видит только тот инвентарь, который был ему предоставлен, но вы можете использовать Workflow для изменения запасов или создания перекрывающихся групп.

Другие вопросы по тегам