rpc.py: make 'verbose' a client parameter

Rather than requiring the 'verbose' flag as a parameter to
JSONRPCClient.call(), move it to the JSONRPCClient constructor so that
it can be set once.

This fixes the inconsistency between RPC method wrappers that passed
args.verbose and those that didn't; now, rpc.py -v works reliably for
all methods.

The JSONRPCClient.call() verbose parameter is maintained as well to
allow individual calls to be set to verbose if desired.

Change-Id: Iee385510cc9eb1d2984d3b9982055789dff188c6
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/398508
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
Daniel Verkamp 2018-02-05 13:29:05 -07:00
parent 7f0c2bf4b4
commit a54e7e584b
9 changed files with 37 additions and 34 deletions

View File

@ -416,5 +416,5 @@ if __name__ == "__main__":
args = parser.parse_args() args = parser.parse_args()
args.client = rpc.client.JSONRPCClient(args.server_addr, args.port) args.client = rpc.client.JSONRPCClient(args.server_addr, args.port, args.verbose)
args.func(args) args.func(args)

View File

@ -3,7 +3,7 @@ from client import print_dict, print_array, int_arg
def kill_instance(args): def kill_instance(args):
params = {'sig_name': args.sig_name} params = {'sig_name': args.sig_name}
args.client.call('kill_instance', params, verbose=args.verbose) args.client.call('kill_instance', params)
def context_switch_monitor(args): def context_switch_monitor(args):
params = {} params = {}

View File

@ -7,7 +7,7 @@ def construct_malloc_bdev(args):
if args.name: if args.name:
params['name'] = args.name params['name'] = args.name
print_array(args.client.call( print_array(args.client.call(
'construct_malloc_bdev', params, verbose=args.verbose)) 'construct_malloc_bdev', params))
def construct_null_bdev(args): def construct_null_bdev(args):
@ -15,7 +15,7 @@ def construct_null_bdev(args):
params = {'name': args.name, 'num_blocks': num_blocks, params = {'name': args.name, 'num_blocks': num_blocks,
'block_size': args.block_size} 'block_size': args.block_size}
print_array(args.client.call( print_array(args.client.call(
'construct_null_bdev', params, verbose=args.verbose)) 'construct_null_bdev', params))
def construct_aio_bdev(args): def construct_aio_bdev(args):
@ -26,7 +26,7 @@ def construct_aio_bdev(args):
params['block_size'] = args.block_size params['block_size'] = args.block_size
print_array(args.client.call( print_array(args.client.call(
'construct_aio_bdev', params, verbose=args.verbose)) 'construct_aio_bdev', params))
def construct_nvme_bdev(args): def construct_nvme_bdev(args):
@ -43,7 +43,7 @@ def construct_nvme_bdev(args):
if args.subnqn: if args.subnqn:
params['subnqn'] = args.subnqn params['subnqn'] = args.subnqn
args.client.call('construct_nvme_bdev', params, verbose=args.verbose) args.client.call('construct_nvme_bdev', params)
def construct_rbd_bdev(args): def construct_rbd_bdev(args):
@ -53,12 +53,12 @@ def construct_rbd_bdev(args):
'block_size': args.block_size, 'block_size': args.block_size,
} }
print_array(args.client.call( print_array(args.client.call(
'construct_rbd_bdev', params, verbose=args.verbose)) 'construct_rbd_bdev', params))
def construct_error_bdev(args): def construct_error_bdev(args):
params = {'base_name': args.base_name} params = {'base_name': args.base_name}
args.client.call('construct_error_bdev', params, verbose=args.verbose) args.client.call('construct_error_bdev', params)
def construct_pmem_bdev(args): def construct_pmem_bdev(args):
@ -78,7 +78,7 @@ def get_bdevs(args):
def delete_bdev(args): def delete_bdev(args):
params = {'name': args.bdev_name} params = {'name': args.bdev_name}
args.client.call('delete_bdev', params, verbose=args.verbose) args.client.call('delete_bdev', params)
def bdev_inject_error(args): def bdev_inject_error(args):
@ -89,7 +89,7 @@ def bdev_inject_error(args):
'num': args.num, 'num': args.num,
} }
args.client.call('bdev_inject_error', params, verbose=args.verbose) args.client.call('bdev_inject_error', params)
def apply_firmware(args): def apply_firmware(args):
params = { params = {

View File

@ -20,7 +20,8 @@ def int_arg(arg):
class JSONRPCClient(object): class JSONRPCClient(object):
def __init__(self, addr, port=None): def __init__(self, addr, port=None, verbose=False):
self.verbose = verbose
if addr.startswith('/'): if addr.startswith('/'):
self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
self.sock.connect(addr) self.sock.connect(addr)
@ -40,6 +41,8 @@ class JSONRPCClient(object):
req['params'] = params req['params'] = params
reqstr = json.dumps(req) reqstr = json.dumps(req)
verbose = verbose or self.verbose
if verbose: if verbose:
print("request:") print("request:")
print(json.dumps(req, indent=2)) print(json.dumps(req, indent=2))

View File

@ -2,19 +2,19 @@ from client import print_dict, print_array, int_arg
def get_luns(args): def get_luns(args):
print_dict(args.client.call('get_luns', verbose=args.verbose)) print_dict(args.client.call('get_luns'))
def get_portal_groups(args): def get_portal_groups(args):
print_dict(args.client.call('get_portal_groups', verbose=args.verbose)) print_dict(args.client.call('get_portal_groups'))
def get_initiator_groups(args): def get_initiator_groups(args):
print_dict(args.client.call('get_initiator_groups', verbose=args.verbose)) print_dict(args.client.call('get_initiator_groups'))
def get_target_nodes(args): def get_target_nodes(args):
print_dict(args.client.call('get_target_nodes', verbose=args.verbose)) print_dict(args.client.call('get_target_nodes'))
def construct_target_node(args): def construct_target_node(args):
@ -47,7 +47,7 @@ def construct_target_node(args):
params['header_digest'] = args.header_digest params['header_digest'] = args.header_digest
if args.data_digest: if args.data_digest:
params['data_digest'] = args.data_digest params['data_digest'] = args.data_digest
args.client.call('construct_target_node', params, verbose=args.verbose) args.client.call('construct_target_node', params)
def target_node_add_lun(args): def target_node_add_lun(args):
@ -105,7 +105,7 @@ def add_portal_group(args):
portals.append({'host': ip, 'port': port, 'cpumask': cpumask}) portals.append({'host': ip, 'port': port, 'cpumask': cpumask})
params = {'tag': args.tag, 'portals': portals} params = {'tag': args.tag, 'portals': portals}
args.client.call('add_portal_group', params, verbose=args.verbose) args.client.call('add_portal_group', params)
def add_initiator_group(args): def add_initiator_group(args):
@ -117,26 +117,26 @@ def add_initiator_group(args):
netmasks.append(n) netmasks.append(n)
params = {'tag': args.tag, 'initiators': initiators, 'netmasks': netmasks} params = {'tag': args.tag, 'initiators': initiators, 'netmasks': netmasks}
args.client.call('add_initiator_group', params, verbose=args.verbose) args.client.call('add_initiator_group', params)
def delete_target_node(args): def delete_target_node(args):
params = {'name': args.target_node_name} params = {'name': args.target_node_name}
args.client.call('delete_target_node', params, verbose=args.verbose) args.client.call('delete_target_node', params)
def delete_portal_group(args): def delete_portal_group(args):
params = {'tag': args.tag} params = {'tag': args.tag}
args.client.call('delete_portal_group', params, verbose=args.verbose) args.client.call('delete_portal_group', params)
def delete_initiator_group(args): def delete_initiator_group(args):
params = {'tag': args.tag} params = {'tag': args.tag}
args.client.call('delete_initiator_group', params, verbose=args.verbose) args.client.call('delete_initiator_group', params)
def get_iscsi_connections(args): def get_iscsi_connections(args):
print_dict(args.client.call('get_iscsi_connections', verbose=args.verbose)) print_dict(args.client.call('get_iscsi_connections'))
def get_iscsi_global_params(args): def get_iscsi_global_params(args):
@ -144,4 +144,4 @@ def get_iscsi_global_params(args):
def get_scsi_devices(args): def get_scsi_devices(args):
print_dict(args.client.call('get_scsi_devices', verbose=args.verbose)) print_dict(args.client.call('get_scsi_devices'))

View File

@ -3,16 +3,16 @@ from client import print_dict, print_array, int_arg
def set_trace_flag(args): def set_trace_flag(args):
params = {'flag': args.flag} params = {'flag': args.flag}
args.client.call('set_trace_flag', params, verbose=args.verbose) args.client.call('set_trace_flag', params)
def clear_trace_flag(args): def clear_trace_flag(args):
params = {'flag': args.flag} params = {'flag': args.flag}
args.client.call('clear_trace_flag', params, verbose=args.verbose) args.client.call('clear_trace_flag', params)
def get_trace_flags(args): def get_trace_flags(args):
print_dict(args.client.call('get_trace_flags', verbose=args.verbose)) print_dict(args.client.call('get_trace_flags'))
def set_log_level(args): def set_log_level(args):

View File

@ -3,13 +3,13 @@ from client import print_dict, print_array, int_arg
def add_ip_address(args): def add_ip_address(args):
params = {'ifc_index': args.ifc_index, 'ip_address': args.ip_addr} params = {'ifc_index': args.ifc_index, 'ip_address': args.ip_addr}
args.client.call('add_ip_address', params, verbose=args.verbose) args.client.call('add_ip_address', params)
def delete_ip_address(args): def delete_ip_address(args):
params = {'ifc_index': args.ifc_index, 'ip_address': args.ip_addr} params = {'ifc_index': args.ifc_index, 'ip_address': args.ip_addr}
args.client.call('delete_ip_address', params, verbose=args.verbose) args.client.call('delete_ip_address', params)
def get_interfaces(args): def get_interfaces(args):
print_dict(args.client.call('get_interfaces', verbose=args.verbose)) print_dict(args.client.call('get_interfaces'))

View File

@ -2,7 +2,7 @@ from client import print_dict, print_array, int_arg
def get_nvmf_subsystems(args): def get_nvmf_subsystems(args):
print_dict(args.client.call('get_nvmf_subsystems', verbose=args.verbose)) print_dict(args.client.call('get_nvmf_subsystems'))
def construct_nvmf_subsystem(args): def construct_nvmf_subsystem(args):
@ -41,9 +41,9 @@ def construct_nvmf_subsystem(args):
namespaces.append(ns_params) namespaces.append(ns_params)
params['namespaces'] = namespaces params['namespaces'] = namespaces
args.client.call('construct_nvmf_subsystem', params, verbose=args.verbose) args.client.call('construct_nvmf_subsystem', params)
def delete_nvmf_subsystem(args): def delete_nvmf_subsystem(args):
params = {'nqn': args.subsystem_nqn} params = {'nqn': args.subsystem_nqn}
args.client.call('delete_nvmf_subsystem', params, verbose=args.verbose) args.client.call('delete_nvmf_subsystem', params)

View File

@ -15,7 +15,7 @@ def construct_vhost_scsi_controller(args):
params['cpumask'] = args.cpumask params['cpumask'] = args.cpumask
args.client.call('construct_vhost_scsi_controller', args.client.call('construct_vhost_scsi_controller',
params, verbose=args.verbose) params)
def add_vhost_scsi_lun(args): def add_vhost_scsi_lun(args):
@ -24,7 +24,7 @@ def add_vhost_scsi_lun(args):
'bdev_name': args.bdev_name, 'bdev_name': args.bdev_name,
'scsi_target_num': args.scsi_target_num 'scsi_target_num': args.scsi_target_num
} }
args.client.call('add_vhost_scsi_lun', params, verbose=args.verbose) args.client.call('add_vhost_scsi_lun', params)
def remove_vhost_scsi_target(args): def remove_vhost_scsi_target(args):