(Новое в доступе) Я бегу ansible all -m setup
на нескольких хостах для вывода JSON для нашей системы инвентаризации. Некоторые из наших доступных пультов находятся в разных подсетях (например, DMZ). Я хотел бы включить LAN IP связанные с этими хостами в выходных данных доступного JSON. Как я могу это сделать?
ОБНОВЛЕНИЕ: Чтобы уточнить, я хотел бы 192.168.1.1
ip адрес быть в выводе факта как-нибудь. В ansible_all_ipv4_addresses
поле и ansible_default_ipv4
на выходе содержит 10.10.10.1
который не является полезным IP-адресом для людей, просматривающих инвентарь с точки зрения локальной сети.
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
Одним из решений, по-видимому, является запуск playbook для заполнения файла в /etc/ansible/facts.d/whatever.fact
используя "{{inventory_hostname}}"
переменная. когда setup
запускается, он будет включать whatever.fact
в выводе JSON. Он здесь на случай, если кому-то поможет: Как я могу записать inventory_hostname в файл на пульте дистанционного управления с помощью Playbook?