From 7b71919a44ebd21cf60edbe5dbc9d4cc152d6f1a Mon Sep 17 00:00:00 2001 From: Tomer Haskalovitch Date: Sun, 28 Sep 2025 13:40:45 +0300 Subject: [PATCH] mgr/dashboard: fix the separation between CLI and API only commands Signed-off-by: Tomer Haskalovitch --- .../mgr/dashboard/controllers/nvmeof.py | 51 ++++++++++++++++--- 1 file changed, 44 insertions(+), 7 deletions(-) diff --git a/src/pybind/mgr/dashboard/controllers/nvmeof.py b/src/pybind/mgr/dashboard/controllers/nvmeof.py index 06537c18946..7a759401dae 100644 --- a/src/pybind/mgr/dashboard/controllers/nvmeof.py +++ b/src/pybind/mgr/dashboard/controllers/nvmeof.py @@ -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( -- 2.39.5