From a54e7e584ba7837d990bc5a865f46b0eec4dcb96 Mon Sep 17 00:00:00 2001 From: Daniel Verkamp Date: Mon, 5 Feb 2018 13:29:05 -0700 Subject: [PATCH] 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 Reviewed-on: https://review.gerrithub.io/398508 Tested-by: SPDK Automated Test System Reviewed-by: Jim Harris Reviewed-by: --- scripts/rpc.py | 2 +- scripts/rpc/app.py | 2 +- scripts/rpc/bdev.py | 16 ++++++++-------- scripts/rpc/client.py | 5 ++++- scripts/rpc/iscsi.py | 24 ++++++++++++------------ scripts/rpc/log.py | 6 +++--- scripts/rpc/net.py | 6 +++--- scripts/rpc/nvmf.py | 6 +++--- scripts/rpc/vhost.py | 4 ++-- 9 files changed, 37 insertions(+), 34 deletions(-) diff --git a/scripts/rpc.py b/scripts/rpc.py index eb01db4a4..5e0f5f6e2 100755 --- a/scripts/rpc.py +++ b/scripts/rpc.py @@ -416,5 +416,5 @@ if __name__ == "__main__": 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) diff --git a/scripts/rpc/app.py b/scripts/rpc/app.py index a3d127e72..0c9c2a193 100755 --- a/scripts/rpc/app.py +++ b/scripts/rpc/app.py @@ -3,7 +3,7 @@ from client import print_dict, print_array, int_arg def kill_instance(args): 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): params = {} diff --git a/scripts/rpc/bdev.py b/scripts/rpc/bdev.py index 61c64be3e..fb5fcc014 100755 --- a/scripts/rpc/bdev.py +++ b/scripts/rpc/bdev.py @@ -7,7 +7,7 @@ def construct_malloc_bdev(args): if args.name: params['name'] = args.name print_array(args.client.call( - 'construct_malloc_bdev', params, verbose=args.verbose)) + 'construct_malloc_bdev', params)) def construct_null_bdev(args): @@ -15,7 +15,7 @@ def construct_null_bdev(args): params = {'name': args.name, 'num_blocks': num_blocks, 'block_size': args.block_size} print_array(args.client.call( - 'construct_null_bdev', params, verbose=args.verbose)) + 'construct_null_bdev', params)) def construct_aio_bdev(args): @@ -26,7 +26,7 @@ def construct_aio_bdev(args): params['block_size'] = args.block_size print_array(args.client.call( - 'construct_aio_bdev', params, verbose=args.verbose)) + 'construct_aio_bdev', params)) def construct_nvme_bdev(args): @@ -43,7 +43,7 @@ def construct_nvme_bdev(args): if 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): @@ -53,12 +53,12 @@ def construct_rbd_bdev(args): 'block_size': args.block_size, } print_array(args.client.call( - 'construct_rbd_bdev', params, verbose=args.verbose)) + 'construct_rbd_bdev', params)) def construct_error_bdev(args): 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): @@ -78,7 +78,7 @@ def get_bdevs(args): def delete_bdev(args): 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): @@ -89,7 +89,7 @@ def bdev_inject_error(args): 'num': args.num, } - args.client.call('bdev_inject_error', params, verbose=args.verbose) + args.client.call('bdev_inject_error', params) def apply_firmware(args): params = { diff --git a/scripts/rpc/client.py b/scripts/rpc/client.py index 24e3b3afc..f5fef2de2 100755 --- a/scripts/rpc/client.py +++ b/scripts/rpc/client.py @@ -20,7 +20,8 @@ def int_arg(arg): class JSONRPCClient(object): - def __init__(self, addr, port=None): + def __init__(self, addr, port=None, verbose=False): + self.verbose = verbose if addr.startswith('/'): self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) self.sock.connect(addr) @@ -40,6 +41,8 @@ class JSONRPCClient(object): req['params'] = params reqstr = json.dumps(req) + verbose = verbose or self.verbose + if verbose: print("request:") print(json.dumps(req, indent=2)) diff --git a/scripts/rpc/iscsi.py b/scripts/rpc/iscsi.py index 5b2de20be..5bedcc215 100755 --- a/scripts/rpc/iscsi.py +++ b/scripts/rpc/iscsi.py @@ -2,19 +2,19 @@ from client import print_dict, print_array, int_arg 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): - print_dict(args.client.call('get_portal_groups', verbose=args.verbose)) + print_dict(args.client.call('get_portal_groups')) 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): - print_dict(args.client.call('get_target_nodes', verbose=args.verbose)) + print_dict(args.client.call('get_target_nodes')) def construct_target_node(args): @@ -47,7 +47,7 @@ def construct_target_node(args): params['header_digest'] = args.header_digest if 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): @@ -105,7 +105,7 @@ def add_portal_group(args): portals.append({'host': ip, 'port': port, 'cpumask': cpumask}) 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): @@ -117,26 +117,26 @@ def add_initiator_group(args): netmasks.append(n) 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): 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): 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): 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): - 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): @@ -144,4 +144,4 @@ def get_iscsi_global_params(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')) diff --git a/scripts/rpc/log.py b/scripts/rpc/log.py index 671cf5987..c7f49826c 100755 --- a/scripts/rpc/log.py +++ b/scripts/rpc/log.py @@ -3,16 +3,16 @@ from client import print_dict, print_array, int_arg def set_trace_flag(args): 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): 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): - print_dict(args.client.call('get_trace_flags', verbose=args.verbose)) + print_dict(args.client.call('get_trace_flags')) def set_log_level(args): diff --git a/scripts/rpc/net.py b/scripts/rpc/net.py index 64d67bd89..5ea68d424 100755 --- a/scripts/rpc/net.py +++ b/scripts/rpc/net.py @@ -3,13 +3,13 @@ from client import print_dict, print_array, int_arg def add_ip_address(args): 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): 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): - print_dict(args.client.call('get_interfaces', verbose=args.verbose)) + print_dict(args.client.call('get_interfaces')) diff --git a/scripts/rpc/nvmf.py b/scripts/rpc/nvmf.py index 09d643ab5..a84205b20 100755 --- a/scripts/rpc/nvmf.py +++ b/scripts/rpc/nvmf.py @@ -2,7 +2,7 @@ from client import print_dict, print_array, int_arg 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): @@ -41,9 +41,9 @@ def construct_nvmf_subsystem(args): namespaces.append(ns_params) 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): params = {'nqn': args.subsystem_nqn} - args.client.call('delete_nvmf_subsystem', params, verbose=args.verbose) + args.client.call('delete_nvmf_subsystem', params) diff --git a/scripts/rpc/vhost.py b/scripts/rpc/vhost.py index cb2967632..55797b7eb 100755 --- a/scripts/rpc/vhost.py +++ b/scripts/rpc/vhost.py @@ -15,7 +15,7 @@ def construct_vhost_scsi_controller(args): params['cpumask'] = args.cpumask args.client.call('construct_vhost_scsi_controller', - params, verbose=args.verbose) + params) def add_vhost_scsi_lun(args): @@ -24,7 +24,7 @@ def add_vhost_scsi_lun(args): 'bdev_name': args.bdev_name, '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):