]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: migrate nvmeof pr #1277 to new cli
authorTomer Haskalovitch <il033030@Tomers-MBP.lan>
Wed, 25 Jun 2025 09:05:53 +0000 (12:05 +0300)
committerTomer Haskalovitch <tomer.haska@ibm.com>
Tue, 1 Jul 2025 09:44:11 +0000 (12:44 +0300)
Signed-off-by: Tomer Haskalovitch <tomer.haska@ibm.com>
src/pybind/mgr/dashboard/controllers/nvmeof.py
src/pybind/mgr/dashboard/model/nvmeof.py

index e7f2b9f42f8ed54c36bb4f2342e5ea98627ae72e..4ed4410125727c5c00f11cc23853898ad58d5949 100644 (file)
@@ -394,10 +394,11 @@ else:
             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,
             gw_group: Optional[str] = None,
             traddr: Optional[str] = None,
-            force: Optional[bool] = False,
-            no_auto_visible: Optional[bool] = False
         ):
             return NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.namespace_add(
                 NVMeoFClient.pb2.namespace_add_req(
@@ -410,7 +411,8 @@ else:
                     trash_image=trash_image,
                     anagrpid=load_balancing_group,
                     force=force,
-                    no_auto_visible=no_auto_visible
+                    no_auto_visible=no_auto_visible,
+                    disable_auto_resize=disable_auto_resize
                 )
             )
 
@@ -620,6 +622,41 @@ else:
                 )
             )
 
+        @ReadPermission
+        @Endpoint('PUT', '{nsid}/set_auto_resize')
+        @EndpointDoc(
+            "Enable or disable namespace auto resize when RBD image is resized",
+            parameters={
+                "nqn": Param(str, "NVMeoF subsystem NQN"),
+                "nsid": Param(str, "NVMeoF Namespace ID"),
+                "auto_resize_enabled": Param(
+                    bool,
+                    'Enable or disable auto resize of '
+                    'namespace when RBD image is resized'
+                ),
+                "gw_group": Param(str, "NVMeoF gateway group", True, None),
+                "traddr": Param(str, "NVMeoF gateway address", True, None),
+            },
+        )
+        @NvmeofCLICommand("nvmeof ns set_auto_resize", model=model.RequestStatus)
+        @convert_to_model(model.RequestStatus)
+        @handle_nvmeof_error
+        def set_auto_resize(
+            self,
+            nqn: str,
+            nsid: str,
+            auto_resize_enabled: bool,
+            gw_group: Optional[str] = None,
+            traddr: Optional[str] = None
+        ):
+            return NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.namespace_set_auto_resize(
+                NVMeoFClient.pb2.namespace_set_auto_resize_req(
+                    subsystem_nqn=nqn,
+                    nsid=int(nsid),
+                    auto_resize=str_to_bool(auto_resize_enabled),
+                )
+            )
+
         @ReadPermission
         @Endpoint('PUT', '{nsid}/set_rbd_trash_image')
         @EndpointDoc(
index dc4c8e2115d263d140bc17c7d01ea1202fcb0925..bbb0fda6f6d7f1b58a5f25e55614f11263a0fab2 100644 (file)
@@ -127,6 +127,7 @@ class Namespace(NamedTuple):
     uuid: Optional[str]
     ns_subsystem_nqn: Optional[str]
     trash_image: Optional[bool]
+    disable_auto_resize: Optional[bool]
 
 
 class NamespaceList(NamedTuple):