У меня есть три набора серверов. В зависимости от имени хоста, я хочу, чтобы клиент захватил правильный файл. Я тестировал пьесы на сервере со словом «пакетным», но он поднимает оба файл group_vars/perl
и group_vars/batch
Ansible: Как я могу включить переменный файл с условным оператором
pre_tasks:
- include_vars: group_vars/web
when: "'web' in ansible_hostname"
- include_vars: group_vars/batch
when: "'web' not in ansible_hostname"
- include_vars: group_vars/perl
when: "'web' not in ansible_hostname" or "'batch' not in ansible_hostname"
Я запускаю это локально с незарегистрированным инвентарем, иначе я оставил бы его в Ansible для обработки. – luckytaxi
Если вы не используете группы, не используйте 'group_vars /'. Поместите свои файлы vars в 'vars /' и вытащите их оттуда. Реальный ответ здесь заключается в том, чтобы использовать группы, иначе вы тратите время на повторное выполнение решения Ansible. – conorsch