From cd4656fbaf9f47d649ff0b8bd6550a98e7a074cd Mon Sep 17 00:00:00 2001 From: Markus Hauschild Date: Tue, 6 Feb 2018 13:56:22 +0100 Subject: [PATCH] mesh-interfaces: fix networking.service to finally unfuck systemd start ordering --- roles/mesh-interfaces/files/networking.service | 17 +++++++++++++++++ roles/mesh-interfaces/handlers/main.yml | 3 +++ roles/mesh-interfaces/tasks/main.yml | 6 ++++++ 3 files changed, 26 insertions(+) create mode 100644 roles/mesh-interfaces/files/networking.service diff --git a/roles/mesh-interfaces/files/networking.service b/roles/mesh-interfaces/files/networking.service new file mode 100644 index 0000000..59a4760 --- /dev/null +++ b/roles/mesh-interfaces/files/networking.service @@ -0,0 +1,17 @@ +[Unit] +Description=ifupdown2 networking initialization +Documentation=man:interfaces(5) man:ifup(8) man:ifdown(8) +Wants=network.target + +[Service] +Type=oneshot +RemainAfterExit=yes +SyslogIdentifier=networking +TimeoutStopSec=30s +ExecStart=/usr/share/ifupdown2/sbin/start-networking start +ExecStop=/usr/share/ifupdown2/sbin/start-networking stop +ExecReload=/usr/share/ifupdown2/sbin/start-networking reload + +[Install] +WantedBy=basic.target network.target multi-user.target +WantedBy=network-online.target diff --git a/roles/mesh-interfaces/handlers/main.yml b/roles/mesh-interfaces/handlers/main.yml index bd10989..c0ee4dc 100644 --- a/roles/mesh-interfaces/handlers/main.yml +++ b/roles/mesh-interfaces/handlers/main.yml @@ -2,3 +2,6 @@ - name: Reload interfaces command: /sbin/ifreload -a + +- name: Reload systemd + command: systemctl daemon-reload diff --git a/roles/mesh-interfaces/tasks/main.yml b/roles/mesh-interfaces/tasks/main.yml index 72eb925..56de5fa 100644 --- a/roles/mesh-interfaces/tasks/main.yml +++ b/roles/mesh-interfaces/tasks/main.yml @@ -9,6 +9,12 @@ - name: Uninstall ifupdown apt: name=ifupdown state=absent +# this is required for nginx, dhcpd and other to start correctly +# see https://github.com/CumulusNetworks/ifupdown2/issues/30#issuecomment-360589850 +- name: Install fixed networking.service file + copy: src=networking.service dest=/lib/systemd/system/networking.service + notify: Reload systemd + - name: Configure mesh interfaces template: src=mesh.conf.j2 dest=/etc/network/interfaces.d/mesh.conf notify: Reload interfaces