From 7da0c4929f5193287ec72c70d4d76220d43470d7 Mon Sep 17 00:00:00 2001 From: Shweta Bhosale Date: Fri, 24 Oct 2025 16:30:16 +0530 Subject: [PATCH] mgr/cephadm: For updating NFS backends in HAProxy, send a SIGHUP signal to reload the configuration instead of restart Fixes: https://tracker.ceph.com/issues/73633 Signed-off-by: Shweta Bhosale --- src/pybind/mgr/cephadm/serve.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/pybind/mgr/cephadm/serve.py b/src/pybind/mgr/cephadm/serve.py index 6da29b4ea30..02f42899b27 100644 --- a/src/pybind/mgr/cephadm/serve.py +++ b/src/pybind/mgr/cephadm/serve.py @@ -1163,6 +1163,17 @@ class CephadmServe: only_kmip_updated = all(s.startswith('kmip') for s in list(sym_diff)) if not only_kmip_updated: action = 'redeploy' + elif dd.daemon_type == 'haproxy': + if spec and hasattr(spec, 'backend_service'): + backend_spec = self.mgr.spec_store[spec.backend_service].spec + if backend_spec.service_type == 'nfs': + if all(s.startswith(f'nfs.{backend_spec.service_id}') for s in list(sym_diff)): + # this means only nfs daemons has changed and we don't need to + # restart haproxy during redeploy + self.log.debug(f'Reconfigure HAProxy daemon {dd.name()} with SIGHUP ' + 'due to change in NFS backend.') + skip_restart_for_reconfig = True + send_signal_to_daemon = 'SIGHUP' elif dd.daemon_type == 'haproxy': if spec and hasattr(spec, 'backend_service'): backend_spec = self.mgr.spec_store[spec.backend_service].spec -- 2.39.5