Я хочу создать отчет (возможно, используя шаблон), который группирует мои хосты на основе фактов о них.
Скажем, у меня в /etc/ansible/hosts
были следующие серверы (факты ansible_distribution
и ansible_distribution_version
, указанные в скобках):
mercer (RedHat, 7.2)
grocer (RedHat, 6.2)
draper (Solaris, 10)
fishmonger (RedHat, 7.2)
goldsmith (Solaris, 11)
skinner (RedHat, 7.2)
Я хочу получить файл, который выглядит примерно так:
**RedHat 6.2 Servers**
grocer
**RedHat 7.2 Servers**
mercer
fishmonger
skinner
**Solaris 10 Servers**
draper
**Solaris 11 Servers**
goldsmith
Не знаю, лучше ли попробовать:
A) цикл через play_hosts и извлечение фактов и запись в новую переменную как ('fact1', 'fact2', 'hostname'), а затем цикл по этой новой переменной с помощью groupby в моем шаблоне jinja2 для создания отчета.
Б) Сортировка их всех в недоступной задаче, а затем передача предварительно сгруппированного массива массивов в шаблон и его форматирование.
... и я тоже не могу понять, как это сделать.