aboutsummaryrefslogtreecommitdiffstats
path: root/roles/space_server/tasks/networkd.yml
diff options
context:
space:
mode:
authorEmil Renner Berthing <esmil@labitat.dk>2017-11-07 16:27:49 +0100
committerEmil Renner Berthing <esmil@labitat.dk>2017-11-12 14:56:32 +0100
commite8cdba85c48dcbbd42e6fcb5be3aa2912008cb84 (patch)
tree41ba5163cf6f110521f2ebc9035f77d2754796a0 /roles/space_server/tasks/networkd.yml
downloadlabitat-ansible-e8cdba85c48dcbbd42e6fcb5be3aa2912008cb84.tar.gz
labitat-ansible-e8cdba85c48dcbbd42e6fcb5be3aa2912008cb84.tar.xz
labitat-ansible-e8cdba85c48dcbbd42e6fcb5be3aa2912008cb84.zip
initial commit
Diffstat (limited to 'roles/space_server/tasks/networkd.yml')
-rw-r--r--roles/space_server/tasks/networkd.yml48
1 files changed, 48 insertions, 0 deletions
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: