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>
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: