Инвентарные группы 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 для изменения запасов или создания перекрывающихся групп.