--- # The directory is deleted ahead of creation to ensure that no old configs # remain after runnign ansible - name: Delete networkd config directory become: true file: path: /etc/systemd/network state: absent - name: Create the networkd config directory become: true file: path: /etc/systemd/network state: directory - name: Make .network files become: true template: src: network.j2 dest: "/etc/systemd/network/{{ item.key }}.network" with_dict: "{{ networking }}" - name: Configure systemd services become: true block: - name: Disable network scripts and NetworkManager service: name: "{{ item }}" enabled: false with_items: - network - NetworkManager - NetworkManager-wait-online - name: Enable systemd-networkd and systemd-resolved service: name: "{{ item }}" enabled: true state: started with_items: - systemd-networkd - systemd-resolved - systemd-networkd-wait-online - name: Symlink so systemd-resolved uses /etc/resolv.conf file: dest: /etc/resolv.conf src: /run/systemd/resolve/resolv.conf state: link force: true setype: net_conf_t - name: Symlink so /etc/resolv.conf uses systemd file: dest: /etc/systemd/system/multi-user.target.wants/systemd-resolved.service src: /usr/lib/systemd/system/systemd-resolved.service state: link force: true