Я пытаюсь настроить linux docker хост с ansible. как уже известно, docker создает сетевые интерфейсы. у моей машины также есть два сетевых интерфейса для работы в разных сетях. фрагмент playbook выглядит так:
- 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
это просто для того, чтобы понять, что я пытаюсь сделать.
список_интерфейсов может выглядеть так "['ens224', 'ens192']"
, но сети определяются вручную, а не с DHCP, поэтому мне нужен список в правильном порядке. "['ens192', 'ens224']"
Как я могу заказать interfaces_list на первом или даже на другом шаге?