Eu tenho um conjunto de manuais ansible (v2.9.11) com cerca de 80 servidores, fazendo várias coisas diferentes. Estou tentando estruturar as coisas em grupos, com subgrupos.
É possível ver facilmente todos os grupos dos quais um host é membro? Principalmente se me mostrar a hierarquia, como em "O host H₁ está no grupo G₁, que é um grupo filho do grupo G₂"
Responder1
Variável especial group_names
mantém"Lista de grupos dos quais o host atual faz parte". Não há informações sobre a hierarquia dos grupos disponíveis no Ansible.
Responder2
Baseado na inspiração dehttps://unix.stackexchange.com/a/706901/106012, criei esta solução para listar os grupos de um host específico:
ansible-inventory --list | jq -r 'map_values(select(.hosts != null and (.hosts | contains(["myhost"])))) | keys[]'
Isso não leva em consideração grupos aninhados, mas funciona para a estrutura de grupo simples em minha pequena instalação ansible. Tenho certeza de que alguém com jq
habilidades melhores do que eu poderia consertar essa deficiência.