清单文件的 Ansible 循环(二维列表)
Ansible loop over inventory file (two dimensional list)
我想用 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
关于如何在库存中设置我的列表以使其与剧本一起使用,请提供任何建议?
谢谢!
我会将列表作为变量添加到 group_var 文件夹或您的剧本中。
list:
- mac: b8:27:eb:12:53:1b
ip: 192.168.8.101
- mac: b8:27:eb:f1:65:32
ip: 192.168.8.102
您的任务可能如下所示:
- name: Assign static IPs to MACs
lineinfile:
path: /etc/ethers
line: "{{ item.mac }} {{ item.ip }}"
mode: 0644
loop: "{{ list }}"
become: yes
我想用 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
关于如何在库存中设置我的列表以使其与剧本一起使用,请提供任何建议? 谢谢!
我会将列表作为变量添加到 group_var 文件夹或您的剧本中。
list:
- mac: b8:27:eb:12:53:1b
ip: 192.168.8.101
- mac: b8:27:eb:f1:65:32
ip: 192.168.8.102
您的任务可能如下所示:
- name: Assign static IPs to MACs
lineinfile:
path: /etc/ethers
line: "{{ item.mac }} {{ item.ip }}"
mode: 0644
loop: "{{ list }}"
become: yes