scripts/rpc: remove call_cmd decorator

This decorator is not needed. This also removes one exit point in case
of exception.

Change-Id: I7e1492cf9cccdb891dd70494652e0bc86a8bbcca
Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Reviewed-on: https://review.gerrithub.io/435469
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Pawel Wodkowski 2018-11-29 12:08:31 +01:00 committed by Ben Walker
parent a404d9aa23
commit f7cb69cb60

View File

@ -16,16 +16,6 @@ def print_array(a):
print(" ".join((quote(v) for v in a)))
def call_cmd(func):
def rpc_cmd(*args, **kwargs):
try:
func(*args, **kwargs)
except JSONRPCException as ex:
print(ex.message)
exit(1)
return rpc_cmd
if __name__ == "__main__":
parser = argparse.ArgumentParser(
description='SPDK RPC command line interface')
@ -41,21 +31,18 @@ if __name__ == "__main__":
help='Verbose mode', action='store_true')
subparsers = parser.add_subparsers(help='RPC methods')
@call_cmd
def start_subsystem_init(args):
rpc.start_subsystem_init(args.client)
p = subparsers.add_parser('start_subsystem_init', help='Start initialization of subsystems')
p.set_defaults(func=start_subsystem_init)
@call_cmd
def wait_subsystem_init(args):
rpc.wait_subsystem_init(args.client)
p = subparsers.add_parser('wait_subsystem_init', help='Block until subsystems have been initialized')
p.set_defaults(func=wait_subsystem_init)
@call_cmd
def get_rpc_methods(args):
print_dict(rpc.get_rpc_methods(args.client,
current=args.current))
@ -64,7 +51,6 @@ if __name__ == "__main__":
p.add_argument('-c', '--current', help='Get list of RPC methods only callable in the current state.', action='store_true')
p.set_defaults(func=get_rpc_methods)
@call_cmd
def save_config(args):
rpc.save_config(args.client,
sys.stdout,
@ -76,14 +62,12 @@ if __name__ == "__main__":
""", type=int, default=2)
p.set_defaults(func=save_config)
@call_cmd
def load_config(args):
rpc.load_config(args.client, sys.stdin)
p = subparsers.add_parser('load_config', help="""Configure SPDK subsystems and targets using JSON RPC read from stdin.""")
p.set_defaults(func=load_config)
@call_cmd
def save_subsystem_config(args):
rpc.save_subsystem_config(args.client,
sys.stdout,
@ -97,7 +81,6 @@ if __name__ == "__main__":
p.add_argument('-n', '--name', help='Name of subsystem', required=True)
p.set_defaults(func=save_subsystem_config)
@call_cmd
def load_subsystem_config(args):
rpc.load_subsystem_config(args.client,
sys.stdin)
@ -106,7 +89,6 @@ if __name__ == "__main__":
p.set_defaults(func=load_subsystem_config)
# app
@call_cmd
def kill_instance(args):
rpc.app.kill_instance(args.client,
sig_name=args.sig_name)
@ -115,7 +97,6 @@ if __name__ == "__main__":
p.add_argument('sig_name', help='signal will be sent to server.')
p.set_defaults(func=kill_instance)
@call_cmd
def context_switch_monitor(args):
enabled = None
if args.enable:
@ -131,7 +112,6 @@ if __name__ == "__main__":
p.set_defaults(func=context_switch_monitor)
# bdev
@call_cmd
def set_bdev_options(args):
rpc.bdev.set_bdev_options(args.client,
bdev_io_pool_size=args.bdev_io_pool_size,
@ -142,7 +122,6 @@ if __name__ == "__main__":
p.add_argument('-c', '--bdev-io-cache-size', help='Maximum number of bdev_io structures cached per thread', type=int)
p.set_defaults(func=set_bdev_options)
@call_cmd
def construct_crypto_bdev(args):
print(rpc.bdev.construct_crypto_bdev(args.client,
base_bdev_name=args.base_bdev_name,
@ -157,7 +136,6 @@ if __name__ == "__main__":
p.add_argument('-k', '--key', help="Key")
p.set_defaults(func=construct_crypto_bdev)
@call_cmd
def delete_crypto_bdev(args):
rpc.bdev.delete_crypto_bdev(args.client,
name=args.name)
@ -166,7 +144,6 @@ if __name__ == "__main__":
p.add_argument('name', help='crypto bdev name')
p.set_defaults(func=delete_crypto_bdev)
@call_cmd
def construct_malloc_bdev(args):
num_blocks = (args.total_size * 1024 * 1024) // args.block_size
print(rpc.bdev.construct_malloc_bdev(args.client,
@ -183,7 +160,6 @@ if __name__ == "__main__":
p.add_argument('block_size', help='Block size for this bdev', type=int)
p.set_defaults(func=construct_malloc_bdev)
@call_cmd
def delete_malloc_bdev(args):
rpc.bdev.delete_malloc_bdev(args.client,
name=args.name)
@ -192,7 +168,6 @@ if __name__ == "__main__":
p.add_argument('name', help='malloc bdev name')
p.set_defaults(func=delete_malloc_bdev)
@call_cmd
def construct_null_bdev(args):
num_blocks = (args.total_size * 1024 * 1024) // args.block_size
print(rpc.bdev.construct_null_bdev(args.client,
@ -210,7 +185,6 @@ if __name__ == "__main__":
p.add_argument('block_size', help='Block size for this bdev', type=int)
p.set_defaults(func=construct_null_bdev)
@call_cmd
def delete_null_bdev(args):
rpc.bdev.delete_null_bdev(args.client,
name=args.name)
@ -219,7 +193,6 @@ if __name__ == "__main__":
p.add_argument('name', help='null bdev name')
p.set_defaults(func=delete_null_bdev)
@call_cmd
def construct_aio_bdev(args):
print(rpc.bdev.construct_aio_bdev(args.client,
filename=args.filename,
@ -233,7 +206,6 @@ if __name__ == "__main__":
p.add_argument('block_size', help='Block size for this bdev', type=int, nargs='?', default=0)
p.set_defaults(func=construct_aio_bdev)
@call_cmd
def delete_aio_bdev(args):
rpc.bdev.delete_aio_bdev(args.client,
name=args.name)
@ -242,7 +214,6 @@ if __name__ == "__main__":
p.add_argument('name', help='aio bdev name')
p.set_defaults(func=delete_aio_bdev)
@call_cmd
def set_bdev_nvme_options(args):
rpc.bdev.set_bdev_nvme_options(args.client,
action_on_timeout=args.action_on_timeout,
@ -262,7 +233,6 @@ if __name__ == "__main__":
help='How often the admin queue is polled for asynchronous events', type=int)
p.set_defaults(func=set_bdev_nvme_options)
@call_cmd
def set_bdev_nvme_hotplug(args):
rpc.bdev.set_bdev_nvme_hotplug(args.client, enable=args.enable, period_us=args.period_us)
@ -274,7 +244,6 @@ if __name__ == "__main__":
help='How often the hotplug is processed for insert and remove events', type=int)
p.set_defaults(func=set_bdev_nvme_hotplug)
@call_cmd
def construct_nvme_bdev(args):
print_array(rpc.bdev.construct_nvme_bdev(args.client,
name=args.name,
@ -298,7 +267,6 @@ if __name__ == "__main__":
p.add_argument('-n', '--subnqn', help='NVMe-oF target subnqn')
p.set_defaults(func=construct_nvme_bdev)
@call_cmd
def get_nvme_controllers(args):
print_dict(rpc.nvme.get_nvme_controllers(args.client,
name=args.name))
@ -308,7 +276,6 @@ if __name__ == "__main__":
p.add_argument('-n', '--name', help="Name of the NVMe controller. Example: Nvme0", required=False)
p.set_defaults(func=get_nvme_controllers)
@call_cmd
def delete_nvme_controller(args):
rpc.bdev.delete_nvme_controller(args.client,
name=args.name)
@ -318,7 +285,6 @@ if __name__ == "__main__":
p.add_argument('name', help="Name of the controller")
p.set_defaults(func=delete_nvme_controller)
@call_cmd
def construct_rbd_bdev(args):
print(rpc.bdev.construct_rbd_bdev(args.client,
name=args.name,
@ -334,7 +300,6 @@ if __name__ == "__main__":
p.add_argument('block_size', help='rbd block size', type=int)
p.set_defaults(func=construct_rbd_bdev)
@call_cmd
def delete_rbd_bdev(args):
rpc.bdev.delete_rbd_bdev(args.client,
name=args.name)
@ -343,7 +308,6 @@ if __name__ == "__main__":
p.add_argument('name', help='rbd bdev name')
p.set_defaults(func=delete_rbd_bdev)
@call_cmd
def construct_error_bdev(args):
print(rpc.bdev.construct_error_bdev(args.client,
base_name=args.base_name))
@ -353,7 +317,6 @@ if __name__ == "__main__":
p.add_argument('base_name', help='base bdev name')
p.set_defaults(func=construct_error_bdev)
@call_cmd
def delete_error_bdev(args):
rpc.bdev.delete_error_bdev(args.client,
name=args.name)
@ -362,7 +325,6 @@ if __name__ == "__main__":
p.add_argument('name', help='error bdev name')
p.set_defaults(func=delete_error_bdev)
@call_cmd
def construct_iscsi_bdev(args):
print(rpc.bdev.construct_iscsi_bdev(args.client,
name=args.name,
@ -376,7 +338,6 @@ if __name__ == "__main__":
p.add_argument('--url', help="iSCSI Lun URL", required=True)
p.set_defaults(func=construct_iscsi_bdev)
@call_cmd
def delete_iscsi_bdev(args):
rpc.bdev.delete_iscsi_bdev(args.client,
name=args.name)
@ -385,7 +346,6 @@ if __name__ == "__main__":
p.add_argument('name', help='iSCSI bdev name')
p.set_defaults(func=delete_iscsi_bdev)
@call_cmd
def construct_pmem_bdev(args):
print(rpc.bdev.construct_pmem_bdev(args.client,
pmem_file=args.pmem_file,
@ -396,7 +356,6 @@ if __name__ == "__main__":
p.add_argument('-n', '--name', help='Block device name', required=True)
p.set_defaults(func=construct_pmem_bdev)
@call_cmd
def delete_pmem_bdev(args):
rpc.bdev.delete_pmem_bdev(args.client,
name=args.name)
@ -405,7 +364,6 @@ if __name__ == "__main__":
p.add_argument('name', help='pmem bdev name')
p.set_defaults(func=delete_pmem_bdev)
@call_cmd
def construct_passthru_bdev(args):
print(rpc.bdev.construct_passthru_bdev(args.client,
base_bdev_name=args.base_bdev_name,
@ -417,7 +375,6 @@ if __name__ == "__main__":
p.add_argument('-p', '--name', help="Name of the pass through bdev", required=True)
p.set_defaults(func=construct_passthru_bdev)
@call_cmd
def delete_passthru_bdev(args):
rpc.bdev.delete_passthru_bdev(args.client,
name=args.name)
@ -426,7 +383,6 @@ if __name__ == "__main__":
p.add_argument('name', help='pass through bdev name')
p.set_defaults(func=delete_passthru_bdev)
@call_cmd
def get_bdevs(args):
print_dict(rpc.bdev.get_bdevs(args.client,
name=args.name))
@ -436,7 +392,6 @@ if __name__ == "__main__":
p.add_argument('-b', '--name', help="Name of the Blockdev. Example: Nvme0n1", required=False)
p.set_defaults(func=get_bdevs)
@call_cmd
def get_bdevs_iostat(args):
print_dict(rpc.bdev.get_bdevs_iostat(args.client,
name=args.name))
@ -446,7 +401,6 @@ if __name__ == "__main__":
p.add_argument('-b', '--name', help="Name of the Blockdev. Example: Nvme0n1", required=False)
p.set_defaults(func=get_bdevs_iostat)
@call_cmd
def delete_bdev(args):
rpc.bdev.delete_bdev(args.client,
bdev_name=args.bdev_name)
@ -456,7 +410,6 @@ if __name__ == "__main__":
'bdev_name', help='Blockdev name to be deleted. Example: Malloc0.')
p.set_defaults(func=delete_bdev)
@call_cmd
def set_bdev_qd_sampling_period(args):
rpc.bdev.set_bdev_qd_sampling_period(args.client,
name=args.name,
@ -469,7 +422,6 @@ if __name__ == "__main__":
type=int)
p.set_defaults(func=set_bdev_qd_sampling_period)
@call_cmd
def set_bdev_qos_limit(args):
rpc.bdev.set_bdev_qos_limit(args.client,
name=args.name,
@ -486,7 +438,6 @@ if __name__ == "__main__":
type=int, required=False)
p.set_defaults(func=set_bdev_qos_limit)
@call_cmd
def bdev_inject_error(args):
rpc.bdev.bdev_inject_error(args.client,
name=args.name,
@ -502,7 +453,6 @@ if __name__ == "__main__":
'-n', '--num', help='the number of commands you want to fail', type=int, default=1)
p.set_defaults(func=bdev_inject_error)
@call_cmd
def apply_firmware(args):
print_dict(rpc.bdev.apply_firmware(args.client,
bdev_name=args.bdev_name,
@ -514,7 +464,6 @@ if __name__ == "__main__":
p.set_defaults(func=apply_firmware)
# iSCSI
@call_cmd
def set_iscsi_options(args):
rpc.iscsi.set_iscsi_options(
args.client,
@ -561,7 +510,6 @@ if __name__ == "__main__":
p.add_argument('-u', '--min-connections-per-core', help='Allocation unit of connections per core', type=int)
p.set_defaults(func=set_iscsi_options)
@call_cmd
def set_iscsi_discovery_auth(args):
rpc.iscsi.set_iscsi_discovery_auth(
args.client,
@ -594,7 +542,6 @@ if __name__ == "__main__":
Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 msecret:ms2'""", required=False)
p.set_defaults(func=add_iscsi_auth_group)
@call_cmd
def delete_iscsi_auth_group(args):
rpc.iscsi.delete_iscsi_auth_group(args.client, tag=args.tag)
@ -602,7 +549,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('tag', help='Authentication group tag', type=int)
p.set_defaults(func=delete_iscsi_auth_group)
@call_cmd
def add_secret_to_iscsi_auth_group(args):
rpc.iscsi.add_secret_to_iscsi_auth_group(
args.client,
@ -620,7 +566,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('-r', '--msecret', help='Secret for mutual CHAP authentication')
p.set_defaults(func=add_secret_to_iscsi_auth_group)
@call_cmd
def delete_secret_from_iscsi_auth_group(args):
rpc.iscsi.delete_secret_from_iscsi_auth_group(args.client, tag=args.tag, user=args.user)
@ -629,7 +574,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('-u', '--user', help='User name for one-way CHAP authentication', required=True)
p.set_defaults(func=delete_secret_from_iscsi_auth_group)
@call_cmd
def get_iscsi_auth_groups(args):
print_dict(rpc.iscsi.get_iscsi_auth_groups(args.client))
@ -637,7 +581,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
help='Display current authentication group configuration')
p.set_defaults(func=get_iscsi_auth_groups)
@call_cmd
def get_portal_groups(args):
print_dict(rpc.iscsi.get_portal_groups(args.client))
@ -645,7 +588,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
'get_portal_groups', help='Display current portal group configuration')
p.set_defaults(func=get_portal_groups)
@call_cmd
def get_initiator_groups(args):
print_dict(rpc.iscsi.get_initiator_groups(args.client))
@ -653,14 +595,12 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
help='Display current initiator group configuration')
p.set_defaults(func=get_initiator_groups)
@call_cmd
def get_target_nodes(args):
print_dict(rpc.iscsi.get_target_nodes(args.client))
p = subparsers.add_parser('get_target_nodes', help='Display target nodes')
p.set_defaults(func=get_target_nodes)
@call_cmd
def construct_target_node(args):
luns = []
for u in args.bdev_name_id_pairs.strip().split(" "):
@ -716,7 +656,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
help='Data Digest should be required for this target node.', action='store_true')
p.set_defaults(func=construct_target_node)
@call_cmd
def target_node_add_lun(args):
rpc.iscsi.target_node_add_lun(
args.client,
@ -732,7 +671,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
*** If LUN ID is omitted or -1, the lowest free one is assigned ***""", type=int, required=False)
p.set_defaults(func=target_node_add_lun)
@call_cmd
def set_iscsi_target_node_auth(args):
rpc.iscsi.set_iscsi_target_node_auth(
args.client,
@ -754,7 +692,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
action='store_true')
p.set_defaults(func=set_iscsi_target_node_auth)
@call_cmd
def add_pg_ig_maps(args):
pg_ig_maps = []
for u in args.pg_ig_mappings.strip().split(" "):
@ -774,7 +711,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
*** The Portal/Initiator Groups must be precreated ***""")
p.set_defaults(func=add_pg_ig_maps)
@call_cmd
def delete_pg_ig_maps(args):
pg_ig_maps = []
for u in args.pg_ig_mappings.strip().split(" "):
@ -792,7 +728,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
*** The Portal/Initiator Groups must be precreated ***""")
p.set_defaults(func=delete_pg_ig_maps)
@call_cmd
def add_portal_group(args):
portals = []
for p in args.portal_list:
@ -818,7 +753,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
Example: '192.168.100.100:3260' '192.168.100.100:3261' '192.168.100.100:3262@0x1""")
p.set_defaults(func=add_portal_group)
@call_cmd
def add_initiator_group(args):
initiators = []
netmasks = []
@ -842,7 +776,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
Example: '255.255.0.0 255.248.0.0' etc""")
p.set_defaults(func=add_initiator_group)
@call_cmd
def add_initiators_to_initiator_group(args):
initiators = None
netmasks = None
@ -870,7 +803,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
This parameter can be omitted. Example: '255.255.0.0 255.248.0.0' etc""", required=False)
p.set_defaults(func=add_initiators_to_initiator_group)
@call_cmd
def delete_initiators_from_initiator_group(args):
initiators = None
netmasks = None
@ -898,7 +830,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
This parameter can be omitted. Example: '255.255.0.0 255.248.0.0' etc""", required=False)
p.set_defaults(func=delete_initiators_from_initiator_group)
@call_cmd
def delete_target_node(args):
rpc.iscsi.delete_target_node(
args.client, target_node_name=args.target_node_name)
@ -909,7 +840,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
help='Target node name to be deleted. Example: iqn.2016-06.io.spdk:disk1.')
p.set_defaults(func=delete_target_node)
@call_cmd
def delete_portal_group(args):
rpc.iscsi.delete_portal_group(args.client, tag=args.tag)
@ -919,7 +849,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
'tag', help='Portal group tag (unique, integer > 0)', type=int)
p.set_defaults(func=delete_portal_group)
@call_cmd
def delete_initiator_group(args):
rpc.iscsi.delete_initiator_group(args.client, tag=args.tag)
@ -929,7 +858,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
'tag', help='Initiator group tag (unique, integer > 0)', type=int)
p.set_defaults(func=delete_initiator_group)
@call_cmd
def get_iscsi_connections(args):
print_dict(rpc.iscsi.get_iscsi_connections(args.client))
@ -937,14 +865,12 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
help='Display iSCSI connections')
p.set_defaults(func=get_iscsi_connections)
@call_cmd
def get_iscsi_global_params(args):
print_dict(rpc.iscsi.get_iscsi_global_params(args.client))
p = subparsers.add_parser('get_iscsi_global_params', help='Display iSCSI global parameters')
p.set_defaults(func=get_iscsi_global_params)
@call_cmd
def get_scsi_devices(args):
print_dict(rpc.iscsi.get_scsi_devices(args.client))
@ -952,7 +878,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.set_defaults(func=get_scsi_devices)
# log
@call_cmd
def set_log_flag(args):
rpc.log.set_log_flag(args.client, flag=args.flag)
@ -961,7 +886,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
'flag', help='log flag we want to set. (for example "nvme").')
p.set_defaults(func=set_log_flag)
@call_cmd
def set_trace_flag(args):
print("set_trace_flag is deprecated - use set_log_flag instead")
rpc.log.set_trace_flag(args.client, flag=args.flag)
@ -971,7 +895,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
'flag', help='trace mask we want to set. (for example "nvme").')
p.set_defaults(func=set_trace_flag)
@call_cmd
def clear_log_flag(args):
rpc.log.clear_log_flag(args.client, flag=args.flag)
@ -980,7 +903,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
'flag', help='log flag we want to clear. (for example "nvme").')
p.set_defaults(func=clear_log_flag)
@call_cmd
def clear_trace_flag(args):
print("clear_trace_flag is deprecated - use clear_log_flag instead")
rpc.log.clear_trace_flag(args.client, flag=args.flag)
@ -990,14 +912,12 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
'flag', help='trace mask we want to clear. (for example "nvme").')
p.set_defaults(func=clear_trace_flag)
@call_cmd
def get_log_flags(args):
print_dict(rpc.log.get_log_flags(args.client))
p = subparsers.add_parser('get_log_flags', help='get log flags')
p.set_defaults(func=get_log_flags)
@call_cmd
def get_trace_flags(args):
print("get_trace_flags is deprecated - use get_log_flags instead")
print_dict(rpc.log.get_trace_flags(args.client))
@ -1005,7 +925,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p = subparsers.add_parser('get_trace_flags', help='get trace flags')
p.set_defaults(func=get_trace_flags)
@call_cmd
def set_log_level(args):
rpc.log.set_log_level(args.client, level=args.level)
@ -1013,14 +932,12 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('level', help='log level we want to set. (for example "DEBUG").')
p.set_defaults(func=set_log_level)
@call_cmd
def get_log_level(args):
print_dict(rpc.log.get_log_level(args.client))
p = subparsers.add_parser('get_log_level', help='get log level')
p.set_defaults(func=get_log_level)
@call_cmd
def set_log_print_level(args):
rpc.log.set_log_print_level(args.client, level=args.level)
@ -1028,7 +945,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('level', help='log print level we want to set. (for example "DEBUG").')
p.set_defaults(func=set_log_print_level)
@call_cmd
def get_log_print_level(args):
print_dict(rpc.log.get_log_print_level(args.client))
@ -1036,7 +952,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.set_defaults(func=get_log_print_level)
# lvol
@call_cmd
def construct_lvol_store(args):
print(rpc.lvol.construct_lvol_store(args.client,
bdev_name=args.bdev_name,
@ -1049,7 +964,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('-c', '--cluster-sz', help='size of cluster (in bytes)', type=int, required=False)
p.set_defaults(func=construct_lvol_store)
@call_cmd
def rename_lvol_store(args):
rpc.lvol.rename_lvol_store(args.client,
old_name=args.old_name,
@ -1060,7 +974,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('new_name', help='new name')
p.set_defaults(func=rename_lvol_store)
@call_cmd
def construct_lvol_bdev(args):
print(rpc.lvol.construct_lvol_bdev(args.client,
lvol_name=args.lvol_name,
@ -1077,7 +990,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('size', help='size in MiB for this bdev', type=int)
p.set_defaults(func=construct_lvol_bdev)
@call_cmd
def snapshot_lvol_bdev(args):
print(rpc.lvol.snapshot_lvol_bdev(args.client,
lvol_name=args.lvol_name,
@ -1088,7 +1000,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('snapshot_name', help='lvol snapshot name')
p.set_defaults(func=snapshot_lvol_bdev)
@call_cmd
def clone_lvol_bdev(args):
print(rpc.lvol.clone_lvol_bdev(args.client,
snapshot_name=args.snapshot_name,
@ -1099,7 +1010,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('clone_name', help='lvol clone name')
p.set_defaults(func=clone_lvol_bdev)
@call_cmd
def rename_lvol_bdev(args):
rpc.lvol.rename_lvol_bdev(args.client,
old_name=args.old_name,
@ -1110,7 +1020,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('new_name', help='new lvol name')
p.set_defaults(func=rename_lvol_bdev)
@call_cmd
def inflate_lvol_bdev(args):
rpc.lvol.inflate_lvol_bdev(args.client,
name=args.name)
@ -1119,7 +1028,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('name', help='lvol bdev name')
p.set_defaults(func=inflate_lvol_bdev)
@call_cmd
def decouple_parent_lvol_bdev(args):
rpc.lvol.decouple_parent_lvol_bdev(args.client,
name=args.name)
@ -1128,7 +1036,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('name', help='lvol bdev name')
p.set_defaults(func=decouple_parent_lvol_bdev)
@call_cmd
def resize_lvol_bdev(args):
rpc.lvol.resize_lvol_bdev(args.client,
name=args.name,
@ -1139,7 +1046,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('size', help='new size in MiB for this bdev', type=int)
p.set_defaults(func=resize_lvol_bdev)
@call_cmd
def destroy_lvol_bdev(args):
rpc.lvol.destroy_lvol_bdev(args.client,
name=args.name)
@ -1148,7 +1054,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('name', help='lvol bdev name')
p.set_defaults(func=destroy_lvol_bdev)
@call_cmd
def destroy_lvol_store(args):
rpc.lvol.destroy_lvol_store(args.client,
uuid=args.uuid,
@ -1159,7 +1064,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('-l', '--lvs-name', help='lvol store name', required=False)
p.set_defaults(func=destroy_lvol_store)
@call_cmd
def get_lvol_stores(args):
print_dict(rpc.lvol.get_lvol_stores(args.client,
uuid=args.uuid,
@ -1170,7 +1074,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('-l', '--lvs-name', help='lvol store name', required=False)
p.set_defaults(func=get_lvol_stores)
@call_cmd
def get_raid_bdevs(args):
print_array(rpc.bdev.get_raid_bdevs(args.client,
category=args.category))
@ -1183,7 +1086,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('category', help='all or online or configuring or offline')
p.set_defaults(func=get_raid_bdevs)
@call_cmd
def construct_raid_bdev(args):
base_bdevs = []
for u in args.base_bdevs.strip().split(" "):
@ -1201,7 +1103,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('-b', '--base-bdevs', help='base bdevs name, whitespace separated list in quotes', required=True)
p.set_defaults(func=construct_raid_bdev)
@call_cmd
def destroy_raid_bdev(args):
rpc.bdev.destroy_raid_bdev(args.client,
name=args.name)
@ -1210,7 +1111,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.set_defaults(func=destroy_raid_bdev)
# split
@call_cmd
def construct_split_vbdev(args):
print_array(rpc.bdev.construct_split_vbdev(args.client,
base_bdev=args.base_bdev,
@ -1226,7 +1126,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
exceed the base bdev size.""", type=int)
p.set_defaults(func=construct_split_vbdev)
@call_cmd
def destruct_split_vbdev(args):
rpc.bdev.destruct_split_vbdev(args.client,
base_bdev=args.base_bdev)
@ -1236,7 +1135,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.set_defaults(func=destruct_split_vbdev)
# nbd
@call_cmd
def start_nbd_disk(args):
print(rpc.nbd.start_nbd_disk(args.client,
bdev_name=args.bdev_name,
@ -1247,7 +1145,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('nbd_device', help='Nbd device name to be assigned. Example: /dev/nbd0.')
p.set_defaults(func=start_nbd_disk)
@call_cmd
def stop_nbd_disk(args):
rpc.nbd.stop_nbd_disk(args.client,
nbd_device=args.nbd_device)
@ -1256,7 +1153,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('nbd_device', help='Nbd device name to be stopped. Example: /dev/nbd0.')
p.set_defaults(func=stop_nbd_disk)
@call_cmd
def get_nbd_disks(args):
print_dict(rpc.nbd.get_nbd_disks(args.client,
nbd_device=args.nbd_device))
@ -1266,7 +1162,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.set_defaults(func=get_nbd_disks)
# net
@call_cmd
def add_ip_address(args):
rpc.net.add_ip_address(args.client, ifc_index=args.ifc_index, ip_addr=args.ip_addr)
@ -1275,7 +1170,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('ip_addr', help='ip address will be added.')
p.set_defaults(func=add_ip_address)
@call_cmd
def delete_ip_address(args):
rpc.net.delete_ip_address(args.client, ifc_index=args.ifc_index, ip_addr=args.ip_addr)
@ -1284,7 +1178,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('ip_addr', help='ip address will be deleted.')
p.set_defaults(func=delete_ip_address)
@call_cmd
def get_interfaces(args):
print_dict(rpc.net.get_interfaces(args.client))
@ -1293,7 +1186,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.set_defaults(func=get_interfaces)
# NVMe-oF
@call_cmd
def set_nvmf_target_options(args):
rpc.nvmf.set_nvmf_target_options(args.client,
max_queue_depth=args.max_queue_depth,
@ -1312,7 +1204,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('-u', '--io-unit-size', help='I/O unit size (bytes)', type=int)
p.set_defaults(func=set_nvmf_target_options)
@call_cmd
def set_nvmf_target_max_subsystems(args):
rpc.nvmf.set_nvmf_target_max_subsystems(args.client,
max_subsystems=args.max_subsystems)
@ -1321,7 +1212,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('-x', '--max-subsystems', help='Max number of NVMf subsystems', type=int, required=True)
p.set_defaults(func=set_nvmf_target_max_subsystems)
@call_cmd
def set_nvmf_target_config(args):
rpc.nvmf.set_nvmf_target_config(args.client,
acceptor_poll_rate=args.acceptor_poll_rate,
@ -1335,7 +1225,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
robin manner""")
p.set_defaults(func=set_nvmf_target_config)
@call_cmd
def nvmf_create_transport(args):
rpc.nvmf.nvmf_create_transport(args.client,
trtype=args.trtype,
@ -1356,7 +1245,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('-a', '--max-aq-depth', help='Max number of admin cmds per AQ', type=int)
p.set_defaults(func=nvmf_create_transport)
@call_cmd
def get_nvmf_transports(args):
print_dict(rpc.nvmf.get_nvmf_transports(args.client))
@ -1364,7 +1252,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
help='Display nvmf transports')
p.set_defaults(func=get_nvmf_transports)
@call_cmd
def get_nvmf_subsystems(args):
print_dict(rpc.nvmf.get_nvmf_subsystems(args.client))
@ -1372,7 +1259,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
help='Display nvmf subsystems')
p.set_defaults(func=get_nvmf_subsystems)
@call_cmd
def construct_nvmf_subsystem(args):
listen_addresses = None
hosts = None
@ -1434,7 +1320,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
type=int, default=0)
p.set_defaults(func=construct_nvmf_subsystem)
@call_cmd
def nvmf_subsystem_create(args):
rpc.nvmf.nvmf_subsystem_create(args.client,
nqn=args.nqn,
@ -1452,7 +1337,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
type=int, default=0)
p.set_defaults(func=nvmf_subsystem_create)
@call_cmd
def delete_nvmf_subsystem(args):
rpc.nvmf.delete_nvmf_subsystem(args.client,
nqn=args.subsystem_nqn)
@ -1463,7 +1347,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
help='subsystem nqn to be deleted. Example: nqn.2016-06.io.spdk:cnode1.')
p.set_defaults(func=delete_nvmf_subsystem)
@call_cmd
def nvmf_subsystem_add_listener(args):
rpc.nvmf.nvmf_subsystem_add_listener(args.client,
nqn=args.nqn,
@ -1480,7 +1363,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('-s', '--trsvcid', help='NVMe-oF transport service id: e.g., a port number')
p.set_defaults(func=nvmf_subsystem_add_listener)
@call_cmd
def nvmf_subsystem_remove_listener(args):
rpc.nvmf.nvmf_subsystem_remove_listener(args.client,
nqn=args.nqn,
@ -1497,7 +1379,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('-s', '--trsvcid', help='NVMe-oF transport service id: e.g., a port number')
p.set_defaults(func=nvmf_subsystem_remove_listener)
@call_cmd
def nvmf_subsystem_add_ns(args):
rpc.nvmf.nvmf_subsystem_add_ns(args.client,
nqn=args.nqn,
@ -1516,7 +1397,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('-u', '--uuid', help='Namespace UUID (optional)')
p.set_defaults(func=nvmf_subsystem_add_ns)
@call_cmd
def nvmf_subsystem_remove_ns(args):
rpc.nvmf.nvmf_subsystem_remove_ns(args.client,
nqn=args.nqn,
@ -1527,7 +1407,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('nsid', help='The requested NSID', type=int)
p.set_defaults(func=nvmf_subsystem_remove_ns)
@call_cmd
def nvmf_subsystem_add_host(args):
rpc.nvmf.nvmf_subsystem_add_host(args.client,
nqn=args.nqn,
@ -1538,7 +1417,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('host', help='Host NQN to allow')
p.set_defaults(func=nvmf_subsystem_add_host)
@call_cmd
def nvmf_subsystem_remove_host(args):
rpc.nvmf.nvmf_subsystem_remove_host(args.client,
nqn=args.nqn,
@ -1549,7 +1427,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('host', help='Host NQN to remove')
p.set_defaults(func=nvmf_subsystem_remove_host)
@call_cmd
def nvmf_subsystem_allow_any_host(args):
rpc.nvmf.nvmf_subsystem_allow_any_host(args.client,
nqn=args.nqn,
@ -1562,7 +1439,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.set_defaults(func=nvmf_subsystem_allow_any_host)
# pmem
@call_cmd
def create_pmem_pool(args):
num_blocks = int((args.total_size * 1024 * 1024) / args.block_size)
rpc.pmem.create_pmem_pool(args.client,
@ -1576,7 +1452,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('block_size', help='Block size for this pmem pool', type=int)
p.set_defaults(func=create_pmem_pool)
@call_cmd
def pmem_pool_info(args):
print_dict(rpc.pmem.pmem_pool_info(args.client,
pmem_file=args.pmem_file))
@ -1585,7 +1460,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('pmem_file', help='Path to pmemblk pool file')
p.set_defaults(func=pmem_pool_info)
@call_cmd
def delete_pmem_pool(args):
rpc.pmem.delete_pmem_pool(args.client,
pmem_file=args.pmem_file)
@ -1595,7 +1469,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.set_defaults(func=delete_pmem_pool)
# subsystem
@call_cmd
def get_subsystems(args):
print_dict(rpc.subsystem.get_subsystems(args.client))
@ -1603,7 +1476,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
entry contain (unsorted) array of subsystems it depends on.""")
p.set_defaults(func=get_subsystems)
@call_cmd
def get_subsystem_config(args):
print_dict(rpc.subsystem.get_subsystem_config(args.client, args.name))
@ -1612,7 +1484,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.set_defaults(func=get_subsystem_config)
# vhost
@call_cmd
def set_vhost_controller_coalescing(args):
rpc.vhost.set_vhost_controller_coalescing(args.client,
ctrlr=args.ctrlr,
@ -1625,7 +1496,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('iops_threshold', help='IOPS threshold when coalescing is enabled', type=int)
p.set_defaults(func=set_vhost_controller_coalescing)
@call_cmd
def construct_vhost_scsi_controller(args):
rpc.vhost.construct_vhost_scsi_controller(args.client,
ctrlr=args.ctrlr,
@ -1637,7 +1507,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('--cpumask', help='cpu mask for this controller')
p.set_defaults(func=construct_vhost_scsi_controller)
@call_cmd
def add_vhost_scsi_lun(args):
rpc.vhost.add_vhost_scsi_lun(args.client,
ctrlr=args.ctrlr,
@ -1651,7 +1520,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('bdev_name', help='bdev name')
p.set_defaults(func=add_vhost_scsi_lun)
@call_cmd
def remove_vhost_scsi_target(args):
rpc.vhost.remove_vhost_scsi_target(args.client,
ctrlr=args.ctrlr,
@ -1662,7 +1530,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('scsi_target_num', help='scsi_target_num', type=int)
p.set_defaults(func=remove_vhost_scsi_target)
@call_cmd
def construct_vhost_blk_controller(args):
rpc.vhost.construct_vhost_blk_controller(args.client,
ctrlr=args.ctrlr,
@ -1677,7 +1544,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument("-r", "--readonly", action='store_true', help='Set controller as read-only')
p.set_defaults(func=construct_vhost_blk_controller)
@call_cmd
def construct_vhost_nvme_controller(args):
rpc.vhost.construct_vhost_nvme_controller(args.client,
ctrlr=args.ctrlr,
@ -1690,7 +1556,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('--cpumask', help='cpu mask for this controller')
p.set_defaults(func=construct_vhost_nvme_controller)
@call_cmd
def add_vhost_nvme_ns(args):
rpc.vhost.add_vhost_nvme_ns(args.client,
ctrlr=args.ctrlr,
@ -1701,7 +1566,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('bdev_name', help='block device name for a new Namespace')
p.set_defaults(func=add_vhost_nvme_ns)
@call_cmd
def get_vhost_controllers(args):
print_dict(rpc.vhost.get_vhost_controllers(args.client, args.name))
@ -1709,7 +1573,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('-n', '--name', help="Name of vhost controller", required=False)
p.set_defaults(func=get_vhost_controllers)
@call_cmd
def remove_vhost_controller(args):
rpc.vhost.remove_vhost_controller(args.client,
ctrlr=args.ctrlr)
@ -1718,7 +1581,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('ctrlr', help='controller name')
p.set_defaults(func=remove_vhost_controller)
@call_cmd
def construct_virtio_dev(args):
print_array(rpc.vhost.construct_virtio_dev(args.client,
name=args.name,
@ -1742,7 +1604,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('--vq-size', help='Size of each queue', type=int)
p.set_defaults(func=construct_virtio_dev)
@call_cmd
def construct_virtio_user_scsi_bdev(args):
print_array(rpc.vhost.construct_virtio_user_scsi_bdev(args.client,
path=args.path,
@ -1760,7 +1621,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('--vq-size', help='Size of each queue', type=int)
p.set_defaults(func=construct_virtio_user_scsi_bdev)
@call_cmd
def construct_virtio_pci_scsi_bdev(args):
print_array(rpc.vhost.construct_virtio_pci_scsi_bdev(args.client,
pci_address=args.pci_address,
@ -1774,14 +1634,12 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
It will be inhereted by all created bdevs, which are named n the following format: <name>t<target_id>""")
p.set_defaults(func=construct_virtio_pci_scsi_bdev)
@call_cmd
def get_virtio_scsi_devs(args):
print_dict(rpc.vhost.get_virtio_scsi_devs(args.client))
p = subparsers.add_parser('get_virtio_scsi_devs', help='List all Virtio-SCSI devices.')
p.set_defaults(func=get_virtio_scsi_devs)
@call_cmd
def remove_virtio_scsi_bdev(args):
rpc.vhost.remove_virtio_scsi_bdev(args.client,
name=args.name)
@ -1791,7 +1649,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('name', help='Virtio device name. E.g. VirtioUser0')
p.set_defaults(func=remove_virtio_scsi_bdev)
@call_cmd
def remove_virtio_bdev(args):
rpc.vhost.remove_virtio_bdev(args.client,
name=args.name)
@ -1801,7 +1658,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('name', help='Virtio device name. E.g. VirtioUser0')
p.set_defaults(func=remove_virtio_bdev)
@call_cmd
def construct_virtio_user_blk_bdev(args):
print(rpc.vhost.construct_virtio_user_blk_bdev(args.client,
path=args.path,
@ -1816,7 +1672,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('--vq-size', help='Size of each queue', type=int)
p.set_defaults(func=construct_virtio_user_blk_bdev)
@call_cmd
def construct_virtio_pci_blk_bdev(args):
print(rpc.vhost.construct_virtio_pci_blk_bdev(args.client,
pci_address=args.pci_address,
@ -1829,7 +1684,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.set_defaults(func=construct_virtio_pci_blk_bdev)
# ioat
@call_cmd
def scan_ioat_copy_engine(args):
pci_whitelist = []
if args.pci_whitelist:
@ -1843,7 +1697,6 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.set_defaults(func=scan_ioat_copy_engine)
# send_nvme_cmd
@call_cmd
def send_nvme_cmd(args):
print_dict(rpc.nvme.send_nvme_cmd(args.client,
name=args.nvme_name,
@ -1873,7 +1726,8 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
try:
args.client = rpc.client.JSONRPCClient(args.server_addr, args.port, args.verbose, args.timeout)
args.func(args)
except JSONRPCException as ex:
print("Exception:")
print(ex.message)
exit(1)
args.func(args)