]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mgr/cephadm: make nvme-gw adds be able to handle multiple services/groups
authorAdam King <adking@redhat.com>
Wed, 31 Jul 2024 17:30:02 +0000 (13:30 -0400)
committerAdam King <adking@redhat.com>
Tue, 13 Aug 2024 15:54:45 +0000 (11:54 -0400)
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 <adking@redhat.com>
src/pybind/mgr/cephadm/services/nvmeof.py

index 2fb4502ef4f7ec8a1b84bdabe1c6b782c5ed9efb..5ba966231d2572ce1ddff5894f811e785dfbb364 100644 (file)
@@ -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',