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>
100 lines
2.4 KiB
Python
Executable File
100 lines
2.4 KiB
Python
Executable File
from client import print_dict, print_array, int_arg
|
|
|
|
|
|
def construct_malloc_bdev(args):
|
|
num_blocks = (args.total_size * 1024 * 1024) / args.block_size
|
|
params = {'num_blocks': num_blocks, 'block_size': args.block_size}
|
|
if args.name:
|
|
params['name'] = args.name
|
|
print_array(args.client.call(
|
|
'construct_malloc_bdev', params))
|
|
|
|
|
|
def construct_null_bdev(args):
|
|
num_blocks = (args.total_size * 1024 * 1024) / args.block_size
|
|
params = {'name': args.name, 'num_blocks': num_blocks,
|
|
'block_size': args.block_size}
|
|
print_array(args.client.call(
|
|
'construct_null_bdev', params))
|
|
|
|
|
|
def construct_aio_bdev(args):
|
|
params = {'name': args.name,
|
|
'filename': args.filename}
|
|
|
|
if args.block_size:
|
|
params['block_size'] = args.block_size
|
|
|
|
print_array(args.client.call(
|
|
'construct_aio_bdev', params))
|
|
|
|
|
|
def construct_nvme_bdev(args):
|
|
params = {'name': args.name,
|
|
'trtype': args.trtype,
|
|
'traddr': args.traddr}
|
|
|
|
if args.adrfam:
|
|
params['adrfam'] = args.adrfam
|
|
|
|
if args.trsvcid:
|
|
params['trsvcid'] = args.trsvcid
|
|
|
|
if args.subnqn:
|
|
params['subnqn'] = args.subnqn
|
|
|
|
args.client.call('construct_nvme_bdev', params)
|
|
|
|
|
|
def construct_rbd_bdev(args):
|
|
params = {
|
|
'pool_name': args.pool_name,
|
|
'rbd_name': args.rbd_name,
|
|
'block_size': args.block_size,
|
|
}
|
|
print_array(args.client.call(
|
|
'construct_rbd_bdev', params))
|
|
|
|
|
|
def construct_error_bdev(args):
|
|
params = {'base_name': args.base_name}
|
|
args.client.call('construct_error_bdev', params)
|
|
|
|
|
|
def construct_pmem_bdev(args):
|
|
params = {
|
|
'pmem_file': args.pmem_file,
|
|
'name': args.name
|
|
}
|
|
print_array(args.client.call('construct_pmem_bdev', params))
|
|
|
|
|
|
def get_bdevs(args):
|
|
params = {}
|
|
if args.name:
|
|
params['name'] = args.name
|
|
print_dict(args.client.call('get_bdevs', params))
|
|
|
|
|
|
def delete_bdev(args):
|
|
params = {'name': args.bdev_name}
|
|
args.client.call('delete_bdev', params)
|
|
|
|
|
|
def bdev_inject_error(args):
|
|
params = {
|
|
'name': args.name,
|
|
'io_type': args.io_type,
|
|
'error_type': args.error_type,
|
|
'num': args.num,
|
|
}
|
|
|
|
args.client.call('bdev_inject_error', params)
|
|
|
|
def apply_firmware(args):
|
|
params = {
|
|
'filename': args.filename,
|
|
'bdev_name': args.bdev_name,
|
|
}
|
|
print_dict(args.client.call('apply_nvme_firmware', params))
|