2018-06-07 23:00:26 +00:00
|
|
|
def set_nvmf_target_options(client, args):
|
|
|
|
params = {}
|
|
|
|
|
|
|
|
if args.max_queue_depth:
|
|
|
|
params['max_queue_depth'] = args.max_queue_depth
|
|
|
|
if args.max_qpairs_per_session:
|
|
|
|
params['max_qpairs_per_session'] = args.max_qpairs_per_session
|
|
|
|
if args.in_capsule_data_size:
|
|
|
|
params['in_capsule_data_size'] = args.in_capsule_data_size
|
|
|
|
if args.max_io_size:
|
|
|
|
params['max_io_size'] = args.max_io_size
|
|
|
|
if args.max_subsystems:
|
|
|
|
params['max_subsystems'] = args.max_subsystems
|
|
|
|
if args.io_unit_size:
|
|
|
|
params['io_unit_size'] = args.io_unit_size
|
|
|
|
return client.call('set_nvmf_target_options', params)
|
|
|
|
|
|
|
|
|
|
|
|
def set_nvmf_target_config(client, args):
|
|
|
|
params = {}
|
|
|
|
|
|
|
|
if args.acceptor_poll_rate:
|
|
|
|
params['acceptor_poll_rate'] = args.acceptor_poll_rate
|
|
|
|
return client.call('set_nvmf_target_config', params)
|
|
|
|
|
|
|
|
|
2018-03-27 21:31:52 +00:00
|
|
|
def get_nvmf_subsystems(client, args):
|
|
|
|
return client.call('get_nvmf_subsystems')
|
2017-06-06 21:22:03 +00:00
|
|
|
|
|
|
|
|
2018-03-27 21:31:52 +00:00
|
|
|
def construct_nvmf_subsystem(client, args):
|
2017-06-06 21:22:03 +00:00
|
|
|
params = {
|
|
|
|
'nqn': args.nqn,
|
|
|
|
'serial_number': args.serial_number,
|
|
|
|
}
|
|
|
|
|
2018-03-27 04:58:48 +00:00
|
|
|
if args.max_namespaces:
|
|
|
|
params['max_namespaces'] = args.max_namespaces
|
|
|
|
|
2018-01-17 22:35:58 +00:00
|
|
|
if args.listen:
|
2018-02-09 08:42:12 +00:00
|
|
|
params['listen_addresses'] = [dict(u.split(":", 1) for u in a.split(" "))
|
2018-01-17 22:35:58 +00:00
|
|
|
for a in args.listen.split(",")]
|
|
|
|
|
2017-06-06 21:22:03 +00:00
|
|
|
if args.hosts:
|
|
|
|
hosts = []
|
|
|
|
for u in args.hosts.strip().split(" "):
|
|
|
|
hosts.append(u)
|
|
|
|
params['hosts'] = hosts
|
|
|
|
|
|
|
|
if args.allow_any_host:
|
|
|
|
params['allow_any_host'] = True
|
|
|
|
|
|
|
|
if args.namespaces:
|
|
|
|
namespaces = []
|
|
|
|
for u in args.namespaces.strip().split(" "):
|
|
|
|
bdev_name = u
|
|
|
|
nsid = 0
|
|
|
|
if ':' in u:
|
|
|
|
(bdev_name, nsid) = u.split(":")
|
|
|
|
|
|
|
|
ns_params = {'bdev_name': bdev_name}
|
|
|
|
|
|
|
|
nsid = int(nsid)
|
|
|
|
if nsid != 0:
|
|
|
|
ns_params['nsid'] = nsid
|
|
|
|
|
|
|
|
namespaces.append(ns_params)
|
|
|
|
params['namespaces'] = namespaces
|
|
|
|
|
2018-03-27 21:31:52 +00:00
|
|
|
return client.call('construct_nvmf_subsystem', params)
|
2017-06-06 21:22:03 +00:00
|
|
|
|
|
|
|
|
2018-03-27 21:31:52 +00:00
|
|
|
def nvmf_subsystem_add_listener(client, args):
|
2018-01-17 22:35:58 +00:00
|
|
|
listen_address = {'trtype': args.trtype,
|
|
|
|
'traddr': args.traddr,
|
|
|
|
'trsvcid': args.trsvcid}
|
|
|
|
|
|
|
|
if args.adrfam:
|
|
|
|
listen_address['adrfam'] = args.adrfam
|
|
|
|
|
2018-02-07 22:27:53 +00:00
|
|
|
params = {'nqn': args.nqn,
|
2018-01-17 22:35:58 +00:00
|
|
|
'listen_address': listen_address}
|
|
|
|
|
2018-03-27 21:31:52 +00:00
|
|
|
return client.call('nvmf_subsystem_add_listener', params)
|
2018-01-17 22:35:58 +00:00
|
|
|
|
|
|
|
|
2018-03-27 21:31:52 +00:00
|
|
|
def nvmf_subsystem_remove_listener(client, args):
|
2018-03-15 18:55:28 +00:00
|
|
|
listen_address = {'trtype': args.trtype,
|
|
|
|
'traddr': args.traddr,
|
|
|
|
'trsvcid': args.trsvcid}
|
|
|
|
|
|
|
|
if args.adrfam:
|
|
|
|
listen_address['adrfam'] = args.adrfam
|
|
|
|
|
|
|
|
params = {'nqn': args.nqn,
|
|
|
|
'listen_address': listen_address}
|
|
|
|
|
2018-03-27 21:31:52 +00:00
|
|
|
return client.call('nvmf_subsystem_remove_listener', params)
|
2018-03-15 18:55:28 +00:00
|
|
|
|
|
|
|
|
2018-03-27 21:31:52 +00:00
|
|
|
def nvmf_subsystem_add_ns(client, args):
|
2018-01-23 22:51:28 +00:00
|
|
|
ns = {'bdev_name': args.bdev_name}
|
|
|
|
|
|
|
|
if args.nsid:
|
|
|
|
ns['nsid'] = args.nsid
|
|
|
|
|
2018-02-13 00:03:01 +00:00
|
|
|
if args.nguid:
|
|
|
|
ns['nguid'] = args.nguid
|
|
|
|
|
|
|
|
if args.eui64:
|
|
|
|
ns['eui64'] = args.eui64
|
|
|
|
|
2018-06-07 21:58:17 +00:00
|
|
|
if args.uuid:
|
|
|
|
ns['uuid'] = args.uuid
|
|
|
|
|
2018-01-23 22:51:28 +00:00
|
|
|
params = {'nqn': args.nqn,
|
|
|
|
'namespace': ns}
|
|
|
|
|
2018-03-27 21:31:52 +00:00
|
|
|
return client.call('nvmf_subsystem_add_ns', params)
|
2018-01-23 22:51:28 +00:00
|
|
|
|
|
|
|
|
2018-03-27 21:31:52 +00:00
|
|
|
def nvmf_subsystem_remove_ns(client, args):
|
2018-02-27 07:47:29 +00:00
|
|
|
|
|
|
|
params = {'nqn': args.nqn,
|
|
|
|
'nsid': args.nsid}
|
|
|
|
|
2018-03-27 21:31:52 +00:00
|
|
|
return client.call('nvmf_subsystem_remove_ns', params)
|
2018-02-27 07:47:29 +00:00
|
|
|
|
|
|
|
|
2018-03-27 21:31:52 +00:00
|
|
|
def nvmf_subsystem_add_host(client, args):
|
2018-01-23 22:03:38 +00:00
|
|
|
params = {'nqn': args.nqn,
|
|
|
|
'host': args.host}
|
|
|
|
|
2018-03-27 21:31:52 +00:00
|
|
|
return client.call('nvmf_subsystem_add_host', params)
|
2018-01-23 22:03:38 +00:00
|
|
|
|
|
|
|
|
2018-03-27 21:31:52 +00:00
|
|
|
def nvmf_subsystem_remove_host(client, args):
|
2018-01-23 22:03:38 +00:00
|
|
|
params = {'nqn': args.nqn,
|
|
|
|
'host': args.host}
|
|
|
|
|
2018-03-27 21:31:52 +00:00
|
|
|
return client.call('nvmf_subsystem_remove_host', params)
|
2018-01-23 22:03:38 +00:00
|
|
|
|
|
|
|
|
2018-03-27 21:31:52 +00:00
|
|
|
def nvmf_subsystem_allow_any_host(client, args):
|
2018-01-23 22:03:38 +00:00
|
|
|
params = {'nqn': args.nqn}
|
|
|
|
params['allow_any_host'] = False if args.disable else True
|
|
|
|
|
2018-03-27 21:31:52 +00:00
|
|
|
return client.call('nvmf_subsystem_allow_any_host', params)
|
2018-01-23 22:03:38 +00:00
|
|
|
|
|
|
|
|
2018-03-27 21:31:52 +00:00
|
|
|
def delete_nvmf_subsystem(client, args):
|
2017-06-06 21:22:03 +00:00
|
|
|
params = {'nqn': args.subsystem_nqn}
|
2018-03-27 21:31:52 +00:00
|
|
|
return client.call('delete_nvmf_subsystem', params)
|