From: Adam King Date: Wed, 31 Jul 2024 17:30:02 +0000 (-0400) Subject: mgr/cephadm: make nvme-gw adds be able to handle multiple services/groups X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=15098f372ee60eb10db5246622c522b75d8d4c79;p=ceph-ci.git mgr/cephadm: make nvme-gw adds be able to handle multiple services/groups Before this was grabbing the service spec for the first daemon description in the list. This meant every daemon would be added with the pool/group of whatever that spec happened to specify. This patch grabs the spec, and therefore also the pool/group individually for each nvmeof daemon Signed-off-by: Adam King (cherry picked from commit 2a6b105b8ae9cb63702d83461560e65b7fabd085) --- diff --git a/src/pybind/mgr/cephadm/services/nvmeof.py b/src/pybind/mgr/cephadm/services/nvmeof.py index 4e0fc42dcb8..bf6e6d13dbf 100644 --- a/src/pybind/mgr/cephadm/services/nvmeof.py +++ b/src/pybind/mgr/cephadm/services/nvmeof.py @@ -92,14 +92,14 @@ class NvmeofService(CephService): """ Overrides the daemon_check_post to add nvmeof gateways safely """ self.mgr.log.info(f"nvmeof daemon_check_post {daemon_descrs}") - spec = cast(NvmeofServiceSpec, - self.mgr.spec_store.all_specs.get(daemon_descrs[0].service_name(), None)) - if not spec: - self.mgr.log.error(f'Failed to find spec for {daemon_descrs[0].name()}') - return - pool = spec.pool - group = spec.group for dd in daemon_descrs: + spec = cast(NvmeofServiceSpec, + self.mgr.spec_store.all_specs.get(dd.service_name(), None)) + if not spec: + self.mgr.log.error(f'Failed to find spec for {dd.name()}') + return + pool = spec.pool + group = spec.group # Notify monitor about this gateway creation cmd = { 'prefix': 'nvme-gw create',