from ..model import nvmeof as model
from ..security import Scope
from ..services.nvmeof_cli import NvmeofCLICommand, convert_to_bytes, \
- escape_address_if_ipv6, format_host_updates
+ escape_address_if_ipv6, format_host_updates, \
+ resolve_nvmeof_server_address
from ..services.nvmeof_client import get_gateway_locations
from ..services.orchestrator import OrchClient
from ..tools import str_to_bool
@NvmeofCLICommand(
"nvmeof gateway info", model.GatewayInfo, alias="nvmeof gw info"
)
- @EndpointDoc("Get information about the NVMeoF gateway")
+ @EndpointDoc(
+ "Get information about the NVMeoF gateway",
+ parameters={
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
+ "server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
+ }
+ )
@convert_to_model(model.GatewayInfo)
@handle_nvmeof_error
- def list(self, gw_group: Optional[str] = None, server_address: Optional[str] = None):
+ def list(self, gw_group: Optional[str] = None, server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
@NvmeofCLICommand(
"nvmeof gateway version", model.GatewayVersion, alias="nvmeof gw version"
)
- @EndpointDoc("Get the version of the NVMeoF gateway")
+ @EndpointDoc(
+ "Get the version of the NVMeoF gateway",
+ parameters={
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
+ "server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
+ }
+ )
@convert_to_model(model.GatewayVersion)
@handle_nvmeof_error
- def version(self, gw_group: Optional[str] = None, server_address: Optional[str] = None):
+ def version(self, gw_group: Optional[str] = None, server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
gw_info = NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"nvmeof gateway get_log_level", model.GatewayLogLevelInfo,
alias="nvmeof gw get_log_level"
)
- @EndpointDoc("Get NVMeoF gateway log level information")
+ @EndpointDoc(
+ "Get NVMeoF gateway log level information",
+ parameters={
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
+ "server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
+ }
+ )
@convert_to_model(model.GatewayLogLevelInfo)
@handle_nvmeof_error
def get_log_level(self, gw_group: Optional[str] = None,
- server_address: Optional[str] = None):
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
gw_log_level = NVMeoFClient(
gw_group=gw_group,
server_address=server_address
@NvmeofCLICommand(
"nvmeof gateway set_log_level", model.RequestStatus, alias="nvmeof gw set_log_level",
success_message_template="Set gateway log level to {log_level}: Successful")
- @EndpointDoc("Set NVMeoF gateway log levels")
+ @EndpointDoc(
+ "Set NVMeoF gateway log levels",
+ parameters={
+ "log_level": Param(str, "Log level"),
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
+ "server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
+ }
+ )
@convert_to_model(model.RequestStatus)
@handle_nvmeof_error
def set_log_level(self, log_level: str, gw_group: Optional[str] = None,
- server_address: Optional[str] = None):
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
log_level = log_level.strip().lower()
gw_log_level = NVMeoFClient(gw_group=gw_group,
server_address=server_address).stub.set_gateway_log_level(
@Endpoint('GET', '/stats')
@NvmeofCLICommand(
"nvmeof gateway get_stats", model.GatewayStatsInfo, alias="nvmeof gw get_stats")
- @EndpointDoc("Get NVMeoF statistics for the gateway")
+ @EndpointDoc(
+ "Get NVMeoF statistics for the gateway",
+ parameters={
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
+ "server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
+ }
+ )
@convert_to_model(model.GatewayStatsInfo)
@handle_nvmeof_error
def get_gw_stats(self, gw_group: Optional[str] = None,
- server_address: Optional[str] = None):
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
gw_stats = NVMeoFClient(
gw_group=gw_group,
server_address=server_address
@NvmeofCLICommand(
"nvmeof gateway listener_info", model.GatewayListenersInfo,
alias="nvmeof gw listener_info")
- @EndpointDoc("Get NVMeoF gateway's listeners info")
+ @EndpointDoc(
+ "Get NVMeoF gateway's listeners info",
+ parameters={
+ "nqn": Param(str, "NVMeoF subsystem NQN"),
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
+ "server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
+ }
+ )
@convert_to_model(model.GatewayListenersInfo)
@handle_nvmeof_error
def listener_info(self, nqn: str, gw_group: Optional[str] = None,
- server_address: Optional[str] = None):
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
gw_listener_info = NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"enabled": Param(bool, "Enable IO statistics collection"),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
@handle_nvmeof_error
def set_io_stats_mode(self, enabled: bool, gw_group: Optional[str] = None,
- server_address: Optional[str] = None):
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
io_stats = NVMeoFClient(gw_group=gw_group,
server_address=server_address).stub.set_gateway_io_stats_mode(
NVMeoFClient.pb2.set_gateway_io_stats_mode_req(enabled=enabled)
@ReadPermission
@Endpoint('GET', '/log_level')
@NvmeofCLICommand("nvmeof spdk_log_level get", model.SpdkNvmfLogFlagsAndLevelInfo)
- @EndpointDoc("Get NVMeoF gateway spdk log levels")
+ @EndpointDoc(
+ "Get NVMeoF gateway spdk log levels",
+ parameters={
+ "all_log_flags": Param(bool, "Get all log flags", True, None),
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
+ "server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
+ }
+ )
@convert_to_model(model.SpdkNvmfLogFlagsAndLevelInfo)
@handle_nvmeof_error
def get_spdk_log_level(
self, all_log_flags: Optional[bool] = None,
- gw_group: Optional[str] = None, server_address: Optional[str] = None
+ gw_group: Optional[str] = None, server_address: Optional[str] = None,
+ traddr: Optional[str] = None
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
spdk_log_level = NVMeoFClient(
gw_group=gw_group,
server_address=server_address
model.RequestStatus,
success_message_template="Set SPDK log levels and nvmf log flags: Successful"
)
- @EndpointDoc("Set NVMeoF gateway spdk log levels")
+ @EndpointDoc(
+ "Set NVMeoF gateway spdk log levels",
+ parameters={
+ "log_level": Param(str, "SPDK log level", True, None),
+ "print_level": Param(str, "SPDK print level", True, None),
+ "extra_log_flags": Param([str], "Extra log flags", True, None),
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
+ "server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
+ }
+ )
@convert_to_model(model.RequestStatus)
@handle_nvmeof_error
def set_spdk_log_level(self, log_level: Optional[str] = None,
print_level: Optional[str] = None,
extra_log_flags: Optional[List[str]] = None,
gw_group: Optional[str] = None,
- server_address: Optional[str] = None):
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
log_level = log_level.strip().upper() if log_level else None
print_level = print_level.strip().upper() if print_level else None
spdk_log_level = NVMeoFClient(
@Endpoint('PUT', '/log_level/disable')
@NvmeofCLICommand("nvmeof spdk_log_level disable", model.RequestStatus,
success_message_template="Disable SPDK log flags: Successful")
- @EndpointDoc("Disable NVMeoF gateway spdk log")
+ @EndpointDoc(
+ "Disable NVMeoF gateway spdk log",
+ parameters={
+ "extra_log_flags": Param([str], "Extra log flags", True, None),
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
+ "server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
+ }
+ )
@convert_to_model(model.RequestStatus)
@handle_nvmeof_error
def disable_spdk_log_level(
self, extra_log_flags: Optional[List[str]] = None,
gw_group: Optional[str] = None,
- server_address: Optional[str] = None
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
spdk_log_level = NVMeoFClient(
gw_group=gw_group,
server_address=server_address
class NVMeoFSubsystem(RESTController):
@pick(field="subsystems")
@NvmeofCLICommand("nvmeof subsystem list", model.SubsystemList)
- @EndpointDoc("List all NVMeoF subsystems")
+ @EndpointDoc(
+ "List all NVMeoF subsystems",
+ parameters={
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
+ "server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
+ }
+ )
@convert_to_model(model.SubsystemList)
@handle_nvmeof_error
- def list(self, gw_group: Optional[str] = None, server_address: Optional[str] = None):
+ def list(self, gw_group: Optional[str] = None, server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"nqn": Param(str, "NVMeoF subsystem NQN"),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.SubsystemList)
@handle_nvmeof_error
def get(self, nqn: str, gw_group: Optional[str] = None,
- server_address: Optional[str] = None):
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"secure_listeners": Param(bool,
"Make all the auto-listeners for this subsystem secure",
True, False),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.SubsystemStatus)
serial_number: Optional[str] = None, dhchap_key: Optional[str] = None,
gw_group: Optional[str] = None, server_address: Optional[str] = None,
network_mask: Optional[List[str]] = None,
- port: Optional[int] = None, secure_listeners: Optional[bool] = False):
+ port: Optional[int] = None, secure_listeners: Optional[bool] = False,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"force": Param(bool, "Force delete", True, False),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
@handle_nvmeof_error
def delete(self, nqn: str, force: Optional[str] = "false", gw_group: Optional[str] = None,
- server_address: Optional[str] = None):
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"dhchap_key": Param(str, "Subsystem DH-HMAC-CHAP key"),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@empty_response
@convert_to_model(model.RequestStatus)
@handle_nvmeof_error
def change_key(self, nqn: str, dhchap_key: str, gw_group: Optional[str] = None,
- server_address: Optional[str] = None):
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"nqn": Param(str, "NVMeoF subsystem NQN"),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@empty_response
@convert_to_model(model.RequestStatus)
@handle_nvmeof_error
def del_key(self, nqn: str, gw_group: Optional[str] = None,
- server_address: Optional[str] = None):
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"network_mask": Param(str, "Network mask to add"),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
@handle_nvmeof_error
def add_network(self, nqn: str, network_mask: str, gw_group: Optional[str] = None,
- server_address: Optional[str] = None):
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"network_mask": Param(str, "Network mask to remove"),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
@handle_nvmeof_error
def del_network(self, nqn: str, network_mask: str, gw_group: Optional[str] = None,
- server_address: Optional[str] = None):
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"port": Param(int, "KMIP server endpoint port", True, 5696),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
def add_kmip_server_endpoint(self, nqn: str, server_name: str,
address: Optional[str] = None,
port: Optional[int] = 5696, gw_group: Optional[str] = None,
- server_address: Optional[str] = None):
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
ep = NVMeoFClient.pb2.kmip_server_endpoint(address=address, port=port)
return NVMeoFClient(
gw_group=gw_group,
"port": Param(int, "KMIP server endpoint port", True, 5696),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
def del_kmip_server_endpoint(self, nqn: str, server_name: str,
address: Optional[str] = None,
port: Optional[int] = 5696, gw_group: Optional[str] = None,
- server_address: Optional[str] = None):
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
ep = NVMeoFClient.pb2.kmip_server_endpoint(address=address, port=port)
return NVMeoFClient(
gw_group=gw_group,
True, None),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.SubsystemListKMIPEndpoints)
@handle_nvmeof_error
def list_eps(self, nqn: Optional[str] = None, server_name: Optional[str] = None,
- gw_group: Optional[str] = None, server_address: Optional[str] = None):
+ gw_group: Optional[str] = None, server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
)
@NvmeofCLICommand("nvmeof get_subsystems", model.GetSubsystems)
+ @EndpointDoc(
+ "Get NVMeoF subsystems",
+ parameters={
+ "gw_group": Param(str, "NVMeoF gateway group", True, None),
+ "server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
+ }
+ )
@convert_to_model(model.GetSubsystems)
@handle_nvmeof_error
def get_subsystems(
self,
gw_group: Optional[str] = None,
- server_address: Optional[str] = None
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"nqn": Param(str, "NVMeoF subsystem NQN"),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.ListenerList)
@handle_nvmeof_error
def list(self, nqn: str, gw_group: Optional[str] = None,
- server_address: Optional[str] = None):
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"nsid": Param(str, "NVMeoF Namespace ID to filter by", True, None),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.NamespaceList)
@handle_nvmeof_error
def list(self, nqn: Optional[str] = None, nsid: Optional[str] = None,
- gw_group: Optional[str] = None, server_address: Optional[str] = None):
+ gw_group: Optional[str] = None, server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"nsid": Param(str, "NVMeoF Namespace ID"),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.NamespaceList)
@handle_nvmeof_error
def get(self, nqn: str, nsid: str, gw_group: Optional[str] = None,
- server_address: Optional[str] = None):
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"nsid": Param(str, "NVMeoF Namespace ID"),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.NamespaceIOStats)
@handle_nvmeof_error
def io_stats(self, nqn: str, nsid: str, gw_group: Optional[str] = None,
- server_address: Optional[str] = None):
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
True, None),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.NamespaceCreation)
location: Optional[str] = None,
gw_group: Optional[str] = None,
server_address: Optional[str] = None,
+ traddr: Optional[str] = None,
rados_namespace: Optional[str] = None,
encryption_format: Optional[List[str]] = None,
encryption_algorithm: Optional[str] = None,
key_id: Optional[List[str]] = None,
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
encryption_format = encryption_format or []
key_id = key_id or []
if len(encryption_format) != len(key_id):
True, None),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "Target gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.NamespaceCreation)
location: Optional[str] = None,
gw_group: Optional[str] = None,
server_address: Optional[str] = None,
+ traddr: Optional[str] = None,
rados_namespace: Optional[str] = None,
encryption_format: Optional[List[str]] = None,
encryption_algorithm: Optional[str] = None,
key_id: Optional[List[str]] = None,
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
if size and rbd_image_size:
raise DashboardException(
msg="Can use size or rbd_image_size but not both",
),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
w_mbytes_per_second: Optional[int] = None,
force: Optional[bool] = False,
gw_group: Optional[str] = None,
- server_address: Optional[str] = None
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"load_balancing_group": Param(int, "Load balancing group", True, None),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
nsid: str,
load_balancing_group: Optional[int] = None,
gw_group: Optional[str] = None,
- server_address: Optional[str] = None
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"rbd_image_size": Param(int, "RBD image size"),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
nsid: str,
rbd_image_size: int,
gw_group: Optional[str] = None,
- server_address: Optional[str] = None
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
mib = 1024 * 1024
new_size_mib = int((rbd_image_size + mib - 1) / mib)
"rbd_image_size": Param(str, "RBD image size"),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
nsid: str,
rbd_image_size: str,
gw_group: Optional[str] = None,
- server_address: Optional[str] = None
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
if rbd_image_size:
rbd_image_size_b = convert_to_bytes(rbd_image_size, default_unit='MB')
mib = 1024 * 1024
),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
host_nqn: str,
force: Optional[bool] = None,
gw_group: Optional[str] = None,
- server_address: Optional[str] = None
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"host_nqn": Param(str, 'NVMeoF host NQN. Use "*" to allow any host.'),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
nsid: str,
host_nqn: str,
gw_group: Optional[str] = None,
- server_address: Optional[str] = None
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"force": Param(bool, 'True if visible to all hosts', True, False),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
auto_visible: str,
force: Optional[bool] = False,
gw_group: Optional[str] = None,
- server_address: Optional[str] = None
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
nsid: str,
auto_resize_enabled: bool,
gw_group: Optional[str] = None,
- server_address: Optional[str] = None
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"rbd_trash_image_on_delete": Param(bool, 'True if active'),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
nsid: str,
rbd_trash_image_on_delete: str,
gw_group: Optional[str] = None,
- server_address: Optional[str] = None
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address,
"nsid": Param(str, "NVMeoF Namespace ID"),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
nqn: str,
nsid: str,
gw_group: Optional[str] = None,
- server_address: Optional[str] = None
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"location": Param(str, "Namespace location"),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.NamespaceList)
location: Optional[str] = None,
gw_group: Optional[str] = None,
server_address: Optional[str] = None,
+ traddr: Optional[str] = None,
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
contains_failure = False
if rbd_image_size:
"force": Param(str, "Force remove the RBD image", True, False),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
force: Optional[str] = "false",
gw_group: Optional[str] = None,
server_address: Optional[str] = None,
+ traddr: Optional[str] = None,
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"nqn": Param(str, "NVMeoF subsystem NQN"),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.HostsInfo, finalize=_update_hosts)
@handle_nvmeof_error
def list(
self, nqn: str,
- gw_group: Optional[str] = None, server_address: Optional[str] = None
+ gw_group: Optional[str] = None, server_address: Optional[str] = None,
+ traddr: Optional[str] = None
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"host_nqn": Param(str, 'NVMeoF host NQN. Use "*" to allow any host.'),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
self, nqn: str, host_nqn: str, dhchap_key: Optional[str] = None,
dhchap_controller_key: Optional[str] = None,
psk: Optional[str] = None, gw_group: Optional[str] = None,
- server_address: Optional[str] = None
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"host_nqn": Param(str, 'NVMeoF host NQN. Use "*" to disallow any host.'),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
@handle_nvmeof_error
def delete(self, nqn: str, host_nqn: str, gw_group: Optional[str] = None,
- server_address: Optional[str] = None):
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"dhchap_key": Param(str, 'Host DH-HMAC-CHAP key'),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
@handle_nvmeof_error
def change_key(
self, nqn: str, host_nqn: str, dhchap_key: str,
- gw_group: Optional[str] = None, server_address: Optional[str] = None
+ gw_group: Optional[str] = None, server_address: Optional[str] = None,
+ traddr: Optional[str] = None
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"dhchap_controller_key": Param(str, 'Host DH-HMAC-CHAP controller key'),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
@handle_nvmeof_error
def change_controller_key(
self, nqn: str, host_nqn: str, dhchap_controller_key: str,
- gw_group: Optional[str] = None, server_address: Optional[str] = None
+ gw_group: Optional[str] = None, server_address: Optional[str] = None,
+ traddr: Optional[str] = None
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"host_nqn": Param(str, 'NVMeoF host NQN.'),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
@handle_nvmeof_error
def del_key(
self, nqn: str, host_nqn: str, gw_group: Optional[str] = None,
- server_address: Optional[str] = None
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"host_nqn": Param(str, 'NVMeoF host NQN.'),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.RequestStatus)
@handle_nvmeof_error
def del_controller_key(
self, nqn: str, host_nqn: str, gw_group: Optional[str] = None,
- server_address: Optional[str] = None
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"nqn": Param(str, "NVMeoF subsystem NQN"),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.ConnectionList, finalize=_update_connections)
@handle_nvmeof_error
def list(self, nqn: Optional[str] = None,
- gw_group: Optional[str] = None, server_address: Optional[str] = None):
+ gw_group: Optional[str] = None, server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
if not nqn:
nqn = '*'
return NVMeoFClient(
"host_nqn": Param(str, "NVMeoF host NQN"),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.ConnectionIOStatistics)
nqn: str,
host_nqn: str,
gw_group: Optional[str] = None,
- server_address: Optional[str] = None
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
"host_nqn": Param(str, "NVMeoF host NQN"),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
},
)
@convert_to_model(model.ConnectionIOStatistics)
nqn: str,
host_nqn: str,
gw_group: Optional[str] = None,
- server_address: Optional[str] = None
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None
):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
return NVMeoFClient(
gw_group=gw_group,
server_address=server_address
'subsystem_nqn': (str, 'Subsystem NQN'),
"allow_all": Param(bool, 'Allow all hosts. Default is True.'),
"hosts": Param(List, 'List containg host nqn and dhchap key'),
- "gw_group": Param(str, "NVMeoF gateway group")
+ "gw_group": Param(str, "NVMeoF gateway group"),
+ "server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
})
@empty_response
@handle_nvmeof_error
gw_group: str,
hosts: Optional[list[dict]] = None,
allow_all: bool = True,
- server_address: Optional[str] = None):
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
response = None
if allow_all:
parameters={
"subsystem_nqn": Param(str, "NVMeoF subsystem NQN"),
"host_nqn": Param(str, 'Comma separated list of NVMeoF host NQN.'),
- "gw_group": Param(str, "NVMeoF gateway group")
+ "gw_group": Param(str, "NVMeoF gateway group"),
+ "server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
})
@empty_response
@handle_nvmeof_error
def remove(self, subsystem_nqn: str,
host_nqn: str,
gw_group: str,
- server_address: Optional[str] = None):
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
response = None
to_delete_nqns = host_nqn.split(',')
),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
})
@empty_response
@handle_nvmeof_error
gw_group: str,
host_nqn: str = "",
force: Optional[bool] = None,
- server_address: Optional[str] = None):
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
response = None
all_host_nqns = host_nqn.split(',')
force = str_to_bool(force) if force else None
"host_nqn": Param(str, 'Comma separated list of NVMeoF host NQN.'),
"gw_group": Param(str, "NVMeoF gateway group", True, None),
"server_address": Param(str, "NVMeoF gateway address", True, None),
+ "traddr": Param(str, "NVMeoF gateway address (deprecated)", True, None),
})
@empty_response
@handle_nvmeof_error
subsystem_nqn: str,
host_nqn: str,
gw_group: str,
- server_address: Optional[str] = None):
+ server_address: Optional[str] = None,
+ traddr: Optional[str] = None):
+ server_address = resolve_nvmeof_server_address(
+ server_address=server_address,
+ traddr=traddr
+ )
response = None
to_delete_nqns = host_nqn.split(',')