【发布时间】:2021-03-18 15:08:14
【问题描述】:
我想用 ansible playbook 从库存文件中解析一个二维列表
库存文件:.ini 会有一个 mac 和 IP 列表
mac1=b8:27:eb:12:53:1b ip1=192.168.8.101 mac2=b8:27:eb:f1:65:32 ip2=192.168.8.102 ...
ansible 的任务是每次以这种形式在 `/etc/ethers`` 文件中添加一行
b8:27:eb:f1:65:32 192.168.8.102
这是任务
- name: Assign static IPs to MACs
lineinfile:
path: /etc/ethers
line: "{{ mac }} {{ ip }}"
mode: 0644
loop: "{{ listname }}"
become: yes
关于如何在清单中设置我的列表以使其与剧本一起使用有什么建议吗? 谢谢!
【问题讨论】:
-
您的示例 ini 文件不是 ansible 库存文件。您真的需要在附加到特定主机的清单中定义该信息吗?如果没有,您真的需要在 ini 文件中包含该信息吗?
-
是的@Zeitounator,我的意思是,这就是我想包含在ini文件中的信息,但我不知道如何放置它们?如何添加一个名为 listname 的列表,其中包含每个成员的两个字段(Mac 和 IP)的列表
-
那个ini文件是在你的控制器上还是在目标主机上?从您上次的评论中,对不起,但我不知道您是否可以更改该文件的格式。