Wie kann ich eine Ansible-Tatsache von der Managementseite einbinden?

Wie kann ich eine Ansible-Tatsache von der Managementseite einbinden?

(Neu bei Ansible) Ich verwende es ansible all -m setupauf einer Handvoll Hosts, um JSON-Ausgaben für unser Inventarsystem zu erzeugen. Einige unserer Ansible-Remotes befinden sich in unterschiedlichen Subnetzen (z. B. DMZs). Ich möchte dieLAN-IPmit diesen Hosts in der Ansible-JSON-Ausgabe verknüpft. Wie kann ich das machen?

UPDATE: Zur Klarstellung: Ich möchte, dass die 192.168.1.1IP-Adresse irgendwie in der Faktenausgabe enthalten ist. Das ansible_all_ipv4_addressesFeld und ansible_default_ipv4in der Ausgabe enthält, 10.10.10.1was für Personen, die das Inventar aus einer LAN-Perspektive betrachten, keine hilfreiche IP-Adresse ist.

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

Antwort1

Eine Lösung scheint darin zu bestehen, ein Playbook auszuführen, um eine Datei mit /etc/ansible/facts.d/whatever.factder "{{inventory_hostname}}"Variable zu füllen. Wenn setupes ausgeführt wird, wird es whatever.factin die JSON-Ausgabe aufgenommen. Es ist hier, falls es jemandem anderen hilft: Wie kann ich inventory_hostname mithilfe eines Playbooks in einer Datei auf der Remote-Basis protokollieren?

verwandte Informationen