Для того, чтобы использовать ансайбл паттерны, которые предлагают наибольшую гибкость командной строки, я хотел бы создать инвентарь на основе названия проекта, дистрибутива, архитектуры. Первое, что я могу сделать с ansible_inventory, но собирая факты для distro и arch в формате инвентаря, я не очень ясен
Так что более конкретно я хотел бы создать файл инвентаря, чтобы формат выглядел следующим образом
rehdat8:
hosts:
hosta: {}
hostb: {}
ubuntu16:
hosts:
hostc: {}
x86_64:
hosts:
hosta: {}
hostc: {}
ppc64:
hosts:
hostb: {}
Я полагаю, что я могу сделать это, начав с базового списка инвентаря
hosta
hostb
hostc
hostd
и запустив игровую книгу генерации инвентаря, которая печатает факт, когда он соответствует, например.
- debug:
msg: "{{ ansible_architecture }}"
when: ansible_architecture == 'ppc64'
К сожалению, я получаю синтаксические ошибки с оператором when, но я могу напечатать сообщение, если оператором комментировано. Вот ошибка, которую я вижу, когда использую условие when
fatal: [hosta]: FAILED! => {"msg": "Недопустимые параметры для отладки: когда"}