我是 Ansible 的新手,想知道为什么我得到无效的结果。这是一个简短的脚本,它应该返回库存信息,如 SN、型号、软件版本和名称。
---
- name: Cisco facts
vars_prompt:
- name: "site"
prompt: "Which device would you like to check?"
private: no
default: all
hosts: "{{ site }}"
gather_facts: false
connection: local
tasks:
- name: facts
# Collect hardware facts from the device
ios_facts:
gather_subset: "hardware"
register: output
- local_action:
module: lineinfile
dest: /Users/username/Downloads/test2.txt
insertafter: EOF
line: "{{ ansible_net_hostname }},{{ ansible_net_model }},{{ ansible_net_version }},{{ ansible_net_serialnum }}"
create: yes
当我运行剧本时,只要我连接的设备具有不同的 IP 地址,我就会得到正确的结果。例如,当我连接到 172.16.110.2 并且 172.16.110.3 返回正确时,我在创建的文件中有两个行条目。当我使用 IP 172.16.110.11 和 172.16.110.1 连接设备时,它会创建一个包含一行条目的文件(最后连接的那个)。Play recap 显示所有设备都已连接,操作重定向到 localhost 并更改=1。
为什么脚本在连接到类似的设备 IP 地址时不添加一行?