Daniel Verkamp df897ed490 scripts/rpc.py: move printing into main rpc.py
The modules in scripts/rpc/*.py should be a generic, reusable library;
the printing should be done by the command-line frontend (rpc.py)
instead of the library code.

Change-Id: Ibeb022a3591f0a140fc43104d8dcf17d7041e48b
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/404426
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-03-26 00:57:53 -04:00

164 lines
4.7 KiB
Python
Executable File

def get_portal_groups(args):
return args.client.call('get_portal_groups')
def get_initiator_groups(args):
return args.client.call('get_initiator_groups')
def get_target_nodes(args):
return args.client.call('get_target_nodes')
def construct_target_node(args):
luns = []
for u in args.bdev_name_id_pairs.strip().split(" "):
bdev_name, lun_id = u.split(":")
luns.append({"bdev_name": bdev_name, "lun_id": int(lun_id)})
pg_ig_maps = []
for u in args.pg_ig_mappings.strip().split(" "):
pg, ig = u.split(":")
pg_ig_maps.append({"pg_tag": int(pg), "ig_tag": int(ig)})
params = {
'name': args.name,
'alias_name': args.alias_name,
'pg_ig_maps': pg_ig_maps,
'luns': luns,
'queue_depth': args.queue_depth,
}
if args.chap_group:
params['chap_group'] = args.chap_group
if args.disable_chap:
params['disable_chap'] = args.disable_chap
if args.require_chap:
params['require_chap'] = args.require_chap
if args.mutual_chap:
params['mutual_chap'] = args.mutual_chap
if args.header_digest:
params['header_digest'] = args.header_digest
if args.data_digest:
params['data_digest'] = args.data_digest
return args.client.call('construct_target_node', params)
def target_node_add_lun(args):
params = {
'name': args.name,
'bdev_name': args.bdev_name,
}
if args.lun_id:
params['lun_id'] = args.lun_id
return args.client.call('target_node_add_lun', params)
def delete_pg_ig_maps(args):
pg_ig_maps = []
for u in args.pg_ig_mappings.strip().split(" "):
pg, ig = u.split(":")
pg_ig_maps.append({"pg_tag": int(pg), "ig_tag": int(ig)})
params = {
'name': args.name,
'pg_ig_maps': pg_ig_maps,
}
return args.client.call('delete_pg_ig_maps', params)
def add_pg_ig_maps(args):
pg_ig_maps = []
for u in args.pg_ig_mappings.strip().split(" "):
pg, ig = u.split(":")
pg_ig_maps.append({"pg_tag": int(pg), "ig_tag": int(ig)})
params = {
'name': args.name,
'pg_ig_maps': pg_ig_maps,
}
return args.client.call('add_pg_ig_maps', params)
def add_portal_group(args):
# parse out portal list host1:port1 host2:port2
portals = []
for p in args.portal_list:
ip, separator, port_cpumask = p.rpartition(':')
split_port_cpumask = port_cpumask.split('@')
if len(split_port_cpumask) == 1:
port = port_cpumask
portals.append({'host': ip, 'port': port})
else:
port = split_port_cpumask[0]
cpumask = split_port_cpumask[1]
portals.append({'host': ip, 'port': port, 'cpumask': cpumask})
params = {'tag': args.tag, 'portals': portals}
return args.client.call('add_portal_group', params)
def add_initiator_group(args):
initiators = []
netmasks = []
for i in args.initiator_list.strip().split(' '):
initiators.append(i)
for n in args.netmask_list.strip().split(' '):
netmasks.append(n)
params = {'tag': args.tag, 'initiators': initiators, 'netmasks': netmasks}
return args.client.call('add_initiator_group', params)
def add_initiators_to_initiator_group(args):
initiators = []
netmasks = []
if args.initiator_list:
for i in args.initiator_list.strip().split(' '):
initiators.append(i)
if args.netmask_list:
for n in args.netmask_list.strip().split(' '):
netmasks.append(n)
params = {'tag': args.tag, 'initiators': initiators, 'netmasks': netmasks}
return args.client.call('add_initiators_to_initiator_group', params)
def delete_initiators_from_initiator_group(args):
initiators = []
netmasks = []
if args.initiator_list:
for i in args.initiator_list.strip().split(' '):
initiators.append(i)
if args.netmask_list:
for n in args.netmask_list.strip().split(' '):
netmasks.append(n)
params = {'tag': args.tag, 'initiators': initiators, 'netmasks': netmasks}
return args.client.call('delete_initiators_from_initiator_group', params)
def delete_target_node(args):
params = {'name': args.target_node_name}
return args.client.call('delete_target_node', params)
def delete_portal_group(args):
params = {'tag': args.tag}
return args.client.call('delete_portal_group', params)
def delete_initiator_group(args):
params = {'tag': args.tag}
return args.client.call('delete_initiator_group', params)
def get_iscsi_connections(args):
return args.client.call('get_iscsi_connections')
def get_iscsi_global_params(args):
return args.client.call('get_iscsi_global_params')
def get_scsi_devices(args):
return args.client.call('get_scsi_devices')