Tengo un conjunto de libros de jugadas ansible (v2.9.11) con alrededor de 80 servidores, que hacen varias cosas diferentes. Estoy intentando estructurar las cosas en grupos, con subgrupos.
¿Es posible ver fácilmente todos los grupos a los que pertenece un anfitrión? Especialmente si me muestra la jerarquía, como en "El host H₁ está en el grupo G₁, que es un grupo secundario del grupo G₂".
Respuesta1
variable especial group_names
mantiene"Lista de grupos de los que forma parte el anfitrión actual". No hay información sobre la jerarquía de los grupos disponible en Ansible.
Respuesta2
Basado en la inspiración dehttps://unix.stackexchange.com/a/706901/106012, se me ocurrió esta solución para enumerar los grupos de un host en particular:
ansible-inventory --list | jq -r 'map_values(select(.hosts != null and (.hosts | contains(["myhost"])))) | keys[]'
Esto no tiene en cuenta los grupos anidados, pero funciona para la estructura de grupo plano en mi pequeña instalación ansible. Estoy seguro de que alguien con mejores jq
habilidades que yo podría solucionar esta deficiencia.