@EndpointDoc(
"Get information from a specific NVMeoF subsystem",
- parameters={"nqn": Param(str, "NVMeoF subsystem NQN")},
+ parameters={
+ "nqn": Param(str, "NVMeoF subsystem NQN"),
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
+ },
)
@map_model(model.Subsystem, first="subsystems")
@handle_nvmeof_error
"nqn": Param(str, "NVMeoF subsystem NQN"),
"max_namespaces": Param(int, "Maximum number of namespaces", True, 1024),
"enable_ha": Param(bool, "Enable high availability"),
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
},
)
@empty_response
parameters={
"nqn": Param(str, "NVMeoF subsystem NQN"),
"force": Param(bool, "Force delete", "false"),
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
},
)
@empty_response
class NVMeoFListener(RESTController):
@EndpointDoc(
"List all NVMeoF listeners",
- parameters={"nqn": Param(str, "NVMeoF subsystem NQN")},
+ parameters={
+ "nqn": Param(str, "NVMeoF subsystem NQN"),
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
+ },
)
@map_collection(model.Listener, pick="listeners")
@handle_nvmeof_error
- def list(self, nqn: str):
- return NVMeoFClient().stub.list_listeners(
+ def list(self, nqn: str, gw_group: Optional[str] = None):
+ return NVMeoFClient(gw_group=gw_group).stub.list_listeners(
NVMeoFClient.pb2.list_listeners_req(subsystem=nqn)
)
"traddr": Param(str, "NVMeoF transport address"),
"trsvcid": Param(int, "NVMeoF transport service port", True, 4420),
"adrfam": Param(int, "NVMeoF address family (0 - IPv4, 1 - IPv6)", True, 0),
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
},
)
@empty_response
host_name: str,
traddr: str,
trsvcid: int = 4420,
- adrfam: int = 0, # IPv4
+ adrfam: int = 0, # IPv4,
+ gw_group: Optional[str] = None
):
- return NVMeoFClient(traddr=traddr).stub.create_listener(
+ return NVMeoFClient(gw_group=gw_group, traddr=traddr).stub.create_listener(
NVMeoFClient.pb2.create_listener_req(
nqn=nqn,
host_name=host_name,
"traddr": Param(str, "NVMeoF transport address"),
"trsvcid": Param(int, "NVMeoF transport service port", True, 4420),
"adrfam": Param(int, "NVMeoF address family (0 - IPv4, 1 - IPv6)", True, 0),
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
},
)
@empty_response
trsvcid: int = 4420,
adrfam: int = 0, # IPv4
force: bool = False,
+ gw_group: Optional[str] = None
):
- return NVMeoFClient().stub.delete_listener(
+ return NVMeoFClient(gw_group=gw_group).stub.delete_listener(
NVMeoFClient.pb2.delete_listener_req(
nqn=nqn,
host_name=host_name,
class NVMeoFNamespace(RESTController):
@EndpointDoc(
"List all NVMeoF namespaces in a subsystem",
- parameters={"nqn": Param(str, "NVMeoF subsystem NQN")},
+ parameters={
+ "nqn": Param(str, "NVMeoF subsystem NQN"),
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
+ },
)
@map_collection(model.Namespace, pick="namespaces")
@handle_nvmeof_error
- def list(self, nqn: str):
- return NVMeoFClient().stub.list_namespaces(
+ def list(self, nqn: str, gw_group: Optional[str] = None):
+ return NVMeoFClient(gw_group=gw_group).stub.list_namespaces(
NVMeoFClient.pb2.list_namespaces_req(subsystem=nqn)
)
parameters={
"nqn": Param(str, "NVMeoF subsystem NQN"),
"nsid": Param(str, "NVMeoF Namespace ID"),
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
},
)
@map_model(model.Namespace, first="namespaces")
@handle_nvmeof_error
- def get(self, nqn: str, nsid: str):
- return NVMeoFClient().stub.list_namespaces(
+ def get(self, nqn: str, nsid: str, gw_group: Optional[str] = None):
+ return NVMeoFClient(gw_group=gw_group).stub.list_namespaces(
NVMeoFClient.pb2.list_namespaces_req(subsystem=nqn, nsid=int(nsid))
)
parameters={
"nqn": Param(str, "NVMeoF subsystem NQN"),
"nsid": Param(str, "NVMeoF Namespace ID"),
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
},
)
@map_model(model.NamespaceIOStats)
@handle_nvmeof_error
- def io_stats(self, nqn: str, nsid: str):
- return NVMeoFClient().stub.namespace_get_io_stats(
+ def io_stats(self, nqn: str, nsid: str, gw_group: Optional[str] = None):
+ return NVMeoFClient(gw_group=gw_group).stub.namespace_get_io_stats(
NVMeoFClient.pb2.namespace_get_io_stats_req(
subsystem_nqn=nqn, nsid=int(nsid))
)
"size": Param(int, "RBD image size"),
"block_size": Param(int, "NVMeoF namespace block size"),
"load_balancing_group": Param(int, "Load balancing group"),
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
},
)
@map_model(model.NamespaceCreation)
size: Optional[int] = 1024,
block_size: int = 512,
load_balancing_group: Optional[int] = None,
+ gw_group: Optional[str] = None,
):
- return NVMeoFClient().stub.namespace_add(
+ return NVMeoFClient(gw_group=gw_group).stub.namespace_add(
NVMeoFClient.pb2.namespace_add_req(
subsystem_nqn=nqn,
rbd_image_name=rbd_image_name,
"rw_mbytes_per_second": Param(int, "Read/Write MB/s"),
"r_mbytes_per_second": Param(int, "Read MB/s"),
"w_mbytes_per_second": Param(int, "Write MB/s"),
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
},
)
@empty_response
rw_mbytes_per_second: Optional[int] = None,
r_mbytes_per_second: Optional[int] = None,
w_mbytes_per_second: Optional[int] = None,
+ gw_group: Optional[str] = None
):
if rbd_image_size:
mib = 1024 * 1024
new_size_mib = int((rbd_image_size + mib - 1) / mib)
- response = NVMeoFClient().stub.namespace_resize(
+ response = NVMeoFClient(gw_group=gw_group).stub.namespace_resize(
NVMeoFClient.pb2.namespace_resize_req(
subsystem_nqn=nqn, nsid=int(nsid), new_size=new_size_mib
)
parameters={
"nqn": Param(str, "NVMeoF subsystem NQN"),
"nsid": Param(str, "NVMeoF Namespace ID"),
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
},
)
@empty_response
@handle_nvmeof_error
- def delete(self, nqn: str, nsid: str):
- return NVMeoFClient().stub.namespace_delete(
+ def delete(self, nqn: str, nsid: str, gw_group: Optional[str] = None):
+ return NVMeoFClient(gw_group=gw_group).stub.namespace_delete(
NVMeoFClient.pb2.namespace_delete_req(subsystem_nqn=nqn, nsid=int(nsid))
)
class NVMeoFHost(RESTController):
@EndpointDoc(
"List all allowed hosts for an NVMeoF subsystem",
- parameters={"nqn": Param(str, "NVMeoF subsystem NQN")},
+ parameters={
+ "nqn": Param(str, "NVMeoF subsystem NQN"),
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
+ },
)
@map_collection(
model.Host,
else o,
)
@handle_nvmeof_error
- def list(self, nqn: str):
- return NVMeoFClient().stub.list_hosts(
+ def list(self, nqn: str, gw_group: Optional[str] = None):
+ return NVMeoFClient(gw_group=gw_group).stub.list_hosts(
NVMeoFClient.pb2.list_hosts_req(subsystem=nqn)
)
parameters={
"nqn": Param(str, "NVMeoF subsystem NQN"),
"host_nqn": Param(str, 'NVMeoF host NQN. Use "*" to allow any host.'),
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
},
)
@empty_response
@handle_nvmeof_error
- def create(self, nqn: str, host_nqn: str):
- return NVMeoFClient().stub.add_host(
+ def create(self, nqn: str, host_nqn: str, gw_group: Optional[str] = None):
+ return NVMeoFClient(gw_group=gw_group).stub.add_host(
NVMeoFClient.pb2.add_host_req(subsystem_nqn=nqn, host_nqn=host_nqn)
)
parameters={
"nqn": Param(str, "NVMeoF subsystem NQN"),
"host_nqn": Param(str, 'NVMeoF host NQN. Use "*" to disallow any host.'),
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
},
)
@empty_response
@handle_nvmeof_error
- def delete(self, nqn: str, host_nqn: str):
- return NVMeoFClient().stub.remove_host(
+ def delete(self, nqn: str, host_nqn: str, gw_group: Optional[str] = None):
+ return NVMeoFClient(gw_group=gw_group).stub.remove_host(
NVMeoFClient.pb2.remove_host_req(subsystem_nqn=nqn, host_nqn=host_nqn)
)
class NVMeoFConnection(RESTController):
@EndpointDoc(
"List all NVMeoF Subsystem Connections",
- parameters={"nqn": Param(str, "NVMeoF subsystem NQN")},
+ parameters={
+ "nqn": Param(str, "NVMeoF subsystem NQN"),
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
+ },
)
@map_collection(model.Connection, pick="connections")
@handle_nvmeof_error
- def list(self, nqn: str):
- return NVMeoFClient().stub.list_connections(
+ def list(self, nqn: str, gw_group: Optional[str] = None):
+ return NVMeoFClient(gw_group=gw_group).stub.list_connections(
NVMeoFClient.pb2.list_connections_req(subsystem=nqn)
)