Вытащить информацию из доступных фактов в формат инвентаря - PullRequest
0 голосов
/ 08 октября 2019

Для того, чтобы использовать ансайбл паттерны, которые предлагают наибольшую гибкость командной строки, я хотел бы создать инвентарь на основе названия проекта, дистрибутива, архитектуры. Первое, что я могу сделать с 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": "Недопустимые параметры для отладки: когда"}

1 Ответ

1 голос
/ 08 октября 2019

Отступ неверен

- debug:
        msg: "{{ ansible_architecture }}"
  when:  ansible_architecture  == 'ppc64'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...