]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/orchestrator: require "group" field for nvmeof specs
authorAdam King <adking@redhat.com>
Thu, 25 Jul 2024 17:35:35 +0000 (13:35 -0400)
committerAdam King <adking@redhat.com>
Tue, 13 Aug 2024 15:52:47 +0000 (11:52 -0400)
Signed-off-by: Adam King <adking@redhat.com>
src/pybind/mgr/orchestrator/module.py
src/python-common/ceph/deployment/service_spec.py

index 484c2f39e9cf85d67b22f2f41bd2e3d7751926e6..2bddefabe9ab9af85800e76b93a265f748f66657 100644 (file)
@@ -1831,6 +1831,7 @@ Usage:
     @_cli_write_command('orch apply nvmeof')
     def _apply_nvmeof(self,
                       pool: str,
+                      group: str,
                       placement: Optional[str] = None,
                       unmanaged: bool = False,
                       dry_run: bool = False,
@@ -1842,8 +1843,9 @@ Usage:
             raise OrchestratorValidationError('unrecognized command -i; -h or --help for usage')
 
         spec = NvmeofServiceSpec(
-            service_id=pool,
+            service_id=f'{pool}.{group}',
             pool=pool,
+            group=group,
             placement=PlacementSpec.from_string(placement),
             unmanaged=unmanaged,
             preview_only=dry_run
index a69b3a25dcd3e84a80222b4c64944b54238bdecb..274ada81d93e4c5fe17fcd431c9369c805d78f34 100644 (file)
@@ -1381,7 +1381,7 @@ class NvmeofServiceSpec(ServiceSpec):
         #: ``name`` name of the nvmeof gateway
         self.name = name
         #: ``group`` name of the nvmeof gateway
-        self.group = group or ''
+        self.group = group
         #: ``enable_auth`` enables user authentication on nvmeof gateway
         self.enable_auth = enable_auth
         #: ``state_update_notify`` enables automatic update from OMAP in nvmeof gateway
@@ -1473,6 +1473,9 @@ class NvmeofServiceSpec(ServiceSpec):
         if not self.pool:
             raise SpecValidationError('Cannot add NVMEOF: No Pool specified')
 
+        if not self.group:
+            raise SpecValidationError('Cannot add NVMEOF: No group specified')
+
         if self.enable_auth:
             if not all([self.server_key, self.server_cert, self.client_key,
                         self.client_cert, self.root_ca_cert]):