From: Kushal Deb Date: Thu, 9 Apr 2026 16:54:15 +0000 (+0530) Subject: mgr/cephadm: fix nvmeof reconfig loop by preserving daemon deps X-Git-Tag: v21.0.1~167^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F68292%2Fhead;p=ceph.git mgr/cephadm: fix nvmeof reconfig loop by preserving daemon deps nvmeof daemons entered a repeated reconfig/restart loop when auth/TLS was enabled. Generic ServiceSpec logic sets certificate_source to cephadm-signed when TLS is enabled, so cephadm reconcile computes certificate-related deps for the daemon. However, NvmeofService.prepare_create() reset daemon_spec.deps to an empty list, causing _create_daemon() to persist [] back into cache. On the next reconcile cycle, cephadm again observed current deps differing from cached last_deps and reconfigured the daemon repeatedly. Fix this by preserving the correct nvmeof daemon dependencies during prepare_create() so reconcile can converge. Signed-off-by: Kushal Deb --- diff --git a/src/pybind/mgr/cephadm/services/nvmeof.py b/src/pybind/mgr/cephadm/services/nvmeof.py index b811d0118f7..aed10f64501 100644 --- a/src/pybind/mgr/cephadm/services/nvmeof.py +++ b/src/pybind/mgr/cephadm/services/nvmeof.py @@ -173,7 +173,7 @@ class NvmeofService(CephService): daemon_spec.extra_files['encryption_key'] = spec.encryption_key daemon_spec.final_config, _ = self.generate_config(daemon_spec) - daemon_spec.deps = [] + daemon_spec.deps = self.get_dependencies(self.mgr, spec, daemon_spec.daemon_type) return daemon_spec def daemon_check_post(self, daemon_descrs: List[DaemonDescription]) -> None: