From e8cdba85c48dcbbd42e6fcb5be3aa2912008cb84 Mon Sep 17 00:00:00 2001 From: Emil Renner Berthing Date: Tue, 7 Nov 2017 16:27:49 +0100 Subject: initial commit --- roles/space_server/tasks/networkd.yml | 48 +++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 roles/space_server/tasks/networkd.yml (limited to 'roles/space_server/tasks/networkd.yml') diff --git a/roles/space_server/tasks/networkd.yml b/roles/space_server/tasks/networkd.yml new file mode 100644 index 0000000..ef97844 --- /dev/null +++ b/roles/space_server/tasks/networkd.yml @@ -0,0 +1,48 @@ +--- +- name: Make sure directory exists + file: + dest: '/etc/systemd/network' + state: directory +- name: Get current network config + shell: 'ls -1 /etc/systemd/network/' + check_mode: no + register: network_files_all +- name: Configure network + copy: + src: '{{ item }}' + dest: '/etc/systemd/network/' + with_fileglob: + - 'networkd/network/*' + register: network_files + notify: + - restart networkd +- name: Clean up old files + file: + path: '/etc/systemd/network/{{ item }}' + state: absent + with_items: '{{ network_files_all.stdout_lines }}' + when: "item not in network_files.results|map(attribute='path')|map('basename')" + notify: + - restart networkd + +# Unfortunately a drop-in file doesn't seem to work, +# so overwrite the whole service file :/ +- name: Don't wait for lan and mgt interfaces to come online + copy: + src: networkd/systemd-networkd-wait-online.service + dest: '/etc/systemd/system/systemd-networkd-wait-online.service' + +- name: Enable systemd-networkd + systemd: + name: systemd-networkd.service + enabled: yes + masked: no + state: started + when: "'container' not in ansible_env" +- name: '- when in nspawn' + command: systemctl enable systemd-networkd.service + args: + creates: '/etc/systemd/system/multi-user.target.wants/systemd-networkd.service' + when: "'container' in ansible_env" + +# vim: set ts=2 sw=2 et: -- cgit v1.2.1