]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mgr/dashboard: fix the separation between CLI and API only commands
authorTomer Haskalovitch <tomer.haska@ibm.com>
Sun, 28 Sep 2025 10:40:45 +0000 (13:40 +0300)
committerHezko <tomer.haska@gmail.com>
Sun, 5 Oct 2025 07:39:42 +0000 (10:39 +0300)
Signed-off-by: Tomer Haskalovitch <tomer.haska@ibm.com>
(cherry picked from commit 7b71919a44ebd21cf60edbe5dbc9d4cc152d6f1a)

src/pybind/mgr/dashboard/controllers/nvmeof.py

index 06537c189467ba7b20ee4f7091faa87b7400057f..7a759401dae74945a25491a23e7e72a2f5c8f547 100644 (file)
@@ -431,9 +431,6 @@ else:
                     subsystem_nqn=nqn, nsid=int(nsid))
             )
 
-        @NvmeofCLICommand(
-            "nvmeof namespace add", model.NamespaceCreation, alias="nvmeof ns add"
-        )
         @EndpointDoc(
             "Create a new NVMeoF namespace",
             parameters={
@@ -463,6 +460,48 @@ else:
         @convert_to_model(model.NamespaceCreation)
         @handle_nvmeof_error
         def create(
+            self,
+            nqn: str,
+            rbd_image_name: str,
+            rbd_pool: str = "rbd",
+            nsid: Optional[str] = None,
+            create_image: Optional[bool] = False,
+            size: Optional[int] = None,
+            rbd_image_size: Optional[int] = None,
+            trash_image: Optional[bool] = False,
+            block_size: int = 512,
+            load_balancing_group: Optional[int] = None,
+            force: Optional[bool] = False,
+            no_auto_visible: Optional[bool] = False,
+            disable_auto_resize: Optional[bool] = False,
+            read_only: Optional[bool] = False,
+            gw_group: Optional[str] = None,
+            traddr: Optional[str] = None,
+        ):
+            return NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.namespace_add(
+                NVMeoFClient.pb2.namespace_add_req(
+                    subsystem_nqn=nqn,
+                    nsid=int(nsid) if nsid else None,
+                    rbd_image_name=rbd_image_name,
+                    rbd_pool_name=rbd_pool,
+                    block_size=block_size,
+                    create_image=create_image,
+                    size=rbd_image_size or size,
+                    trash_image=trash_image,
+                    anagrpid=load_balancing_group,
+                    force=force,
+                    no_auto_visible=no_auto_visible,
+                    disable_auto_resize=disable_auto_resize,
+                    read_only=read_only
+                )
+            )
+
+        @NvmeofCLICommand(
+            "nvmeof namespace add", model.NamespaceCreation, alias="nvmeof ns add"
+        )
+        @convert_to_model(model.NamespaceCreation)
+        @handle_nvmeof_error
+        def create_cli(
             self,
             nqn: str,
             rbd_image_name: str,
@@ -591,9 +630,6 @@ else:
 
         @ReadPermission
         @Endpoint('PUT', '{nsid}/resize')
-        @NvmeofCLICommand(
-            "nvmeof namespace resize", model=model.RequestStatus, alias="nvmeof ns resize"
-        )
         @EndpointDoc(
             "resize the specified NVMeoF namespace",
             parameters={
@@ -623,7 +659,8 @@ else:
                 )
             )
 
-        @NvmeofCLICommand("nvmeof ns resize", model=model.RequestStatus)
+        @NvmeofCLICommand("nvmeof namespace resize", model=model.RequestStatus,
+                          alias="nvmeof ns resize")
         @convert_to_model(model.RequestStatus)
         @handle_nvmeof_error
         def resize_cli(