Skip to content

Commit a6bbfa2

Browse files
Tomer HaskalovitchTomer Haskalovitch
authored andcommitted
mgr/dashboard: add traddr param to nvmeof cli/api endpoints
Signed-off-by: Tomer Haskalovitch <[email protected]>
1 parent edbce5f commit a6bbfa2

File tree

2 files changed

+147
-42
lines changed

2 files changed

+147
-42
lines changed

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

Lines changed: 58 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ class NVMeoFGateway(RESTController):
3535
@NvmeofCLICommand("nvmeof gw info")
3636
@convert_to_model(model.GatewayInfo)
3737
@handle_nvmeof_error
38-
def list(self, gw_group: Optional[str] = None):
39-
return NVMeoFClient(gw_group=gw_group).stub.get_gateway_info(
38+
def list(self, gw_group: Optional[str] = None, traddr: Optional[str] = None):
39+
return NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.get_gateway_info(
4040
NVMeoFClient.pb2.get_gateway_info_req()
4141
)
4242

@@ -58,8 +58,8 @@ def group(self):
5858
@NvmeofCLICommand("nvmeof gw version")
5959
@convert_to_model(model.GatewayVersion)
6060
@handle_nvmeof_error
61-
def version(self, gw_group: Optional[str] = None):
62-
gw_info = NVMeoFClient(gw_group=gw_group).stub.get_gateway_info(
61+
def version(self, gw_group: Optional[str] = None, traddr: Optional[str] = None):
62+
gw_info = NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.get_gateway_info(
6363
NVMeoFClient.pb2.get_gateway_info_req()
6464
)
6565
return NVMeoFClient.pb2.gw_version(status=gw_info.status,
@@ -71,8 +71,9 @@ def version(self, gw_group: Optional[str] = None):
7171
@NvmeofCLICommand("nvmeof gw get_log_level")
7272
@convert_to_model(model.GatewayLogLevelInfo)
7373
@handle_nvmeof_error
74-
def get_log_level(self, gw_group: Optional[str] = None):
75-
gw_log_level = NVMeoFClient(gw_group=gw_group).stub.get_gateway_log_level(
74+
def get_log_level(self, gw_group: Optional[str] = None, traddr: Optional[str] = None):
75+
gw_log_level = NVMeoFClient(gw_group=gw_group,
76+
traddr=traddr).stub.get_gateway_log_level(
7677
NVMeoFClient.pb2.get_gateway_log_level_req()
7778
)
7879
return gw_log_level
@@ -82,9 +83,11 @@ def get_log_level(self, gw_group: Optional[str] = None):
8283
@NvmeofCLICommand("nvmeof gw set_log_level")
8384
@convert_to_model(model.RequestStatus)
8485
@handle_nvmeof_error
85-
def set_log_level(self, log_level: str, gw_group: Optional[str] = None):
86+
def set_log_level(self, log_level: str, gw_group: Optional[str] = None,
87+
traddr: Optional[str] = None):
8688
log_level = log_level.lower()
87-
gw_log_level = NVMeoFClient(gw_group=gw_group).stub.set_gateway_log_level(
89+
gw_log_level = NVMeoFClient(gw_group=gw_group,
90+
traddr=traddr).stub.set_gateway_log_level(
8891
NVMeoFClient.pb2.set_gateway_log_level_req(log_level=log_level)
8992
)
9093
return gw_log_level
@@ -97,8 +100,9 @@ class NVMeoFSpdk(RESTController):
97100
@NvmeofCLICommand("nvmeof spdk_log_level get")
98101
@convert_to_model(model.SpdkNvmfLogFlagsAndLevelInfo)
99102
@handle_nvmeof_error
100-
def get_spdk_log_level(self, gw_group: Optional[str] = None):
101-
spdk_log_level = NVMeoFClient(gw_group=gw_group).stub.get_spdk_nvmf_log_flags_and_level(
103+
def get_spdk_log_level(self, gw_group: Optional[str] = None, traddr: Optional[str] = None):
104+
spdk_log_level = NVMeoFClient(gw_group=gw_group,
105+
traddr=traddr).stub.get_spdk_nvmf_log_flags_and_level(
102106
NVMeoFClient.pb2.get_spdk_nvmf_log_flags_and_level_req()
103107
)
104108
return spdk_log_level
@@ -109,10 +113,12 @@ def get_spdk_log_level(self, gw_group: Optional[str] = None):
109113
@convert_to_model(model.RequestStatus)
110114
@handle_nvmeof_error
111115
def set_spdk_log_level(self, log_level: Optional[str] = None,
112-
print_level: Optional[str] = None, gw_group: Optional[str] = None):
116+
print_level: Optional[str] = None,
117+
gw_group: Optional[str] = None, traddr: Optional[str] = None):
113118
log_level = log_level.upper() if log_level else None
114119
print_level = print_level.upper() if print_level else None
115-
spdk_log_level = NVMeoFClient(gw_group=gw_group).stub.set_gateway_log_level(
120+
spdk_log_level = NVMeoFClient(gw_group=gw_group,
121+
traddr=traddr).stub.set_gateway_log_level(
116122
NVMeoFClient.pb2.set_spdk_nvmf_logs_req(log_level=log_level,
117123
print_level=print_level)
118124
)
@@ -123,8 +129,10 @@ def set_spdk_log_level(self, log_level: Optional[str] = None,
123129
@NvmeofCLICommand("nvmeof spdk_log_level disable")
124130
@convert_to_model(model.RequestStatus)
125131
@handle_nvmeof_error
126-
def disable_spdk_log_level(self, gw_group: Optional[str] = None):
127-
spdk_log_level = NVMeoFClient(gw_group=gw_group).stub.disable_spdk_nvmf_logs(
132+
def disable_spdk_log_level(self, gw_group: Optional[str] = None,
133+
traddr: Optional[str] = None):
134+
spdk_log_level = NVMeoFClient(gw_group=gw_group,
135+
traddr=traddr).stub.disable_spdk_nvmf_logs(
128136
NVMeoFClient.pb2.disable_spdk_nvmf_logs_req()
129137
)
130138
return spdk_log_level
@@ -137,8 +145,8 @@ class NVMeoFSubsystem(RESTController):
137145
@NvmeofCLICommand("nvmeof subsystem list")
138146
@convert_to_model(model.SubsystemList)
139147
@handle_nvmeof_error
140-
def list(self, gw_group: Optional[str] = None):
141-
return NVMeoFClient(gw_group=gw_group).stub.list_subsystems(
148+
def list(self, gw_group: Optional[str] = None, traddr: Optional[str] = None):
149+
return NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.list_subsystems(
142150
NVMeoFClient.pb2.list_subsystems_req()
143151
)
144152

@@ -153,8 +161,8 @@ def list(self, gw_group: Optional[str] = None):
153161
@NvmeofCLICommand("nvmeof subsystem get")
154162
@convert_to_model(model.SubsystemList)
155163
@handle_nvmeof_error
156-
def get(self, nqn: str, gw_group: Optional[str] = None):
157-
return NVMeoFClient(gw_group=gw_group).stub.list_subsystems(
164+
def get(self, nqn: str, gw_group: Optional[str] = None, traddr: Optional[str] = None):
165+
return NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.list_subsystems(
158166
NVMeoFClient.pb2.list_subsystems_req(subsystem_nqn=nqn)
159167
)
160168

@@ -172,8 +180,8 @@ def get(self, nqn: str, gw_group: Optional[str] = None):
172180
@convert_to_model(model.RequestStatus)
173181
@handle_nvmeof_error
174182
def create(self, nqn: str, enable_ha: bool = True, max_namespaces: int = 1024,
175-
gw_group: Optional[str] = None):
176-
return NVMeoFClient(gw_group=gw_group).stub.create_subsystem(
183+
gw_group: Optional[str] = None, traddr: Optional[str] = None):
184+
return NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.create_subsystem(
177185
NVMeoFClient.pb2.create_subsystem_req(
178186
subsystem_nqn=nqn, max_namespaces=max_namespaces, enable_ha=enable_ha
179187
)
@@ -191,8 +199,9 @@ def create(self, nqn: str, enable_ha: bool = True, max_namespaces: int = 1024,
191199
@NvmeofCLICommand("nvmeof subsystem del")
192200
@convert_to_model(model.RequestStatus)
193201
@handle_nvmeof_error
194-
def delete(self, nqn: str, force: Optional[str] = "false", gw_group: Optional[str] = None):
195-
return NVMeoFClient(gw_group=gw_group).stub.delete_subsystem(
202+
def delete(self, nqn: str, force: Optional[str] = "false", gw_group: Optional[str] = None,
203+
traddr: Optional[str] = None):
204+
return NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.delete_subsystem(
196205
NVMeoFClient.pb2.delete_subsystem_req(
197206
subsystem_nqn=nqn, force=str_to_bool(force)
198207
)
@@ -212,8 +221,8 @@ class NVMeoFListener(RESTController):
212221
@NvmeofCLICommand("nvmeof listener list")
213222
@convert_to_model(model.ListenerList)
214223
@handle_nvmeof_error
215-
def list(self, nqn: str, gw_group: Optional[str] = None):
216-
return NVMeoFClient(gw_group=gw_group).stub.list_listeners(
224+
def list(self, nqn: str, gw_group: Optional[str] = None, traddr: Optional[str] = None):
225+
return NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.list_listeners(
217226
NVMeoFClient.pb2.list_listeners_req(subsystem=nqn)
218227
)
219228

@@ -301,8 +310,8 @@ class NVMeoFNamespace(RESTController):
301310
@NvmeofCLICommand("nvmeof ns list")
302311
@convert_to_model(model.NamespaceList)
303312
@handle_nvmeof_error
304-
def list(self, nqn: str, gw_group: Optional[str] = None):
305-
return NVMeoFClient(gw_group=gw_group).stub.list_namespaces(
313+
def list(self, nqn: str, gw_group: Optional[str] = None, traddr: Optional[str] = None):
314+
return NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.list_namespaces(
306315
NVMeoFClient.pb2.list_namespaces_req(subsystem=nqn)
307316
)
308317

@@ -318,8 +327,9 @@ def list(self, nqn: str, gw_group: Optional[str] = None):
318327
@NvmeofCLICommand("nvmeof ns get")
319328
@convert_to_model(model.NamespaceList)
320329
@handle_nvmeof_error
321-
def get(self, nqn: str, nsid: str, gw_group: Optional[str] = None):
322-
return NVMeoFClient(gw_group=gw_group).stub.list_namespaces(
330+
def get(self, nqn: str, nsid: str, gw_group: Optional[str] = None,
331+
traddr: Optional[str] = None):
332+
return NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.list_namespaces(
323333
NVMeoFClient.pb2.list_namespaces_req(subsystem=nqn, nsid=int(nsid))
324334
)
325335

@@ -336,8 +346,9 @@ def get(self, nqn: str, nsid: str, gw_group: Optional[str] = None):
336346
@NvmeofCLICommand("nvmeof ns get_io_stats")
337347
@convert_to_model(model.NamespaceIOStats)
338348
@handle_nvmeof_error
339-
def io_stats(self, nqn: str, nsid: str, gw_group: Optional[str] = None):
340-
return NVMeoFClient(gw_group=gw_group).stub.namespace_get_io_stats(
349+
def io_stats(self, nqn: str, nsid: str, gw_group: Optional[str] = None,
350+
traddr: Optional[str] = None):
351+
return NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.namespace_get_io_stats(
341352
NVMeoFClient.pb2.namespace_get_io_stats_req(
342353
subsystem_nqn=nqn, nsid=int(nsid))
343354
)
@@ -380,10 +391,11 @@ def create(
380391
block_size: int = 512,
381392
load_balancing_group: Optional[int] = None,
382393
gw_group: Optional[str] = None,
394+
traddr: Optional[str] = None,
383395
force: Optional[bool] = False,
384396
no_auto_visible: Optional[bool] = False
385397
):
386-
return NVMeoFClient(gw_group=gw_group).stub.namespace_add(
398+
return NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.namespace_add(
387399
NVMeoFClient.pb2.namespace_add_req(
388400
subsystem_nqn=nqn,
389401
rbd_image_name=rbd_image_name,
@@ -428,6 +440,7 @@ def update(
428440
r_mbytes_per_second: Optional[int] = None,
429441
w_mbytes_per_second: Optional[int] = None,
430442
gw_group: Optional[str] = None,
443+
traddr: Optional[str] = None,
431444
trash_image: Optional[bool] = None,
432445
):
433446
contains_failure = False
@@ -436,7 +449,7 @@ def update(
436449
mib = 1024 * 1024
437450
new_size_mib = int((rbd_image_size + mib - 1) / mib)
438451

439-
resp = NVMeoFClient(gw_group=gw_group).stub.namespace_resize(
452+
resp = NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.namespace_resize(
440453
NVMeoFClient.pb2.namespace_resize_req(
441454
subsystem_nqn=nqn, nsid=int(nsid), new_size=new_size_mib
442455
)
@@ -482,7 +495,7 @@ def update(
482495
if contains_failure:
483496
cherrypy.response.status = 202
484497

485-
response = NVMeoFClient(gw_group=gw_group).stub.list_namespaces(
498+
response = NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.list_namespaces(
486499
NVMeoFClient.pb2.list_namespaces_req(subsystem=nqn, nsid=int(nsid))
487500
)
488501
return response
@@ -505,9 +518,10 @@ def delete(
505518
nqn: str,
506519
nsid: str,
507520
gw_group: Optional[str] = None,
521+
traddr: Optional[str] = None,
508522
force: Optional[str] = "false"
509523
):
510-
return NVMeoFClient(gw_group=gw_group).stub.namespace_delete(
524+
return NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.namespace_delete(
511525
NVMeoFClient.pb2.namespace_delete_req(
512526
subsystem_nqn=nqn,
513527
nsid=int(nsid),
@@ -536,8 +550,8 @@ class NVMeoFHost(RESTController):
536550
else o,
537551
)
538552
@handle_nvmeof_error
539-
def list(self, nqn: str, gw_group: Optional[str] = None):
540-
return NVMeoFClient(gw_group=gw_group).stub.list_hosts(
553+
def list(self, nqn: str, gw_group: Optional[str] = None, traddr: Optional[str] = None):
554+
return NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.list_hosts(
541555
NVMeoFClient.pb2.list_hosts_req(subsystem=nqn)
542556
)
543557

@@ -553,8 +567,9 @@ def list(self, nqn: str, gw_group: Optional[str] = None):
553567
@NvmeofCLICommand("nvmeof host add")
554568
@convert_to_model(model.RequestStatus)
555569
@handle_nvmeof_error
556-
def create(self, nqn: str, host_nqn: str, gw_group: Optional[str] = None):
557-
return NVMeoFClient(gw_group=gw_group).stub.add_host(
570+
def create(self, nqn: str, host_nqn: str, gw_group: Optional[str] = None,
571+
traddr: Optional[str] = None):
572+
return NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.add_host(
558573
NVMeoFClient.pb2.add_host_req(subsystem_nqn=nqn, host_nqn=host_nqn)
559574
)
560575

@@ -570,8 +585,9 @@ def create(self, nqn: str, host_nqn: str, gw_group: Optional[str] = None):
570585
@NvmeofCLICommand("nvmeof host del")
571586
@convert_to_model(model.RequestStatus)
572587
@handle_nvmeof_error
573-
def delete(self, nqn: str, host_nqn: str, gw_group: Optional[str] = None):
574-
return NVMeoFClient(gw_group=gw_group).stub.remove_host(
588+
def delete(self, nqn: str, host_nqn: str, gw_group: Optional[str] = None,
589+
traddr: Optional[str] = None):
590+
return NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.remove_host(
575591
NVMeoFClient.pb2.remove_host_req(subsystem_nqn=nqn, host_nqn=host_nqn)
576592
)
577593

@@ -589,8 +605,8 @@ class NVMeoFConnection(RESTController):
589605
@NvmeofCLICommand("nvmeof connection list")
590606
@convert_to_model(model.ConnectionList)
591607
@handle_nvmeof_error
592-
def list(self, nqn: str, gw_group: Optional[str] = None):
593-
return NVMeoFClient(gw_group=gw_group).stub.list_connections(
608+
def list(self, nqn: str, gw_group: Optional[str] = None, traddr: Optional[str] = None):
609+
return NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.list_connections(
594610
NVMeoFClient.pb2.list_connections_req(subsystem=nqn)
595611
)
596612

0 commit comments

Comments
 (0)