Spdk/scripts/rpc/bdev.py
Ben Walker 4dd3f4a7fa rpc: Break rpc client into individual python files
The top level client is unchanged. This is primarily just
moving code around. The client.py file is the only location
with new code, which converts the old jsonrpc_call function
into a class.

Change-Id: I5fb7cd48f77f6affa3d9439128009bf63148acda
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/364316
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-01-25 10:24:46 -05:00

100 lines
2.6 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, verbose=args.verbose))
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, verbose=args.verbose))
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, verbose=args.verbose))
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, verbose=args.verbose)
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, verbose=args.verbose))
def construct_error_bdev(args):
params = {'base_name': args.base_name}
args.client.call('construct_error_bdev', params, verbose=args.verbose)
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, verbose=args.verbose)
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, verbose=args.verbose)
def apply_firmware(args):
params = {
'filename': args.filename,
'bdev_name': args.bdev_name,
}
print_dict(args.client.call('apply_nvme_firmware', params))