From 9ddfcbb2b5a14e863f5d0e672c387977841b667b Mon Sep 17 00:00:00 2001 From: Aritra Basu Date: Fri, 6 Mar 2026 04:28:03 -0500 Subject: [PATCH] hook: align restart flow with default_hook.sh - remove "daemon-reload" from generic restartService() to avoid reloads on every network restart - keep "daemon-reload" only for NetworkManager DNS fix and undo fix via reloadAndRestartService() Signed-off-by: Aritra Basu --- vpp-manager/hooks/network_manager_hook.go | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/vpp-manager/hooks/network_manager_hook.go b/vpp-manager/hooks/network_manager_hook.go index bf8ab531..e160f369 100644 --- a/vpp-manager/hooks/network_manager_hook.go +++ b/vpp-manager/hooks/network_manager_hook.go @@ -148,19 +148,24 @@ func (h *NetworkManagerHook) detectSystem() { // restartService restarts a systemd service func (h *NetworkManagerHook) restartService(serviceName string) error { - cmd := h.chrootCommand("systemctl", "daemon-reload") + cmd := h.chrootCommand("systemctl", "restart", serviceName) err := cmd.Run() if err != nil { - return errors.Wrapf(err, "failed to run daemon-reload") + return errors.Wrapf(err, "failed to restart %s", serviceName) } - cmd = h.chrootCommand("systemctl", "restart", serviceName) - err = cmd.Run() + return nil +} + +// reloadAndRestartService runs daemon-reload then restarts a systemd service +func (h *NetworkManagerHook) reloadAndRestartService(serviceName string) error { + cmd := h.chrootCommand("systemctl", "daemon-reload") + err := cmd.Run() if err != nil { - return errors.Wrapf(err, "failed to restart %s", serviceName) + return errors.Wrapf(err, "failed to run daemon-reload") } - return nil + return h.restartService(serviceName) } // restartSystemdNetworkd restarts systemd-udev-trigger before restarting systemd-networkd. @@ -237,7 +242,7 @@ func (h *NetworkManagerHook) fixDNS() error { } // Restart NetworkManager - return h.restartService("NetworkManager") + return h.reloadAndRestartService("NetworkManager") } // undoDNSFix removes the dns=none configuration from NetworkManager @@ -267,7 +272,7 @@ func (h *NetworkManagerHook) undoDNSFix() error { } // Restart NetworkManager - return h.restartService("NetworkManager") + return h.reloadAndRestartService("NetworkManager") } // restartNetwork restarts the appropriate network service @@ -495,7 +500,7 @@ func (h *NetworkManagerHook) tweakNetworkFile(interfaceName string) error { } // Restart systemd-networkd - return h.restartSystemdNetworkd() + return h.reloadAndRestartService("systemd-networkd") } // removeTweakedNetworkFile removes the tweaked network configuration for a specific interface