我正在编写剧本,它应该在执行任何任务之前收集基本的服务器信息,我想收集分配给每个接口的接口名称/IP 地址/网络掩码。
例如 - 我有两个接口 - eth0 和 eth1,并且都配置了不同的 IP。
我使用 ansible facts 来收集这些信息,它在单个接口下工作正常,但如果一台机器上有更多接口,信息就会失去顺序。我想循环遍历每个接口并收集这些信息,但无法按顺序排列。
Network_Info : Interface Name : {{ ansible_default_ipv4['alias'] }}
Network_Info : IP Address : {{ ansible_default_ipv4['address'] }}
Network_Info : Netmask : {{ ansible_default_ipv4['netmask']}}
有人可以帮我吗?
谢谢 Kamlesh
答案1
尝试一下。ansible_interfaces
事实包含此信息。
tasks:
- name: debug interface facts
debug:
msg: "{{ hostvars[inventory_hostname]['ansible_%s' | format(item)] }}"
loop: "{{ ansible_interfaces }}"