From 07471eb05cd078a4a0e9784f9fa25b74fd3df63a Mon Sep 17 00:00:00 2001 From: Alexander Indenbaum Date: Sun, 19 May 2024 10:05:14 +0300 Subject: [PATCH] src/pybind/mgr/cephadm/services/nvmeof.py: restore pool/group config logic Resolves: rhbz#2281465 - restore logic removed by conflict resolution in 314f6929731c1fdd9c59b5da78b23fb559531556 - logging before assertion Signed-off-by: Alexander Indenbaum --- src/pybind/mgr/cephadm/services/nvmeof.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/pybind/mgr/cephadm/services/nvmeof.py b/src/pybind/mgr/cephadm/services/nvmeof.py index ac01bc7c4b5..c841ab0850d 100644 --- a/src/pybind/mgr/cephadm/services/nvmeof.py +++ b/src/pybind/mgr/cephadm/services/nvmeof.py @@ -19,10 +19,18 @@ class NvmeofService(CephService): def config(self, spec: NvmeofServiceSpec) -> None: # type: ignore assert self.TYPE == spec.service_type - assert spec.pool + if not spec.pool: + self.mgr.log.error(f"nvmeof config pool should be defined: {spec.pool}") + return False self.pool = spec.pool - assert spec.group is not None + if spec.group is None: + self.mgr.log.error(f"nvmeof config group should not be None: {spec.group}") + return False self.group = spec.group + # unlike some other config funcs, if this fails we can't + # go forward deploying the daemon and then retry later. For + # that reason we make no attempt to catch the OrchestratorError + # this may raise self.mgr._check_pool_exists(spec.pool, spec.service_name()) def prepare_create(self, daemon_spec: CephadmDaemonDeploySpec) -> CephadmDaemonDeploySpec: @@ -66,6 +74,8 @@ class NvmeofService(CephService): """ self.mgr.log.info(f"nvmeof daemon_check_post {daemon_descrs}") # Assert configured + if not self.pool or self.group is None: + self.mgr.log.error(f"nvmeof daemon_check_post: invalid pool {self.pool} or group {self.group}") assert self.pool assert self.group is not None for dd in daemon_descrs: -- 2.47.3