--- - name: Install iproute2 become: true ansible.builtin.apt: name: iproute2 state: present update_cache: true - name: Create dummy interface become: true ansible.builtin.command: cmd: "ip link add {{ swarm_dummy_interface }} type dummy" register: dummy_create failed_when: - dummy_create.rc != 0 - "'File exists' not in dummy_create.stderr" changed_when: dummy_create.rc == 0 - name: Configure dummy interface address become: true ansible.builtin.command: cmd: >- ip address replace {{ swarm_dummy_address }} dev {{ swarm_dummy_interface }} - name: Enable dummy interface become: true ansible.builtin.command: cmd: "ip link set {{ swarm_dummy_interface }} up" - name: Configure persistent dummy interface become: true ansible.builtin.copy: dest: /etc/systemd/network/10-{{ swarm_dummy_interface }}.netdev mode: "0644" content: | [NetDev] Name={{ swarm_dummy_interface }} Kind=dummy - name: Configure persistent dummy address become: true ansible.builtin.copy: dest: /etc/systemd/network/10-{{ swarm_dummy_interface }}.network mode: "0644" content: | [Match] Name={{ swarm_dummy_interface }} [Network] Address={{ swarm_dummy_address }} notify: Restart systemd-networkd - name: Restart systemd-networkd become: true ansible.builtin.systemd: name: systemd-networkd state: restarted enabled: true