diff --git a/roles/systemd-networkd/files/10-dhcp.network b/roles/systemd-networkd-resolved/files/all-eth.network similarity index 75% rename from roles/systemd-networkd/files/10-dhcp.network rename to roles/systemd-networkd-resolved/files/all-eth.network index aec1849..f2578d1 100644 --- a/roles/systemd-networkd/files/10-dhcp.network +++ b/roles/systemd-networkd-resolved/files/all-eth.network @@ -1,5 +1,5 @@ [Match] -Name=en* +Name=e* [Network] DHCP=yes diff --git a/roles/systemd-networkd-resolved/handlers/main.yml b/roles/systemd-networkd-resolved/handlers/main.yml new file mode 100644 index 0000000..6084965 --- /dev/null +++ b/roles/systemd-networkd-resolved/handlers/main.yml @@ -0,0 +1,14 @@ +- name: restart and enable systemd-networkd + systemd: + name: systemd-networkd + enabled: yes + state: restarted + daemon_reload: yes + listen: "start and enable systemd-networkd" + +- name: start and enable systemd-resolved + systemd: + name: systemd-resolved + enabled: yes + state: started + listen: "start and enable systemd-resolved" diff --git a/roles/systemd-networkd-resolved/tasks/main.yml b/roles/systemd-networkd-resolved/tasks/main.yml new file mode 100644 index 0000000..3033c67 --- /dev/null +++ b/roles/systemd-networkd-resolved/tasks/main.yml @@ -0,0 +1,25 @@ +- name: move /etc/network/interfaces away + command: + cmd: mv /etc/network/interfaces /etc/network/interfaces_orig + creates: /etc/network/interfaces_orig + +- name: switch to systemd-networkd + copy: + src: all-eth.network + dest: /etc/systemd/network/all-eth.network + notify: "start and enable systemd-networkd" + +#- name: install static configuration for networkd +# template: +# src: 20-static.network.j2 +# dest: /etc/systemd/network/20-static.network +# notify: "enable systemd-networkd" + +- name: enable local stub resolver + file: + src: /run/systemd/resolve/stub-resolv.conf + dest: /etc/resolv.conf + state: link + follow: False + force: yes + notify: "start and enable systemd-resolved" diff --git a/roles/systemd-networkd/templates/20-static.network.j2 b/roles/systemd-networkd-resolved/templates/20-static.network.j2 similarity index 100% rename from roles/systemd-networkd/templates/20-static.network.j2 rename to roles/systemd-networkd-resolved/templates/20-static.network.j2 diff --git a/roles/systemd-networkd/handlers/main.yml b/roles/systemd-networkd/handlers/main.yml deleted file mode 100644 index eaf56fa..0000000 --- a/roles/systemd-networkd/handlers/main.yml +++ /dev/null @@ -1,15 +0,0 @@ -- name: enable systemd-networkd - systemd: - name: systemd-networkd - enabled: yes - state: restarted - daemon_reload: yes - listen: "start and enable systemd-networkd" - -- name: use systemd-resolved - file: - src: /run/systemd/resolve/stub-resolv.conf - dest: /etc/resolv.conf - state: link - force: Yes - listen: "use systemd-resolved" diff --git a/roles/systemd-networkd/tasks/main.yml b/roles/systemd-networkd/tasks/main.yml deleted file mode 100644 index f863fa0..0000000 --- a/roles/systemd-networkd/tasks/main.yml +++ /dev/null @@ -1,28 +0,0 @@ -- name: check if /etc/network/interfaces is still there - stat: path=/etc/network/interfaces - register: interfaces - -- name: move /etc/network/interfaces away - command: mv /etc/network/interfaces /etc/network/interfaces_disabled - when: interfaces.stat.exists - -- name: install dynamic configuration for networkd - copy: - src: 10-dhcp.network - dest: /etc/systemd/network/10-dhcp.network - notify: "start and enable systemd-networkd" - -#- name: install static configuration for networkd -# template: -# src: 20-static.network.j2 -# dest: /etc/systemd/network/20-static.network -# notify: "enable systemd-networkd" - -- name: enable systemd-resolved - systemd: - name: systemd-resolved - enabled: yes - state: started - notify: "use systemd-resolved" - -- meta: flush_handlers