¿Cómo puedo incluir un hecho ansible desde el lado de la administración?

¿Cómo puedo incluir un hecho ansible desde el lado de la administración?

(Nuevo en ansible) Estoy ejecutando ansible all -m setupvarios hosts para producir resultados JSON para nuestro sistema de inventario. Algunos de nuestros controles remotos ansible se encuentran en diferentes subredes (DMZ, por ejemplo). Me gustaría incluir elLAN IPasociado con estos hosts en la salida JSON ansible. ¿Cómo puedo hacer esto?

ACTUALIZACIÓN: Para aclarar, me gustaría que la 192.168.1.1dirección IP aparezca de alguna manera en la salida de hechos. El ansible_all_ipv4_addressescampo y ansible_default_ipv4el resultado contienen 10.10.10.1cuál no es una dirección IP útil para las personas que miran el inventario desde una perspectiva de LAN.

192.168.1.0/24       192.168.1.0/24
    LAN ----------------FIREWALL
                         |     |
                         eth0  eth1
                         |     |
                         |     +-------DMZ1---------+
                         |                         |
       host1.org.net   > + eth0:1=192.168.1.1      + 10.10.10.1  > host1.org.net
                         |                         |
       host2.org.net   > + eth0:2=192.168.1.2      + 10.10.10.2  > host2.org.net

Respuesta1

Una solución parece ser ejecutar un libro de estrategias para completar un archivo /etc/ansible/facts.d/whatever.factusando la "{{inventory_hostname}}"variable. Cuando setupse ejecute, incluirá whatever.facten la salida JSON. Está aquí por si le sirve a alguien más: ¿Cómo puedo registrar inventario_hostname en un archivo en el control remoto usando un Playbook?

información relacionada