来自ansible网络接口的订单列表
我正在尝试使用ansible设置linux docker主机。 众所周知,docker创建网络接口。 我的机器还有两个网络接口,用于与不同的网络进行联网。 剧本片段如下所示:来自ansible网络接口的订单列表,ansible,jinja2,ansible-facts,netplan,Ansible,Jinja2,Ansible Facts,Netplan,我正在尝试使用ansible设置linux docker主机。 众所周知,docker创建网络接口。 我的机器还有两个网络接口,用于与不同的网络进行联网。 剧本片段如下所示: - name: Dump grep matching interfaces from ansible_interfaces set_fact: interfaces_list: "{{ ansible_interfaces | select('match', '^(ens)[
- name: Dump grep matching interfaces from ansible_interfaces
set_fact:
interfaces_list: "{{ ansible_interfaces | select('match', '^(ens)[0-9]+') | list
}}"
- name: Push 50-net.yaml
template:
src: netplan.j2
dest: "/etc/netplan/50-net.yaml"
owner: root
group: root
mode: u=rw,g=r,o=r
netplan.j2模板如下所示
network:
ethernets:
{{ interfaces_list[0] }}:
addresses: [{{ prod_net_ip }}/24]
gateway4: <gateway-ip>
nameservers:
addresses: [<dns-server-ip>]
dhcp4: no
{{ interfaces_list[1] }}:
addresses: [{{ storage_net_ip }}/24]
dhcp4: no
version: 2
网络:
以太网络:
{{接口列表[0]}:
地址:[{{prod_net_ip}}/24]
网关4:
名称服务器:
地址:[]
dhcp4:没有
{{interfaces_list[1]}}
地址:[{{storage\u net\u ip}}/24]
dhcp4:没有
版本:2
这只是为了了解我在做什么
接口列表可以如下所示“['ens224','ens192']” 但是网络是手动定义的,而不是使用dhcp,因此我需要按正确的顺序排列列表。
“['ens192','ens224']” 我如何在第一步甚至另一步中对接口列表进行排序 如何在第一步或甚至在第二步中对接口列表进行排序 还有一步吗 列表可以使用set_事实步骤本身上的jinja2过滤器进行排序,如下所示
-设置事实:
接口列表:{{ansible|U接口{select('match','^(ens)[0-9]+')|排序|列表}”
调试给出
ok: [localhost] =>
interfaces_list:
- ens192
- ens224