From: Gil Bregman Date: Thu, 12 Mar 2026 14:23:49 +0000 (+0200) Subject: mgr/dashboard: Add secure and verify-host-name to "listener add" on NVMeoF CLI. X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6744a43d1bc4d021447323caee55b1ff6e0ae997;p=ceph.git mgr/dashboard: Add secure and verify-host-name to "listener add" on NVMeoF CLI. Also add missing "manual" field in "listener list". Fixes: https://tracker.ceph.com/issues/75447 Signed-off-by: Gil Bregman --- diff --git a/src/pybind/mgr/dashboard/controllers/nvmeof.py b/src/pybind/mgr/dashboard/controllers/nvmeof.py index cb079491290..b65f449aaf2 100644 --- a/src/pybind/mgr/dashboard/controllers/nvmeof.py +++ b/src/pybind/mgr/dashboard/controllers/nvmeof.py @@ -464,6 +464,11 @@ else: "adrfam": Param(int, "NVMeoF address family (0 - IPv4, 1 - IPv6)", True, 0), "gw_group": Param(str, "NVMeoF gateway group", True, None), "server_address": Param(str, "NVMeoF gateway address", True, None), + "secure": Param(bool, "Use a secure channel", True, False), + "verify_host_name": Param(bool, + "Fail if the host name doesn't match the " + "gateway's host name", + True, False), }, ) @convert_to_model(model.RequestStatus) @@ -476,7 +481,9 @@ else: trsvcid: int = 4420, adrfam: int = 0, # IPv4, gw_group: Optional[str] = None, - server_address: Optional[str] = None + server_address: Optional[str] = None, + secure: Optional[bool] = False, + verify_host_name: Optional[bool] = False, ): client = NVMeoFClient( gw_group=gw_group, @@ -489,6 +496,8 @@ else: traddr=traddr, trsvcid=int(trsvcid), adrfam=int(adrfam), + secure=str_to_bool(secure), + verify_host_name=str_to_bool(verify_host_name), ) ) diff --git a/src/pybind/mgr/dashboard/model/nvmeof.py b/src/pybind/mgr/dashboard/model/nvmeof.py index e085fab5a09..cc495b6bbc6 100644 --- a/src/pybind/mgr/dashboard/model/nvmeof.py +++ b/src/pybind/mgr/dashboard/model/nvmeof.py @@ -187,11 +187,12 @@ class NamespaceIOStats(NamedTuple): class Listener(NamedTuple): host_name: Annotated[str, CliHeader("Host")] trtype: Annotated[str, CliHeader("Transport")] - traddr: Annotated[str, CliHeader("Target Address")] + adrfam: Annotated[int, CliHeader("Address Family")] # 0: IPv4, 1: IPv6 + traddr: Annotated[str, CliHeader("Address")] + trsvcid: Annotated[int, CliHeader("Port")] secure: Optional[bool] active: Optional[bool] - adrfam: Annotated[int, CliHeader("Address Family")] = 0 # 0: IPv4, 1: IPv6 - trsvcid: Annotated[int, CliHeader("Target Port")] = 4420 + manual: Optional[bool] class ListenerList(NamedTuple): diff --git a/src/pybind/mgr/dashboard/openapi.yaml b/src/pybind/mgr/dashboard/openapi.yaml index 89aea4e4b4e..abcb4e51ef3 100644 --- a/src/pybind/mgr/dashboard/openapi.yaml +++ b/src/pybind/mgr/dashboard/openapi.yaml @@ -13702,6 +13702,10 @@ paths: host_name: description: NVMeoF hostname type: string + secure: + default: false + description: Use a secure channel + type: boolean server_address: description: NVMeoF gateway address type: string @@ -13712,6 +13716,11 @@ paths: default: 4420 description: NVMeoF transport service port type: integer + verify_host_name: + default: false + description: Fail if the host name doesn't match the gateway's host + name + type: boolean required: - host_name - traddr