--- # Optional dummy network interface used for multi-homed Perforce licensing. # Controlled by the dummy_interface variable. - name: "Set up the dummy interface" when: dummy_interface block: - name: "Add the dummy module file for reboots" ansible.builtin.copy: content: "dummy" dest: "/etc/modules-load.d/dummy.conf" owner: "root" group: "root" mode: '0644' when: ansible_facts["os_family"] == "RedHat" - name: "Add the dummy module" community.general.modprobe: name: "dummy" state: "present" when: ansible_facts["os_family"] == "RedHat" - name: "Set up dummy interface for perforce license (RedHat)" ansible.builtin.copy: src: "./ifcfg-dummy0" dest: "/etc/sysconfig/network-scripts/ifcfg-dummy0" owner: "root" group: "root" mode: '0644' when: ansible_facts["os_family"] == "RedHat" - name: "Check the dummy interface admin state (RedHat)" ansible.builtin.command: "ip link show dummy0" register: dummy0_link changed_when: false failed_when: false when: ansible_facts["os_family"] == "RedHat" - name: "Start the dummy interface (RedHat)" ansible.builtin.command: "ifup dummy0" # 'UP' appears in the interface flags (<...,UP,LOWER_UP>) only when it is # already administratively up, so only bring it up when it is not. when: - ansible_facts["os_family"] == "RedHat" - "'UP' not in (dummy0_link.stdout | default(''))" changed_when: true - name: "Set up dummy netdev for perforce license (Debian)" ansible.builtin.copy: src: "./10-dummy0.netdev" dest: "/etc/systemd/network/10-dummy0.netdev" owner: "root" group: "root" mode: '0644' when: ansible_facts["os_family"] == "Debian" - name: "Set up dummy network for perforce license (Debian)" ansible.builtin.copy: src: "./20-dummy0.network" dest: "/etc/systemd/network/20-dummy0.network" owner: "root" group: "root" mode: '0644' when: ansible_facts["os_family"] == "Debian" - name: "Restart systemd-networkd" ansible.builtin.systemd: name: "{{ item }}" state: restarted loop: - systemd-networkd - systemd-resolved when: ansible_facts["os_family"] == "Debian" - name: "Pause to give DNS a chance to recover" ansible.builtin.pause: seconds: 15