From: afreen23 Date: Fri, 18 Jul 2025 01:04:34 +0000 (+0530) Subject: Merge pull request #64363 from Hezko/nvmeof-cli-aviv-feedback X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=0a1fd1e62332eb7695014330a5182187123f0502;p=ceph.git Merge pull request #64363 from Hezko/nvmeof-cli-aviv-feedback mgr/dashboard: nvmeof cli feedback fixes Reviewed-by: Afreen Misbah Reviewed-by: Ernesto Puerta --- 0a1fd1e62332eb7695014330a5182187123f0502 diff --cc src/pybind/mgr/dashboard/controllers/nvmeof.py index 64d53c761b754,22847d672a35c..7285b118783bd --- a/src/pybind/mgr/dashboard/controllers/nvmeof.py +++ b/src/pybind/mgr/dashboard/controllers/nvmeof.py @@@ -470,52 -489,10 +489,53 @@@ else ) ) + @NvmeofCLICommand("nvmeof ns add", model.NamespaceCreation) + @convert_to_model(model.NamespaceCreation) + @handle_nvmeof_error + def create_cli( + self, + nqn: str, + rbd_image_name: str, + rbd_pool: str = "rbd", + create_image: Optional[bool] = False, + size: Optional[str] = None, + rbd_image_size: Optional[str] = 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, + ): + size_b = rbd_image_size_b = None + if size: + size_b = convert_to_bytes(size, default_unit='MB') + if rbd_image_size: + rbd_image_size_b = convert_to_bytes(rbd_image_size, default_unit='MB') + return NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.namespace_add( + NVMeoFClient.pb2.namespace_add_req( + subsystem_nqn=nqn, + rbd_image_name=rbd_image_name, + rbd_pool_name=rbd_pool, + block_size=block_size, + create_image=create_image, + size=rbd_image_size_b or size_b, + 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 + ) + ) + @ReadPermission @Endpoint('PUT', '{nsid}/set_qos') - @NvmeofCLICommand("nvmeof ns set_qos", model=model.RequestStatus) + @NvmeofCLICommand( + "nvmeof namespace set_qos", model=model.RequestStatus, alias="nvmeof ns set_qos") @EndpointDoc( "set QOS for specified NVMeoF namespace", parameters={ @@@ -626,31 -608,11 +651,33 @@@ ) ) + @NvmeofCLICommand("nvmeof ns resize", model=model.RequestStatus) + @convert_to_model(model.RequestStatus) + @handle_nvmeof_error + def resize_cli( + self, + nqn: str, + nsid: str, + rbd_image_size: str, + gw_group: Optional[str] = None, + traddr: Optional[str] = None + ): + if rbd_image_size: + rbd_image_size_b = convert_to_bytes(rbd_image_size, default_unit='MB') + mib = 1024 * 1024 + rbd_image_size_mb = rbd_image_size_b // mib + + return NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.namespace_resize( + NVMeoFClient.pb2.namespace_resize_req( + subsystem_nqn=nqn, nsid=int(nsid), new_size=rbd_image_size_mb + ) + ) + @ReadPermission @Endpoint('PUT', '{nsid}/add_host') - @NvmeofCLICommand("nvmeof ns add_host", model=model.RequestStatus) + @NvmeofCLICommand( + "nvmeof namespace add_host", model=model.RequestStatus, alias="nvmeof ns add_host" + ) @EndpointDoc( "Adds a host to the specified NVMeoF namespace", parameters={