--- - name: Make sure directory exists file: dest: '/etc/systemd/network' state: directory owner: root group: root mode: 0755 - name: Register existing network configuration find: paths: '/etc/systemd/network' register: networkd_existing - name: Configure network copy: dest: '/etc/systemd/network/' src: '{{ item }}' owner: root group: root mode: 0644 with_fileglob: 'network/*' register: networkd_created - name: Delete unneeded network configuration file: path: '{{ item }}' state: absent with_items: "{{ networkd_existing.files|map(attribute='path')|list }}" when: "item not in networkd_created.results|map(attribute='dest')" - name: Create systemd-networkd-wait-online drop-in directory file: dest: '/etc/systemd/system/systemd-networkd-wait-online.service.d' state: directory owner: root group: root mode: 0755 - name: Don't wait for lan and mgt interfaces to come online copy: dest: '/etc/systemd/system/systemd-networkd-wait-online.service.d/no-lan-mgt.conf' src: networkd-no-lan-mgt.conf owner: root group: root mode: 0644 - name: Enable systemd-networkd systemd: name: systemd-networkd.service enabled: yes masked: no state: started when: not chroot - name: '- when in chroot' command: systemctl enable systemd-networkd.service args: creates: '/etc/systemd/system/multi-user.target.wants/systemd-networkd.service' when: chroot # vim: set ts=2 sw=2 et: