]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: fix nvmeof reconfig loop by preserving daemon deps 68292/head
authorKushal Deb <Kushal.Deb@ibm.com>
Thu, 9 Apr 2026 16:54:15 +0000 (22:24 +0530)
committerKushal Deb <Kushal.Deb@ibm.com>
Fri, 10 Apr 2026 10:56:45 +0000 (16:26 +0530)
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 <Kushal.Deb@ibm.com>
src/pybind/mgr/cephadm/services/nvmeof.py

index b811d0118f78a627e688b7f54a47fbde9cff1a30..aed10f64501289d82c417137133fb0fafc454479 100644 (file)
@@ -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: