From f4be1ed291048cb60e1162844fe05618072aabbf Mon Sep 17 00:00:00 2001 From: Tobias Jungel <tobias.jungel@gmail.com> Date: Thu, 8 Apr 2021 00:07:02 +0200 Subject: [PATCH] fix(networkd): use networkctl to reload config changes --- systemd/defaults.yaml | 2 ++ systemd/networkd/profiles.sls | 14 +++++++++----- systemd/networkd/reload.sls | 9 +++++++++ systemd/osmap.yaml | 1 + 4 files changed, 21 insertions(+), 5 deletions(-) create mode 100644 systemd/networkd/reload.sls diff --git a/systemd/defaults.yaml b/systemd/defaults.yaml index 3febe6c..4a7e579 100644 --- a/systemd/defaults.yaml +++ b/systemd/defaults.yaml @@ -19,6 +19,8 @@ systemd: PollIntervalMaxSec: 2048 networkd: + # networkctl reload is available since systemd 244 + networkctl_reload: false pkg: {} path: /etc/systemd/network service: systemd-networkd diff --git a/systemd/networkd/profiles.sls b/systemd/networkd/profiles.sls index 478fba7..7c55911 100644 --- a/systemd/networkd/profiles.sls +++ b/systemd/networkd/profiles.sls @@ -5,8 +5,10 @@ {%- set networkd = systemd.get('networkd', {}) %} {%- set profiles = networkd.get('profiles', {}) %} +{%- if networkd.networkctl_reload %} include: - - systemd.reload + - systemd.networkd.reload +{%- endif %} {% if profiles is mapping %} {% for networkdprofile, types in profiles.items() %} @@ -23,8 +25,10 @@ include: - dir_mode: 755 - context: config: {{ profileconfig|json }} +{%- if networkd.networkctl_reload %} - watch_in: - - cmd: reload_systemd_configuration - {% endfor %} -{% endfor %} -{% endif %} + - cmd: systemd-networkd-reload-cmd-wait +{%- endif %} + {%- endfor %} +{%- endfor %} +{%- endif %} diff --git a/systemd/networkd/reload.sls b/systemd/networkd/reload.sls new file mode 100644 index 0000000..4ee5dd9 --- /dev/null +++ b/systemd/networkd/reload.sls @@ -0,0 +1,9 @@ +include: + - systemd.networkd + +systemd-networkd-reload-cmd-wait: + cmd.wait: + - name: networkctl reload + - runas: root + - require: + - service: networkd diff --git a/systemd/osmap.yaml b/systemd/osmap.yaml index 35f30c1..3269553 100644 --- a/systemd/osmap.yaml +++ b/systemd/osmap.yaml @@ -14,6 +14,7 @@ Fedora: pkgs_extra: - python3-systemd networkd: + networkctl_reload: true pkg: {} resolved: pkg: {} -- GitLab