После небольшого исследования выясняется, что Ansible не имеет встроенной функциональности такого рода.
В соответствии с билетами, открытыми в репозитории Ansible Github, похоже, что люди интересовались этой функцией, но никогда не разрабатывались. Вероятно, из-за битвы между полезностью и сложностью.
Ansible Tix
Ansible Tix
Вот некоторые фрагменты из приведенных выше ссылок:
Было бы неплохо иметь способ воссоздать иерархию групп инвентаря внутри шаблона Jinja2.
@ kinvaris У нас есть динамические запасы для этого. Вы можете просто написать небольшой скрипт динамического инвентаризации и сделать так, чтобы он был переведен. Я не понимаю, почему это необходимое дополнение, оно только усложняет инструменты.
Если вы просто хотите получить список групп, связанных с хостом, но не заботитесь об иерархической структуре:
'{{hostvars["host1"]}}'
Вы получите список, подобный этому:
"groups": {
"all": [
"host"
],
"child": [
"host1"
],
"parent": [
"host1"
],
"ungrouped": []
},