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:
parent
a404d9aa23
commit
f7cb69cb60
150
scripts/rpc.py
150
scripts/rpc.py
@ -16,16 +16,6 @@ def print_array(a):
|
|||||||
print(" ".join((quote(v) for v in 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__":
|
if __name__ == "__main__":
|
||||||
parser = argparse.ArgumentParser(
|
parser = argparse.ArgumentParser(
|
||||||
description='SPDK RPC command line interface')
|
description='SPDK RPC command line interface')
|
||||||
@ -41,21 +31,18 @@ if __name__ == "__main__":
|
|||||||
help='Verbose mode', action='store_true')
|
help='Verbose mode', action='store_true')
|
||||||
subparsers = parser.add_subparsers(help='RPC methods')
|
subparsers = parser.add_subparsers(help='RPC methods')
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def start_subsystem_init(args):
|
def start_subsystem_init(args):
|
||||||
rpc.start_subsystem_init(args.client)
|
rpc.start_subsystem_init(args.client)
|
||||||
|
|
||||||
p = subparsers.add_parser('start_subsystem_init', help='Start initialization of subsystems')
|
p = subparsers.add_parser('start_subsystem_init', help='Start initialization of subsystems')
|
||||||
p.set_defaults(func=start_subsystem_init)
|
p.set_defaults(func=start_subsystem_init)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def wait_subsystem_init(args):
|
def wait_subsystem_init(args):
|
||||||
rpc.wait_subsystem_init(args.client)
|
rpc.wait_subsystem_init(args.client)
|
||||||
|
|
||||||
p = subparsers.add_parser('wait_subsystem_init', help='Block until subsystems have been initialized')
|
p = subparsers.add_parser('wait_subsystem_init', help='Block until subsystems have been initialized')
|
||||||
p.set_defaults(func=wait_subsystem_init)
|
p.set_defaults(func=wait_subsystem_init)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_rpc_methods(args):
|
def get_rpc_methods(args):
|
||||||
print_dict(rpc.get_rpc_methods(args.client,
|
print_dict(rpc.get_rpc_methods(args.client,
|
||||||
current=args.current))
|
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.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)
|
p.set_defaults(func=get_rpc_methods)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def save_config(args):
|
def save_config(args):
|
||||||
rpc.save_config(args.client,
|
rpc.save_config(args.client,
|
||||||
sys.stdout,
|
sys.stdout,
|
||||||
@ -76,14 +62,12 @@ if __name__ == "__main__":
|
|||||||
""", type=int, default=2)
|
""", type=int, default=2)
|
||||||
p.set_defaults(func=save_config)
|
p.set_defaults(func=save_config)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def load_config(args):
|
def load_config(args):
|
||||||
rpc.load_config(args.client, sys.stdin)
|
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 = subparsers.add_parser('load_config', help="""Configure SPDK subsystems and targets using JSON RPC read from stdin.""")
|
||||||
p.set_defaults(func=load_config)
|
p.set_defaults(func=load_config)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def save_subsystem_config(args):
|
def save_subsystem_config(args):
|
||||||
rpc.save_subsystem_config(args.client,
|
rpc.save_subsystem_config(args.client,
|
||||||
sys.stdout,
|
sys.stdout,
|
||||||
@ -97,7 +81,6 @@ if __name__ == "__main__":
|
|||||||
p.add_argument('-n', '--name', help='Name of subsystem', required=True)
|
p.add_argument('-n', '--name', help='Name of subsystem', required=True)
|
||||||
p.set_defaults(func=save_subsystem_config)
|
p.set_defaults(func=save_subsystem_config)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def load_subsystem_config(args):
|
def load_subsystem_config(args):
|
||||||
rpc.load_subsystem_config(args.client,
|
rpc.load_subsystem_config(args.client,
|
||||||
sys.stdin)
|
sys.stdin)
|
||||||
@ -106,7 +89,6 @@ if __name__ == "__main__":
|
|||||||
p.set_defaults(func=load_subsystem_config)
|
p.set_defaults(func=load_subsystem_config)
|
||||||
|
|
||||||
# app
|
# app
|
||||||
@call_cmd
|
|
||||||
def kill_instance(args):
|
def kill_instance(args):
|
||||||
rpc.app.kill_instance(args.client,
|
rpc.app.kill_instance(args.client,
|
||||||
sig_name=args.sig_name)
|
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.add_argument('sig_name', help='signal will be sent to server.')
|
||||||
p.set_defaults(func=kill_instance)
|
p.set_defaults(func=kill_instance)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def context_switch_monitor(args):
|
def context_switch_monitor(args):
|
||||||
enabled = None
|
enabled = None
|
||||||
if args.enable:
|
if args.enable:
|
||||||
@ -131,7 +112,6 @@ if __name__ == "__main__":
|
|||||||
p.set_defaults(func=context_switch_monitor)
|
p.set_defaults(func=context_switch_monitor)
|
||||||
|
|
||||||
# bdev
|
# bdev
|
||||||
@call_cmd
|
|
||||||
def set_bdev_options(args):
|
def set_bdev_options(args):
|
||||||
rpc.bdev.set_bdev_options(args.client,
|
rpc.bdev.set_bdev_options(args.client,
|
||||||
bdev_io_pool_size=args.bdev_io_pool_size,
|
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.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)
|
p.set_defaults(func=set_bdev_options)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def construct_crypto_bdev(args):
|
def construct_crypto_bdev(args):
|
||||||
print(rpc.bdev.construct_crypto_bdev(args.client,
|
print(rpc.bdev.construct_crypto_bdev(args.client,
|
||||||
base_bdev_name=args.base_bdev_name,
|
base_bdev_name=args.base_bdev_name,
|
||||||
@ -157,7 +136,6 @@ if __name__ == "__main__":
|
|||||||
p.add_argument('-k', '--key', help="Key")
|
p.add_argument('-k', '--key', help="Key")
|
||||||
p.set_defaults(func=construct_crypto_bdev)
|
p.set_defaults(func=construct_crypto_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def delete_crypto_bdev(args):
|
def delete_crypto_bdev(args):
|
||||||
rpc.bdev.delete_crypto_bdev(args.client,
|
rpc.bdev.delete_crypto_bdev(args.client,
|
||||||
name=args.name)
|
name=args.name)
|
||||||
@ -166,7 +144,6 @@ if __name__ == "__main__":
|
|||||||
p.add_argument('name', help='crypto bdev name')
|
p.add_argument('name', help='crypto bdev name')
|
||||||
p.set_defaults(func=delete_crypto_bdev)
|
p.set_defaults(func=delete_crypto_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def construct_malloc_bdev(args):
|
def construct_malloc_bdev(args):
|
||||||
num_blocks = (args.total_size * 1024 * 1024) // args.block_size
|
num_blocks = (args.total_size * 1024 * 1024) // args.block_size
|
||||||
print(rpc.bdev.construct_malloc_bdev(args.client,
|
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.add_argument('block_size', help='Block size for this bdev', type=int)
|
||||||
p.set_defaults(func=construct_malloc_bdev)
|
p.set_defaults(func=construct_malloc_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def delete_malloc_bdev(args):
|
def delete_malloc_bdev(args):
|
||||||
rpc.bdev.delete_malloc_bdev(args.client,
|
rpc.bdev.delete_malloc_bdev(args.client,
|
||||||
name=args.name)
|
name=args.name)
|
||||||
@ -192,7 +168,6 @@ if __name__ == "__main__":
|
|||||||
p.add_argument('name', help='malloc bdev name')
|
p.add_argument('name', help='malloc bdev name')
|
||||||
p.set_defaults(func=delete_malloc_bdev)
|
p.set_defaults(func=delete_malloc_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def construct_null_bdev(args):
|
def construct_null_bdev(args):
|
||||||
num_blocks = (args.total_size * 1024 * 1024) // args.block_size
|
num_blocks = (args.total_size * 1024 * 1024) // args.block_size
|
||||||
print(rpc.bdev.construct_null_bdev(args.client,
|
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.add_argument('block_size', help='Block size for this bdev', type=int)
|
||||||
p.set_defaults(func=construct_null_bdev)
|
p.set_defaults(func=construct_null_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def delete_null_bdev(args):
|
def delete_null_bdev(args):
|
||||||
rpc.bdev.delete_null_bdev(args.client,
|
rpc.bdev.delete_null_bdev(args.client,
|
||||||
name=args.name)
|
name=args.name)
|
||||||
@ -219,7 +193,6 @@ if __name__ == "__main__":
|
|||||||
p.add_argument('name', help='null bdev name')
|
p.add_argument('name', help='null bdev name')
|
||||||
p.set_defaults(func=delete_null_bdev)
|
p.set_defaults(func=delete_null_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def construct_aio_bdev(args):
|
def construct_aio_bdev(args):
|
||||||
print(rpc.bdev.construct_aio_bdev(args.client,
|
print(rpc.bdev.construct_aio_bdev(args.client,
|
||||||
filename=args.filename,
|
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.add_argument('block_size', help='Block size for this bdev', type=int, nargs='?', default=0)
|
||||||
p.set_defaults(func=construct_aio_bdev)
|
p.set_defaults(func=construct_aio_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def delete_aio_bdev(args):
|
def delete_aio_bdev(args):
|
||||||
rpc.bdev.delete_aio_bdev(args.client,
|
rpc.bdev.delete_aio_bdev(args.client,
|
||||||
name=args.name)
|
name=args.name)
|
||||||
@ -242,7 +214,6 @@ if __name__ == "__main__":
|
|||||||
p.add_argument('name', help='aio bdev name')
|
p.add_argument('name', help='aio bdev name')
|
||||||
p.set_defaults(func=delete_aio_bdev)
|
p.set_defaults(func=delete_aio_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def set_bdev_nvme_options(args):
|
def set_bdev_nvme_options(args):
|
||||||
rpc.bdev.set_bdev_nvme_options(args.client,
|
rpc.bdev.set_bdev_nvme_options(args.client,
|
||||||
action_on_timeout=args.action_on_timeout,
|
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)
|
help='How often the admin queue is polled for asynchronous events', type=int)
|
||||||
p.set_defaults(func=set_bdev_nvme_options)
|
p.set_defaults(func=set_bdev_nvme_options)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def set_bdev_nvme_hotplug(args):
|
def set_bdev_nvme_hotplug(args):
|
||||||
rpc.bdev.set_bdev_nvme_hotplug(args.client, enable=args.enable, period_us=args.period_us)
|
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)
|
help='How often the hotplug is processed for insert and remove events', type=int)
|
||||||
p.set_defaults(func=set_bdev_nvme_hotplug)
|
p.set_defaults(func=set_bdev_nvme_hotplug)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def construct_nvme_bdev(args):
|
def construct_nvme_bdev(args):
|
||||||
print_array(rpc.bdev.construct_nvme_bdev(args.client,
|
print_array(rpc.bdev.construct_nvme_bdev(args.client,
|
||||||
name=args.name,
|
name=args.name,
|
||||||
@ -298,7 +267,6 @@ if __name__ == "__main__":
|
|||||||
p.add_argument('-n', '--subnqn', help='NVMe-oF target subnqn')
|
p.add_argument('-n', '--subnqn', help='NVMe-oF target subnqn')
|
||||||
p.set_defaults(func=construct_nvme_bdev)
|
p.set_defaults(func=construct_nvme_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_nvme_controllers(args):
|
def get_nvme_controllers(args):
|
||||||
print_dict(rpc.nvme.get_nvme_controllers(args.client,
|
print_dict(rpc.nvme.get_nvme_controllers(args.client,
|
||||||
name=args.name))
|
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.add_argument('-n', '--name', help="Name of the NVMe controller. Example: Nvme0", required=False)
|
||||||
p.set_defaults(func=get_nvme_controllers)
|
p.set_defaults(func=get_nvme_controllers)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def delete_nvme_controller(args):
|
def delete_nvme_controller(args):
|
||||||
rpc.bdev.delete_nvme_controller(args.client,
|
rpc.bdev.delete_nvme_controller(args.client,
|
||||||
name=args.name)
|
name=args.name)
|
||||||
@ -318,7 +285,6 @@ if __name__ == "__main__":
|
|||||||
p.add_argument('name', help="Name of the controller")
|
p.add_argument('name', help="Name of the controller")
|
||||||
p.set_defaults(func=delete_nvme_controller)
|
p.set_defaults(func=delete_nvme_controller)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def construct_rbd_bdev(args):
|
def construct_rbd_bdev(args):
|
||||||
print(rpc.bdev.construct_rbd_bdev(args.client,
|
print(rpc.bdev.construct_rbd_bdev(args.client,
|
||||||
name=args.name,
|
name=args.name,
|
||||||
@ -334,7 +300,6 @@ if __name__ == "__main__":
|
|||||||
p.add_argument('block_size', help='rbd block size', type=int)
|
p.add_argument('block_size', help='rbd block size', type=int)
|
||||||
p.set_defaults(func=construct_rbd_bdev)
|
p.set_defaults(func=construct_rbd_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def delete_rbd_bdev(args):
|
def delete_rbd_bdev(args):
|
||||||
rpc.bdev.delete_rbd_bdev(args.client,
|
rpc.bdev.delete_rbd_bdev(args.client,
|
||||||
name=args.name)
|
name=args.name)
|
||||||
@ -343,7 +308,6 @@ if __name__ == "__main__":
|
|||||||
p.add_argument('name', help='rbd bdev name')
|
p.add_argument('name', help='rbd bdev name')
|
||||||
p.set_defaults(func=delete_rbd_bdev)
|
p.set_defaults(func=delete_rbd_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def construct_error_bdev(args):
|
def construct_error_bdev(args):
|
||||||
print(rpc.bdev.construct_error_bdev(args.client,
|
print(rpc.bdev.construct_error_bdev(args.client,
|
||||||
base_name=args.base_name))
|
base_name=args.base_name))
|
||||||
@ -353,7 +317,6 @@ if __name__ == "__main__":
|
|||||||
p.add_argument('base_name', help='base bdev name')
|
p.add_argument('base_name', help='base bdev name')
|
||||||
p.set_defaults(func=construct_error_bdev)
|
p.set_defaults(func=construct_error_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def delete_error_bdev(args):
|
def delete_error_bdev(args):
|
||||||
rpc.bdev.delete_error_bdev(args.client,
|
rpc.bdev.delete_error_bdev(args.client,
|
||||||
name=args.name)
|
name=args.name)
|
||||||
@ -362,7 +325,6 @@ if __name__ == "__main__":
|
|||||||
p.add_argument('name', help='error bdev name')
|
p.add_argument('name', help='error bdev name')
|
||||||
p.set_defaults(func=delete_error_bdev)
|
p.set_defaults(func=delete_error_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def construct_iscsi_bdev(args):
|
def construct_iscsi_bdev(args):
|
||||||
print(rpc.bdev.construct_iscsi_bdev(args.client,
|
print(rpc.bdev.construct_iscsi_bdev(args.client,
|
||||||
name=args.name,
|
name=args.name,
|
||||||
@ -376,7 +338,6 @@ if __name__ == "__main__":
|
|||||||
p.add_argument('--url', help="iSCSI Lun URL", required=True)
|
p.add_argument('--url', help="iSCSI Lun URL", required=True)
|
||||||
p.set_defaults(func=construct_iscsi_bdev)
|
p.set_defaults(func=construct_iscsi_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def delete_iscsi_bdev(args):
|
def delete_iscsi_bdev(args):
|
||||||
rpc.bdev.delete_iscsi_bdev(args.client,
|
rpc.bdev.delete_iscsi_bdev(args.client,
|
||||||
name=args.name)
|
name=args.name)
|
||||||
@ -385,7 +346,6 @@ if __name__ == "__main__":
|
|||||||
p.add_argument('name', help='iSCSI bdev name')
|
p.add_argument('name', help='iSCSI bdev name')
|
||||||
p.set_defaults(func=delete_iscsi_bdev)
|
p.set_defaults(func=delete_iscsi_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def construct_pmem_bdev(args):
|
def construct_pmem_bdev(args):
|
||||||
print(rpc.bdev.construct_pmem_bdev(args.client,
|
print(rpc.bdev.construct_pmem_bdev(args.client,
|
||||||
pmem_file=args.pmem_file,
|
pmem_file=args.pmem_file,
|
||||||
@ -396,7 +356,6 @@ if __name__ == "__main__":
|
|||||||
p.add_argument('-n', '--name', help='Block device name', required=True)
|
p.add_argument('-n', '--name', help='Block device name', required=True)
|
||||||
p.set_defaults(func=construct_pmem_bdev)
|
p.set_defaults(func=construct_pmem_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def delete_pmem_bdev(args):
|
def delete_pmem_bdev(args):
|
||||||
rpc.bdev.delete_pmem_bdev(args.client,
|
rpc.bdev.delete_pmem_bdev(args.client,
|
||||||
name=args.name)
|
name=args.name)
|
||||||
@ -405,7 +364,6 @@ if __name__ == "__main__":
|
|||||||
p.add_argument('name', help='pmem bdev name')
|
p.add_argument('name', help='pmem bdev name')
|
||||||
p.set_defaults(func=delete_pmem_bdev)
|
p.set_defaults(func=delete_pmem_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def construct_passthru_bdev(args):
|
def construct_passthru_bdev(args):
|
||||||
print(rpc.bdev.construct_passthru_bdev(args.client,
|
print(rpc.bdev.construct_passthru_bdev(args.client,
|
||||||
base_bdev_name=args.base_bdev_name,
|
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.add_argument('-p', '--name', help="Name of the pass through bdev", required=True)
|
||||||
p.set_defaults(func=construct_passthru_bdev)
|
p.set_defaults(func=construct_passthru_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def delete_passthru_bdev(args):
|
def delete_passthru_bdev(args):
|
||||||
rpc.bdev.delete_passthru_bdev(args.client,
|
rpc.bdev.delete_passthru_bdev(args.client,
|
||||||
name=args.name)
|
name=args.name)
|
||||||
@ -426,7 +383,6 @@ if __name__ == "__main__":
|
|||||||
p.add_argument('name', help='pass through bdev name')
|
p.add_argument('name', help='pass through bdev name')
|
||||||
p.set_defaults(func=delete_passthru_bdev)
|
p.set_defaults(func=delete_passthru_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_bdevs(args):
|
def get_bdevs(args):
|
||||||
print_dict(rpc.bdev.get_bdevs(args.client,
|
print_dict(rpc.bdev.get_bdevs(args.client,
|
||||||
name=args.name))
|
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.add_argument('-b', '--name', help="Name of the Blockdev. Example: Nvme0n1", required=False)
|
||||||
p.set_defaults(func=get_bdevs)
|
p.set_defaults(func=get_bdevs)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_bdevs_iostat(args):
|
def get_bdevs_iostat(args):
|
||||||
print_dict(rpc.bdev.get_bdevs_iostat(args.client,
|
print_dict(rpc.bdev.get_bdevs_iostat(args.client,
|
||||||
name=args.name))
|
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.add_argument('-b', '--name', help="Name of the Blockdev. Example: Nvme0n1", required=False)
|
||||||
p.set_defaults(func=get_bdevs_iostat)
|
p.set_defaults(func=get_bdevs_iostat)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def delete_bdev(args):
|
def delete_bdev(args):
|
||||||
rpc.bdev.delete_bdev(args.client,
|
rpc.bdev.delete_bdev(args.client,
|
||||||
bdev_name=args.bdev_name)
|
bdev_name=args.bdev_name)
|
||||||
@ -456,7 +410,6 @@ if __name__ == "__main__":
|
|||||||
'bdev_name', help='Blockdev name to be deleted. Example: Malloc0.')
|
'bdev_name', help='Blockdev name to be deleted. Example: Malloc0.')
|
||||||
p.set_defaults(func=delete_bdev)
|
p.set_defaults(func=delete_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def set_bdev_qd_sampling_period(args):
|
def set_bdev_qd_sampling_period(args):
|
||||||
rpc.bdev.set_bdev_qd_sampling_period(args.client,
|
rpc.bdev.set_bdev_qd_sampling_period(args.client,
|
||||||
name=args.name,
|
name=args.name,
|
||||||
@ -469,7 +422,6 @@ if __name__ == "__main__":
|
|||||||
type=int)
|
type=int)
|
||||||
p.set_defaults(func=set_bdev_qd_sampling_period)
|
p.set_defaults(func=set_bdev_qd_sampling_period)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def set_bdev_qos_limit(args):
|
def set_bdev_qos_limit(args):
|
||||||
rpc.bdev.set_bdev_qos_limit(args.client,
|
rpc.bdev.set_bdev_qos_limit(args.client,
|
||||||
name=args.name,
|
name=args.name,
|
||||||
@ -486,7 +438,6 @@ if __name__ == "__main__":
|
|||||||
type=int, required=False)
|
type=int, required=False)
|
||||||
p.set_defaults(func=set_bdev_qos_limit)
|
p.set_defaults(func=set_bdev_qos_limit)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def bdev_inject_error(args):
|
def bdev_inject_error(args):
|
||||||
rpc.bdev.bdev_inject_error(args.client,
|
rpc.bdev.bdev_inject_error(args.client,
|
||||||
name=args.name,
|
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)
|
'-n', '--num', help='the number of commands you want to fail', type=int, default=1)
|
||||||
p.set_defaults(func=bdev_inject_error)
|
p.set_defaults(func=bdev_inject_error)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def apply_firmware(args):
|
def apply_firmware(args):
|
||||||
print_dict(rpc.bdev.apply_firmware(args.client,
|
print_dict(rpc.bdev.apply_firmware(args.client,
|
||||||
bdev_name=args.bdev_name,
|
bdev_name=args.bdev_name,
|
||||||
@ -514,7 +464,6 @@ if __name__ == "__main__":
|
|||||||
p.set_defaults(func=apply_firmware)
|
p.set_defaults(func=apply_firmware)
|
||||||
|
|
||||||
# iSCSI
|
# iSCSI
|
||||||
@call_cmd
|
|
||||||
def set_iscsi_options(args):
|
def set_iscsi_options(args):
|
||||||
rpc.iscsi.set_iscsi_options(
|
rpc.iscsi.set_iscsi_options(
|
||||||
args.client,
|
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.add_argument('-u', '--min-connections-per-core', help='Allocation unit of connections per core', type=int)
|
||||||
p.set_defaults(func=set_iscsi_options)
|
p.set_defaults(func=set_iscsi_options)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def set_iscsi_discovery_auth(args):
|
def set_iscsi_discovery_auth(args):
|
||||||
rpc.iscsi.set_iscsi_discovery_auth(
|
rpc.iscsi.set_iscsi_discovery_auth(
|
||||||
args.client,
|
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)
|
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)
|
p.set_defaults(func=add_iscsi_auth_group)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def delete_iscsi_auth_group(args):
|
def delete_iscsi_auth_group(args):
|
||||||
rpc.iscsi.delete_iscsi_auth_group(args.client, tag=args.tag)
|
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.add_argument('tag', help='Authentication group tag', type=int)
|
||||||
p.set_defaults(func=delete_iscsi_auth_group)
|
p.set_defaults(func=delete_iscsi_auth_group)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def add_secret_to_iscsi_auth_group(args):
|
def add_secret_to_iscsi_auth_group(args):
|
||||||
rpc.iscsi.add_secret_to_iscsi_auth_group(
|
rpc.iscsi.add_secret_to_iscsi_auth_group(
|
||||||
args.client,
|
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.add_argument('-r', '--msecret', help='Secret for mutual CHAP authentication')
|
||||||
p.set_defaults(func=add_secret_to_iscsi_auth_group)
|
p.set_defaults(func=add_secret_to_iscsi_auth_group)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def delete_secret_from_iscsi_auth_group(args):
|
def delete_secret_from_iscsi_auth_group(args):
|
||||||
rpc.iscsi.delete_secret_from_iscsi_auth_group(args.client, tag=args.tag, user=args.user)
|
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.add_argument('-u', '--user', help='User name for one-way CHAP authentication', required=True)
|
||||||
p.set_defaults(func=delete_secret_from_iscsi_auth_group)
|
p.set_defaults(func=delete_secret_from_iscsi_auth_group)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_iscsi_auth_groups(args):
|
def get_iscsi_auth_groups(args):
|
||||||
print_dict(rpc.iscsi.get_iscsi_auth_groups(args.client))
|
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')
|
help='Display current authentication group configuration')
|
||||||
p.set_defaults(func=get_iscsi_auth_groups)
|
p.set_defaults(func=get_iscsi_auth_groups)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_portal_groups(args):
|
def get_portal_groups(args):
|
||||||
print_dict(rpc.iscsi.get_portal_groups(args.client))
|
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')
|
'get_portal_groups', help='Display current portal group configuration')
|
||||||
p.set_defaults(func=get_portal_groups)
|
p.set_defaults(func=get_portal_groups)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_initiator_groups(args):
|
def get_initiator_groups(args):
|
||||||
print_dict(rpc.iscsi.get_initiator_groups(args.client))
|
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')
|
help='Display current initiator group configuration')
|
||||||
p.set_defaults(func=get_initiator_groups)
|
p.set_defaults(func=get_initiator_groups)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_target_nodes(args):
|
def get_target_nodes(args):
|
||||||
print_dict(rpc.iscsi.get_target_nodes(args.client))
|
print_dict(rpc.iscsi.get_target_nodes(args.client))
|
||||||
|
|
||||||
p = subparsers.add_parser('get_target_nodes', help='Display target nodes')
|
p = subparsers.add_parser('get_target_nodes', help='Display target nodes')
|
||||||
p.set_defaults(func=get_target_nodes)
|
p.set_defaults(func=get_target_nodes)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def construct_target_node(args):
|
def construct_target_node(args):
|
||||||
luns = []
|
luns = []
|
||||||
for u in args.bdev_name_id_pairs.strip().split(" "):
|
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')
|
help='Data Digest should be required for this target node.', action='store_true')
|
||||||
p.set_defaults(func=construct_target_node)
|
p.set_defaults(func=construct_target_node)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def target_node_add_lun(args):
|
def target_node_add_lun(args):
|
||||||
rpc.iscsi.target_node_add_lun(
|
rpc.iscsi.target_node_add_lun(
|
||||||
args.client,
|
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)
|
*** 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)
|
p.set_defaults(func=target_node_add_lun)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def set_iscsi_target_node_auth(args):
|
def set_iscsi_target_node_auth(args):
|
||||||
rpc.iscsi.set_iscsi_target_node_auth(
|
rpc.iscsi.set_iscsi_target_node_auth(
|
||||||
args.client,
|
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')
|
action='store_true')
|
||||||
p.set_defaults(func=set_iscsi_target_node_auth)
|
p.set_defaults(func=set_iscsi_target_node_auth)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def add_pg_ig_maps(args):
|
def add_pg_ig_maps(args):
|
||||||
pg_ig_maps = []
|
pg_ig_maps = []
|
||||||
for u in args.pg_ig_mappings.strip().split(" "):
|
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 ***""")
|
*** The Portal/Initiator Groups must be precreated ***""")
|
||||||
p.set_defaults(func=add_pg_ig_maps)
|
p.set_defaults(func=add_pg_ig_maps)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def delete_pg_ig_maps(args):
|
def delete_pg_ig_maps(args):
|
||||||
pg_ig_maps = []
|
pg_ig_maps = []
|
||||||
for u in args.pg_ig_mappings.strip().split(" "):
|
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 ***""")
|
*** The Portal/Initiator Groups must be precreated ***""")
|
||||||
p.set_defaults(func=delete_pg_ig_maps)
|
p.set_defaults(func=delete_pg_ig_maps)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def add_portal_group(args):
|
def add_portal_group(args):
|
||||||
portals = []
|
portals = []
|
||||||
for p in args.portal_list:
|
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""")
|
Example: '192.168.100.100:3260' '192.168.100.100:3261' '192.168.100.100:3262@0x1""")
|
||||||
p.set_defaults(func=add_portal_group)
|
p.set_defaults(func=add_portal_group)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def add_initiator_group(args):
|
def add_initiator_group(args):
|
||||||
initiators = []
|
initiators = []
|
||||||
netmasks = []
|
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""")
|
Example: '255.255.0.0 255.248.0.0' etc""")
|
||||||
p.set_defaults(func=add_initiator_group)
|
p.set_defaults(func=add_initiator_group)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def add_initiators_to_initiator_group(args):
|
def add_initiators_to_initiator_group(args):
|
||||||
initiators = None
|
initiators = None
|
||||||
netmasks = 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)
|
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)
|
p.set_defaults(func=add_initiators_to_initiator_group)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def delete_initiators_from_initiator_group(args):
|
def delete_initiators_from_initiator_group(args):
|
||||||
initiators = None
|
initiators = None
|
||||||
netmasks = 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)
|
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)
|
p.set_defaults(func=delete_initiators_from_initiator_group)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def delete_target_node(args):
|
def delete_target_node(args):
|
||||||
rpc.iscsi.delete_target_node(
|
rpc.iscsi.delete_target_node(
|
||||||
args.client, target_node_name=args.target_node_name)
|
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.')
|
help='Target node name to be deleted. Example: iqn.2016-06.io.spdk:disk1.')
|
||||||
p.set_defaults(func=delete_target_node)
|
p.set_defaults(func=delete_target_node)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def delete_portal_group(args):
|
def delete_portal_group(args):
|
||||||
rpc.iscsi.delete_portal_group(args.client, tag=args.tag)
|
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)
|
'tag', help='Portal group tag (unique, integer > 0)', type=int)
|
||||||
p.set_defaults(func=delete_portal_group)
|
p.set_defaults(func=delete_portal_group)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def delete_initiator_group(args):
|
def delete_initiator_group(args):
|
||||||
rpc.iscsi.delete_initiator_group(args.client, tag=args.tag)
|
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)
|
'tag', help='Initiator group tag (unique, integer > 0)', type=int)
|
||||||
p.set_defaults(func=delete_initiator_group)
|
p.set_defaults(func=delete_initiator_group)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_iscsi_connections(args):
|
def get_iscsi_connections(args):
|
||||||
print_dict(rpc.iscsi.get_iscsi_connections(args.client))
|
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')
|
help='Display iSCSI connections')
|
||||||
p.set_defaults(func=get_iscsi_connections)
|
p.set_defaults(func=get_iscsi_connections)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_iscsi_global_params(args):
|
def get_iscsi_global_params(args):
|
||||||
print_dict(rpc.iscsi.get_iscsi_global_params(args.client))
|
print_dict(rpc.iscsi.get_iscsi_global_params(args.client))
|
||||||
|
|
||||||
p = subparsers.add_parser('get_iscsi_global_params', help='Display iSCSI global parameters')
|
p = subparsers.add_parser('get_iscsi_global_params', help='Display iSCSI global parameters')
|
||||||
p.set_defaults(func=get_iscsi_global_params)
|
p.set_defaults(func=get_iscsi_global_params)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_scsi_devices(args):
|
def get_scsi_devices(args):
|
||||||
print_dict(rpc.iscsi.get_scsi_devices(args.client))
|
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)
|
p.set_defaults(func=get_scsi_devices)
|
||||||
|
|
||||||
# log
|
# log
|
||||||
@call_cmd
|
|
||||||
def set_log_flag(args):
|
def set_log_flag(args):
|
||||||
rpc.log.set_log_flag(args.client, flag=args.flag)
|
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").')
|
'flag', help='log flag we want to set. (for example "nvme").')
|
||||||
p.set_defaults(func=set_log_flag)
|
p.set_defaults(func=set_log_flag)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def set_trace_flag(args):
|
def set_trace_flag(args):
|
||||||
print("set_trace_flag is deprecated - use set_log_flag instead")
|
print("set_trace_flag is deprecated - use set_log_flag instead")
|
||||||
rpc.log.set_trace_flag(args.client, flag=args.flag)
|
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").')
|
'flag', help='trace mask we want to set. (for example "nvme").')
|
||||||
p.set_defaults(func=set_trace_flag)
|
p.set_defaults(func=set_trace_flag)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def clear_log_flag(args):
|
def clear_log_flag(args):
|
||||||
rpc.log.clear_log_flag(args.client, flag=args.flag)
|
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").')
|
'flag', help='log flag we want to clear. (for example "nvme").')
|
||||||
p.set_defaults(func=clear_log_flag)
|
p.set_defaults(func=clear_log_flag)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def clear_trace_flag(args):
|
def clear_trace_flag(args):
|
||||||
print("clear_trace_flag is deprecated - use clear_log_flag instead")
|
print("clear_trace_flag is deprecated - use clear_log_flag instead")
|
||||||
rpc.log.clear_trace_flag(args.client, flag=args.flag)
|
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").')
|
'flag', help='trace mask we want to clear. (for example "nvme").')
|
||||||
p.set_defaults(func=clear_trace_flag)
|
p.set_defaults(func=clear_trace_flag)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_log_flags(args):
|
def get_log_flags(args):
|
||||||
print_dict(rpc.log.get_log_flags(args.client))
|
print_dict(rpc.log.get_log_flags(args.client))
|
||||||
|
|
||||||
p = subparsers.add_parser('get_log_flags', help='get log flags')
|
p = subparsers.add_parser('get_log_flags', help='get log flags')
|
||||||
p.set_defaults(func=get_log_flags)
|
p.set_defaults(func=get_log_flags)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_trace_flags(args):
|
def get_trace_flags(args):
|
||||||
print("get_trace_flags is deprecated - use get_log_flags instead")
|
print("get_trace_flags is deprecated - use get_log_flags instead")
|
||||||
print_dict(rpc.log.get_trace_flags(args.client))
|
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 = subparsers.add_parser('get_trace_flags', help='get trace flags')
|
||||||
p.set_defaults(func=get_trace_flags)
|
p.set_defaults(func=get_trace_flags)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def set_log_level(args):
|
def set_log_level(args):
|
||||||
rpc.log.set_log_level(args.client, level=args.level)
|
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.add_argument('level', help='log level we want to set. (for example "DEBUG").')
|
||||||
p.set_defaults(func=set_log_level)
|
p.set_defaults(func=set_log_level)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_log_level(args):
|
def get_log_level(args):
|
||||||
print_dict(rpc.log.get_log_level(args.client))
|
print_dict(rpc.log.get_log_level(args.client))
|
||||||
|
|
||||||
p = subparsers.add_parser('get_log_level', help='get log level')
|
p = subparsers.add_parser('get_log_level', help='get log level')
|
||||||
p.set_defaults(func=get_log_level)
|
p.set_defaults(func=get_log_level)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def set_log_print_level(args):
|
def set_log_print_level(args):
|
||||||
rpc.log.set_log_print_level(args.client, level=args.level)
|
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.add_argument('level', help='log print level we want to set. (for example "DEBUG").')
|
||||||
p.set_defaults(func=set_log_print_level)
|
p.set_defaults(func=set_log_print_level)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_log_print_level(args):
|
def get_log_print_level(args):
|
||||||
print_dict(rpc.log.get_log_print_level(args.client))
|
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)
|
p.set_defaults(func=get_log_print_level)
|
||||||
|
|
||||||
# lvol
|
# lvol
|
||||||
@call_cmd
|
|
||||||
def construct_lvol_store(args):
|
def construct_lvol_store(args):
|
||||||
print(rpc.lvol.construct_lvol_store(args.client,
|
print(rpc.lvol.construct_lvol_store(args.client,
|
||||||
bdev_name=args.bdev_name,
|
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.add_argument('-c', '--cluster-sz', help='size of cluster (in bytes)', type=int, required=False)
|
||||||
p.set_defaults(func=construct_lvol_store)
|
p.set_defaults(func=construct_lvol_store)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def rename_lvol_store(args):
|
def rename_lvol_store(args):
|
||||||
rpc.lvol.rename_lvol_store(args.client,
|
rpc.lvol.rename_lvol_store(args.client,
|
||||||
old_name=args.old_name,
|
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.add_argument('new_name', help='new name')
|
||||||
p.set_defaults(func=rename_lvol_store)
|
p.set_defaults(func=rename_lvol_store)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def construct_lvol_bdev(args):
|
def construct_lvol_bdev(args):
|
||||||
print(rpc.lvol.construct_lvol_bdev(args.client,
|
print(rpc.lvol.construct_lvol_bdev(args.client,
|
||||||
lvol_name=args.lvol_name,
|
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.add_argument('size', help='size in MiB for this bdev', type=int)
|
||||||
p.set_defaults(func=construct_lvol_bdev)
|
p.set_defaults(func=construct_lvol_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def snapshot_lvol_bdev(args):
|
def snapshot_lvol_bdev(args):
|
||||||
print(rpc.lvol.snapshot_lvol_bdev(args.client,
|
print(rpc.lvol.snapshot_lvol_bdev(args.client,
|
||||||
lvol_name=args.lvol_name,
|
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.add_argument('snapshot_name', help='lvol snapshot name')
|
||||||
p.set_defaults(func=snapshot_lvol_bdev)
|
p.set_defaults(func=snapshot_lvol_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def clone_lvol_bdev(args):
|
def clone_lvol_bdev(args):
|
||||||
print(rpc.lvol.clone_lvol_bdev(args.client,
|
print(rpc.lvol.clone_lvol_bdev(args.client,
|
||||||
snapshot_name=args.snapshot_name,
|
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.add_argument('clone_name', help='lvol clone name')
|
||||||
p.set_defaults(func=clone_lvol_bdev)
|
p.set_defaults(func=clone_lvol_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def rename_lvol_bdev(args):
|
def rename_lvol_bdev(args):
|
||||||
rpc.lvol.rename_lvol_bdev(args.client,
|
rpc.lvol.rename_lvol_bdev(args.client,
|
||||||
old_name=args.old_name,
|
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.add_argument('new_name', help='new lvol name')
|
||||||
p.set_defaults(func=rename_lvol_bdev)
|
p.set_defaults(func=rename_lvol_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def inflate_lvol_bdev(args):
|
def inflate_lvol_bdev(args):
|
||||||
rpc.lvol.inflate_lvol_bdev(args.client,
|
rpc.lvol.inflate_lvol_bdev(args.client,
|
||||||
name=args.name)
|
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.add_argument('name', help='lvol bdev name')
|
||||||
p.set_defaults(func=inflate_lvol_bdev)
|
p.set_defaults(func=inflate_lvol_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def decouple_parent_lvol_bdev(args):
|
def decouple_parent_lvol_bdev(args):
|
||||||
rpc.lvol.decouple_parent_lvol_bdev(args.client,
|
rpc.lvol.decouple_parent_lvol_bdev(args.client,
|
||||||
name=args.name)
|
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.add_argument('name', help='lvol bdev name')
|
||||||
p.set_defaults(func=decouple_parent_lvol_bdev)
|
p.set_defaults(func=decouple_parent_lvol_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def resize_lvol_bdev(args):
|
def resize_lvol_bdev(args):
|
||||||
rpc.lvol.resize_lvol_bdev(args.client,
|
rpc.lvol.resize_lvol_bdev(args.client,
|
||||||
name=args.name,
|
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.add_argument('size', help='new size in MiB for this bdev', type=int)
|
||||||
p.set_defaults(func=resize_lvol_bdev)
|
p.set_defaults(func=resize_lvol_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def destroy_lvol_bdev(args):
|
def destroy_lvol_bdev(args):
|
||||||
rpc.lvol.destroy_lvol_bdev(args.client,
|
rpc.lvol.destroy_lvol_bdev(args.client,
|
||||||
name=args.name)
|
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.add_argument('name', help='lvol bdev name')
|
||||||
p.set_defaults(func=destroy_lvol_bdev)
|
p.set_defaults(func=destroy_lvol_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def destroy_lvol_store(args):
|
def destroy_lvol_store(args):
|
||||||
rpc.lvol.destroy_lvol_store(args.client,
|
rpc.lvol.destroy_lvol_store(args.client,
|
||||||
uuid=args.uuid,
|
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.add_argument('-l', '--lvs-name', help='lvol store name', required=False)
|
||||||
p.set_defaults(func=destroy_lvol_store)
|
p.set_defaults(func=destroy_lvol_store)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_lvol_stores(args):
|
def get_lvol_stores(args):
|
||||||
print_dict(rpc.lvol.get_lvol_stores(args.client,
|
print_dict(rpc.lvol.get_lvol_stores(args.client,
|
||||||
uuid=args.uuid,
|
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.add_argument('-l', '--lvs-name', help='lvol store name', required=False)
|
||||||
p.set_defaults(func=get_lvol_stores)
|
p.set_defaults(func=get_lvol_stores)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_raid_bdevs(args):
|
def get_raid_bdevs(args):
|
||||||
print_array(rpc.bdev.get_raid_bdevs(args.client,
|
print_array(rpc.bdev.get_raid_bdevs(args.client,
|
||||||
category=args.category))
|
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.add_argument('category', help='all or online or configuring or offline')
|
||||||
p.set_defaults(func=get_raid_bdevs)
|
p.set_defaults(func=get_raid_bdevs)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def construct_raid_bdev(args):
|
def construct_raid_bdev(args):
|
||||||
base_bdevs = []
|
base_bdevs = []
|
||||||
for u in args.base_bdevs.strip().split(" "):
|
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.add_argument('-b', '--base-bdevs', help='base bdevs name, whitespace separated list in quotes', required=True)
|
||||||
p.set_defaults(func=construct_raid_bdev)
|
p.set_defaults(func=construct_raid_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def destroy_raid_bdev(args):
|
def destroy_raid_bdev(args):
|
||||||
rpc.bdev.destroy_raid_bdev(args.client,
|
rpc.bdev.destroy_raid_bdev(args.client,
|
||||||
name=args.name)
|
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)
|
p.set_defaults(func=destroy_raid_bdev)
|
||||||
|
|
||||||
# split
|
# split
|
||||||
@call_cmd
|
|
||||||
def construct_split_vbdev(args):
|
def construct_split_vbdev(args):
|
||||||
print_array(rpc.bdev.construct_split_vbdev(args.client,
|
print_array(rpc.bdev.construct_split_vbdev(args.client,
|
||||||
base_bdev=args.base_bdev,
|
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)
|
exceed the base bdev size.""", type=int)
|
||||||
p.set_defaults(func=construct_split_vbdev)
|
p.set_defaults(func=construct_split_vbdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def destruct_split_vbdev(args):
|
def destruct_split_vbdev(args):
|
||||||
rpc.bdev.destruct_split_vbdev(args.client,
|
rpc.bdev.destruct_split_vbdev(args.client,
|
||||||
base_bdev=args.base_bdev)
|
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)
|
p.set_defaults(func=destruct_split_vbdev)
|
||||||
|
|
||||||
# nbd
|
# nbd
|
||||||
@call_cmd
|
|
||||||
def start_nbd_disk(args):
|
def start_nbd_disk(args):
|
||||||
print(rpc.nbd.start_nbd_disk(args.client,
|
print(rpc.nbd.start_nbd_disk(args.client,
|
||||||
bdev_name=args.bdev_name,
|
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.add_argument('nbd_device', help='Nbd device name to be assigned. Example: /dev/nbd0.')
|
||||||
p.set_defaults(func=start_nbd_disk)
|
p.set_defaults(func=start_nbd_disk)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def stop_nbd_disk(args):
|
def stop_nbd_disk(args):
|
||||||
rpc.nbd.stop_nbd_disk(args.client,
|
rpc.nbd.stop_nbd_disk(args.client,
|
||||||
nbd_device=args.nbd_device)
|
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.add_argument('nbd_device', help='Nbd device name to be stopped. Example: /dev/nbd0.')
|
||||||
p.set_defaults(func=stop_nbd_disk)
|
p.set_defaults(func=stop_nbd_disk)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_nbd_disks(args):
|
def get_nbd_disks(args):
|
||||||
print_dict(rpc.nbd.get_nbd_disks(args.client,
|
print_dict(rpc.nbd.get_nbd_disks(args.client,
|
||||||
nbd_device=args.nbd_device))
|
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)
|
p.set_defaults(func=get_nbd_disks)
|
||||||
|
|
||||||
# net
|
# net
|
||||||
@call_cmd
|
|
||||||
def add_ip_address(args):
|
def add_ip_address(args):
|
||||||
rpc.net.add_ip_address(args.client, ifc_index=args.ifc_index, ip_addr=args.ip_addr)
|
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.add_argument('ip_addr', help='ip address will be added.')
|
||||||
p.set_defaults(func=add_ip_address)
|
p.set_defaults(func=add_ip_address)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def delete_ip_address(args):
|
def delete_ip_address(args):
|
||||||
rpc.net.delete_ip_address(args.client, ifc_index=args.ifc_index, ip_addr=args.ip_addr)
|
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.add_argument('ip_addr', help='ip address will be deleted.')
|
||||||
p.set_defaults(func=delete_ip_address)
|
p.set_defaults(func=delete_ip_address)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_interfaces(args):
|
def get_interfaces(args):
|
||||||
print_dict(rpc.net.get_interfaces(args.client))
|
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)
|
p.set_defaults(func=get_interfaces)
|
||||||
|
|
||||||
# NVMe-oF
|
# NVMe-oF
|
||||||
@call_cmd
|
|
||||||
def set_nvmf_target_options(args):
|
def set_nvmf_target_options(args):
|
||||||
rpc.nvmf.set_nvmf_target_options(args.client,
|
rpc.nvmf.set_nvmf_target_options(args.client,
|
||||||
max_queue_depth=args.max_queue_depth,
|
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.add_argument('-u', '--io-unit-size', help='I/O unit size (bytes)', type=int)
|
||||||
p.set_defaults(func=set_nvmf_target_options)
|
p.set_defaults(func=set_nvmf_target_options)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def set_nvmf_target_max_subsystems(args):
|
def set_nvmf_target_max_subsystems(args):
|
||||||
rpc.nvmf.set_nvmf_target_max_subsystems(args.client,
|
rpc.nvmf.set_nvmf_target_max_subsystems(args.client,
|
||||||
max_subsystems=args.max_subsystems)
|
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.add_argument('-x', '--max-subsystems', help='Max number of NVMf subsystems', type=int, required=True)
|
||||||
p.set_defaults(func=set_nvmf_target_max_subsystems)
|
p.set_defaults(func=set_nvmf_target_max_subsystems)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def set_nvmf_target_config(args):
|
def set_nvmf_target_config(args):
|
||||||
rpc.nvmf.set_nvmf_target_config(args.client,
|
rpc.nvmf.set_nvmf_target_config(args.client,
|
||||||
acceptor_poll_rate=args.acceptor_poll_rate,
|
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""")
|
robin manner""")
|
||||||
p.set_defaults(func=set_nvmf_target_config)
|
p.set_defaults(func=set_nvmf_target_config)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def nvmf_create_transport(args):
|
def nvmf_create_transport(args):
|
||||||
rpc.nvmf.nvmf_create_transport(args.client,
|
rpc.nvmf.nvmf_create_transport(args.client,
|
||||||
trtype=args.trtype,
|
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.add_argument('-a', '--max-aq-depth', help='Max number of admin cmds per AQ', type=int)
|
||||||
p.set_defaults(func=nvmf_create_transport)
|
p.set_defaults(func=nvmf_create_transport)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_nvmf_transports(args):
|
def get_nvmf_transports(args):
|
||||||
print_dict(rpc.nvmf.get_nvmf_transports(args.client))
|
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')
|
help='Display nvmf transports')
|
||||||
p.set_defaults(func=get_nvmf_transports)
|
p.set_defaults(func=get_nvmf_transports)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_nvmf_subsystems(args):
|
def get_nvmf_subsystems(args):
|
||||||
print_dict(rpc.nvmf.get_nvmf_subsystems(args.client))
|
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')
|
help='Display nvmf subsystems')
|
||||||
p.set_defaults(func=get_nvmf_subsystems)
|
p.set_defaults(func=get_nvmf_subsystems)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def construct_nvmf_subsystem(args):
|
def construct_nvmf_subsystem(args):
|
||||||
listen_addresses = None
|
listen_addresses = None
|
||||||
hosts = 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)
|
type=int, default=0)
|
||||||
p.set_defaults(func=construct_nvmf_subsystem)
|
p.set_defaults(func=construct_nvmf_subsystem)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def nvmf_subsystem_create(args):
|
def nvmf_subsystem_create(args):
|
||||||
rpc.nvmf.nvmf_subsystem_create(args.client,
|
rpc.nvmf.nvmf_subsystem_create(args.client,
|
||||||
nqn=args.nqn,
|
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)
|
type=int, default=0)
|
||||||
p.set_defaults(func=nvmf_subsystem_create)
|
p.set_defaults(func=nvmf_subsystem_create)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def delete_nvmf_subsystem(args):
|
def delete_nvmf_subsystem(args):
|
||||||
rpc.nvmf.delete_nvmf_subsystem(args.client,
|
rpc.nvmf.delete_nvmf_subsystem(args.client,
|
||||||
nqn=args.subsystem_nqn)
|
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.')
|
help='subsystem nqn to be deleted. Example: nqn.2016-06.io.spdk:cnode1.')
|
||||||
p.set_defaults(func=delete_nvmf_subsystem)
|
p.set_defaults(func=delete_nvmf_subsystem)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def nvmf_subsystem_add_listener(args):
|
def nvmf_subsystem_add_listener(args):
|
||||||
rpc.nvmf.nvmf_subsystem_add_listener(args.client,
|
rpc.nvmf.nvmf_subsystem_add_listener(args.client,
|
||||||
nqn=args.nqn,
|
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.add_argument('-s', '--trsvcid', help='NVMe-oF transport service id: e.g., a port number')
|
||||||
p.set_defaults(func=nvmf_subsystem_add_listener)
|
p.set_defaults(func=nvmf_subsystem_add_listener)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def nvmf_subsystem_remove_listener(args):
|
def nvmf_subsystem_remove_listener(args):
|
||||||
rpc.nvmf.nvmf_subsystem_remove_listener(args.client,
|
rpc.nvmf.nvmf_subsystem_remove_listener(args.client,
|
||||||
nqn=args.nqn,
|
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.add_argument('-s', '--trsvcid', help='NVMe-oF transport service id: e.g., a port number')
|
||||||
p.set_defaults(func=nvmf_subsystem_remove_listener)
|
p.set_defaults(func=nvmf_subsystem_remove_listener)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def nvmf_subsystem_add_ns(args):
|
def nvmf_subsystem_add_ns(args):
|
||||||
rpc.nvmf.nvmf_subsystem_add_ns(args.client,
|
rpc.nvmf.nvmf_subsystem_add_ns(args.client,
|
||||||
nqn=args.nqn,
|
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.add_argument('-u', '--uuid', help='Namespace UUID (optional)')
|
||||||
p.set_defaults(func=nvmf_subsystem_add_ns)
|
p.set_defaults(func=nvmf_subsystem_add_ns)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def nvmf_subsystem_remove_ns(args):
|
def nvmf_subsystem_remove_ns(args):
|
||||||
rpc.nvmf.nvmf_subsystem_remove_ns(args.client,
|
rpc.nvmf.nvmf_subsystem_remove_ns(args.client,
|
||||||
nqn=args.nqn,
|
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.add_argument('nsid', help='The requested NSID', type=int)
|
||||||
p.set_defaults(func=nvmf_subsystem_remove_ns)
|
p.set_defaults(func=nvmf_subsystem_remove_ns)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def nvmf_subsystem_add_host(args):
|
def nvmf_subsystem_add_host(args):
|
||||||
rpc.nvmf.nvmf_subsystem_add_host(args.client,
|
rpc.nvmf.nvmf_subsystem_add_host(args.client,
|
||||||
nqn=args.nqn,
|
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.add_argument('host', help='Host NQN to allow')
|
||||||
p.set_defaults(func=nvmf_subsystem_add_host)
|
p.set_defaults(func=nvmf_subsystem_add_host)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def nvmf_subsystem_remove_host(args):
|
def nvmf_subsystem_remove_host(args):
|
||||||
rpc.nvmf.nvmf_subsystem_remove_host(args.client,
|
rpc.nvmf.nvmf_subsystem_remove_host(args.client,
|
||||||
nqn=args.nqn,
|
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.add_argument('host', help='Host NQN to remove')
|
||||||
p.set_defaults(func=nvmf_subsystem_remove_host)
|
p.set_defaults(func=nvmf_subsystem_remove_host)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def nvmf_subsystem_allow_any_host(args):
|
def nvmf_subsystem_allow_any_host(args):
|
||||||
rpc.nvmf.nvmf_subsystem_allow_any_host(args.client,
|
rpc.nvmf.nvmf_subsystem_allow_any_host(args.client,
|
||||||
nqn=args.nqn,
|
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)
|
p.set_defaults(func=nvmf_subsystem_allow_any_host)
|
||||||
|
|
||||||
# pmem
|
# pmem
|
||||||
@call_cmd
|
|
||||||
def create_pmem_pool(args):
|
def create_pmem_pool(args):
|
||||||
num_blocks = int((args.total_size * 1024 * 1024) / args.block_size)
|
num_blocks = int((args.total_size * 1024 * 1024) / args.block_size)
|
||||||
rpc.pmem.create_pmem_pool(args.client,
|
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.add_argument('block_size', help='Block size for this pmem pool', type=int)
|
||||||
p.set_defaults(func=create_pmem_pool)
|
p.set_defaults(func=create_pmem_pool)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def pmem_pool_info(args):
|
def pmem_pool_info(args):
|
||||||
print_dict(rpc.pmem.pmem_pool_info(args.client,
|
print_dict(rpc.pmem.pmem_pool_info(args.client,
|
||||||
pmem_file=args.pmem_file))
|
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.add_argument('pmem_file', help='Path to pmemblk pool file')
|
||||||
p.set_defaults(func=pmem_pool_info)
|
p.set_defaults(func=pmem_pool_info)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def delete_pmem_pool(args):
|
def delete_pmem_pool(args):
|
||||||
rpc.pmem.delete_pmem_pool(args.client,
|
rpc.pmem.delete_pmem_pool(args.client,
|
||||||
pmem_file=args.pmem_file)
|
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)
|
p.set_defaults(func=delete_pmem_pool)
|
||||||
|
|
||||||
# subsystem
|
# subsystem
|
||||||
@call_cmd
|
|
||||||
def get_subsystems(args):
|
def get_subsystems(args):
|
||||||
print_dict(rpc.subsystem.get_subsystems(args.client))
|
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.""")
|
entry contain (unsorted) array of subsystems it depends on.""")
|
||||||
p.set_defaults(func=get_subsystems)
|
p.set_defaults(func=get_subsystems)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_subsystem_config(args):
|
def get_subsystem_config(args):
|
||||||
print_dict(rpc.subsystem.get_subsystem_config(args.client, args.name))
|
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)
|
p.set_defaults(func=get_subsystem_config)
|
||||||
|
|
||||||
# vhost
|
# vhost
|
||||||
@call_cmd
|
|
||||||
def set_vhost_controller_coalescing(args):
|
def set_vhost_controller_coalescing(args):
|
||||||
rpc.vhost.set_vhost_controller_coalescing(args.client,
|
rpc.vhost.set_vhost_controller_coalescing(args.client,
|
||||||
ctrlr=args.ctrlr,
|
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.add_argument('iops_threshold', help='IOPS threshold when coalescing is enabled', type=int)
|
||||||
p.set_defaults(func=set_vhost_controller_coalescing)
|
p.set_defaults(func=set_vhost_controller_coalescing)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def construct_vhost_scsi_controller(args):
|
def construct_vhost_scsi_controller(args):
|
||||||
rpc.vhost.construct_vhost_scsi_controller(args.client,
|
rpc.vhost.construct_vhost_scsi_controller(args.client,
|
||||||
ctrlr=args.ctrlr,
|
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.add_argument('--cpumask', help='cpu mask for this controller')
|
||||||
p.set_defaults(func=construct_vhost_scsi_controller)
|
p.set_defaults(func=construct_vhost_scsi_controller)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def add_vhost_scsi_lun(args):
|
def add_vhost_scsi_lun(args):
|
||||||
rpc.vhost.add_vhost_scsi_lun(args.client,
|
rpc.vhost.add_vhost_scsi_lun(args.client,
|
||||||
ctrlr=args.ctrlr,
|
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.add_argument('bdev_name', help='bdev name')
|
||||||
p.set_defaults(func=add_vhost_scsi_lun)
|
p.set_defaults(func=add_vhost_scsi_lun)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def remove_vhost_scsi_target(args):
|
def remove_vhost_scsi_target(args):
|
||||||
rpc.vhost.remove_vhost_scsi_target(args.client,
|
rpc.vhost.remove_vhost_scsi_target(args.client,
|
||||||
ctrlr=args.ctrlr,
|
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.add_argument('scsi_target_num', help='scsi_target_num', type=int)
|
||||||
p.set_defaults(func=remove_vhost_scsi_target)
|
p.set_defaults(func=remove_vhost_scsi_target)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def construct_vhost_blk_controller(args):
|
def construct_vhost_blk_controller(args):
|
||||||
rpc.vhost.construct_vhost_blk_controller(args.client,
|
rpc.vhost.construct_vhost_blk_controller(args.client,
|
||||||
ctrlr=args.ctrlr,
|
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.add_argument("-r", "--readonly", action='store_true', help='Set controller as read-only')
|
||||||
p.set_defaults(func=construct_vhost_blk_controller)
|
p.set_defaults(func=construct_vhost_blk_controller)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def construct_vhost_nvme_controller(args):
|
def construct_vhost_nvme_controller(args):
|
||||||
rpc.vhost.construct_vhost_nvme_controller(args.client,
|
rpc.vhost.construct_vhost_nvme_controller(args.client,
|
||||||
ctrlr=args.ctrlr,
|
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.add_argument('--cpumask', help='cpu mask for this controller')
|
||||||
p.set_defaults(func=construct_vhost_nvme_controller)
|
p.set_defaults(func=construct_vhost_nvme_controller)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def add_vhost_nvme_ns(args):
|
def add_vhost_nvme_ns(args):
|
||||||
rpc.vhost.add_vhost_nvme_ns(args.client,
|
rpc.vhost.add_vhost_nvme_ns(args.client,
|
||||||
ctrlr=args.ctrlr,
|
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.add_argument('bdev_name', help='block device name for a new Namespace')
|
||||||
p.set_defaults(func=add_vhost_nvme_ns)
|
p.set_defaults(func=add_vhost_nvme_ns)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_vhost_controllers(args):
|
def get_vhost_controllers(args):
|
||||||
print_dict(rpc.vhost.get_vhost_controllers(args.client, args.name))
|
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.add_argument('-n', '--name', help="Name of vhost controller", required=False)
|
||||||
p.set_defaults(func=get_vhost_controllers)
|
p.set_defaults(func=get_vhost_controllers)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def remove_vhost_controller(args):
|
def remove_vhost_controller(args):
|
||||||
rpc.vhost.remove_vhost_controller(args.client,
|
rpc.vhost.remove_vhost_controller(args.client,
|
||||||
ctrlr=args.ctrlr)
|
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.add_argument('ctrlr', help='controller name')
|
||||||
p.set_defaults(func=remove_vhost_controller)
|
p.set_defaults(func=remove_vhost_controller)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def construct_virtio_dev(args):
|
def construct_virtio_dev(args):
|
||||||
print_array(rpc.vhost.construct_virtio_dev(args.client,
|
print_array(rpc.vhost.construct_virtio_dev(args.client,
|
||||||
name=args.name,
|
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.add_argument('--vq-size', help='Size of each queue', type=int)
|
||||||
p.set_defaults(func=construct_virtio_dev)
|
p.set_defaults(func=construct_virtio_dev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def construct_virtio_user_scsi_bdev(args):
|
def construct_virtio_user_scsi_bdev(args):
|
||||||
print_array(rpc.vhost.construct_virtio_user_scsi_bdev(args.client,
|
print_array(rpc.vhost.construct_virtio_user_scsi_bdev(args.client,
|
||||||
path=args.path,
|
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.add_argument('--vq-size', help='Size of each queue', type=int)
|
||||||
p.set_defaults(func=construct_virtio_user_scsi_bdev)
|
p.set_defaults(func=construct_virtio_user_scsi_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def construct_virtio_pci_scsi_bdev(args):
|
def construct_virtio_pci_scsi_bdev(args):
|
||||||
print_array(rpc.vhost.construct_virtio_pci_scsi_bdev(args.client,
|
print_array(rpc.vhost.construct_virtio_pci_scsi_bdev(args.client,
|
||||||
pci_address=args.pci_address,
|
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>""")
|
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)
|
p.set_defaults(func=construct_virtio_pci_scsi_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def get_virtio_scsi_devs(args):
|
def get_virtio_scsi_devs(args):
|
||||||
print_dict(rpc.vhost.get_virtio_scsi_devs(args.client))
|
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 = subparsers.add_parser('get_virtio_scsi_devs', help='List all Virtio-SCSI devices.')
|
||||||
p.set_defaults(func=get_virtio_scsi_devs)
|
p.set_defaults(func=get_virtio_scsi_devs)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def remove_virtio_scsi_bdev(args):
|
def remove_virtio_scsi_bdev(args):
|
||||||
rpc.vhost.remove_virtio_scsi_bdev(args.client,
|
rpc.vhost.remove_virtio_scsi_bdev(args.client,
|
||||||
name=args.name)
|
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.add_argument('name', help='Virtio device name. E.g. VirtioUser0')
|
||||||
p.set_defaults(func=remove_virtio_scsi_bdev)
|
p.set_defaults(func=remove_virtio_scsi_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def remove_virtio_bdev(args):
|
def remove_virtio_bdev(args):
|
||||||
rpc.vhost.remove_virtio_bdev(args.client,
|
rpc.vhost.remove_virtio_bdev(args.client,
|
||||||
name=args.name)
|
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.add_argument('name', help='Virtio device name. E.g. VirtioUser0')
|
||||||
p.set_defaults(func=remove_virtio_bdev)
|
p.set_defaults(func=remove_virtio_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def construct_virtio_user_blk_bdev(args):
|
def construct_virtio_user_blk_bdev(args):
|
||||||
print(rpc.vhost.construct_virtio_user_blk_bdev(args.client,
|
print(rpc.vhost.construct_virtio_user_blk_bdev(args.client,
|
||||||
path=args.path,
|
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.add_argument('--vq-size', help='Size of each queue', type=int)
|
||||||
p.set_defaults(func=construct_virtio_user_blk_bdev)
|
p.set_defaults(func=construct_virtio_user_blk_bdev)
|
||||||
|
|
||||||
@call_cmd
|
|
||||||
def construct_virtio_pci_blk_bdev(args):
|
def construct_virtio_pci_blk_bdev(args):
|
||||||
print(rpc.vhost.construct_virtio_pci_blk_bdev(args.client,
|
print(rpc.vhost.construct_virtio_pci_blk_bdev(args.client,
|
||||||
pci_address=args.pci_address,
|
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)
|
p.set_defaults(func=construct_virtio_pci_blk_bdev)
|
||||||
|
|
||||||
# ioat
|
# ioat
|
||||||
@call_cmd
|
|
||||||
def scan_ioat_copy_engine(args):
|
def scan_ioat_copy_engine(args):
|
||||||
pci_whitelist = []
|
pci_whitelist = []
|
||||||
if 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)
|
p.set_defaults(func=scan_ioat_copy_engine)
|
||||||
|
|
||||||
# send_nvme_cmd
|
# send_nvme_cmd
|
||||||
@call_cmd
|
|
||||||
def send_nvme_cmd(args):
|
def send_nvme_cmd(args):
|
||||||
print_dict(rpc.nvme.send_nvme_cmd(args.client,
|
print_dict(rpc.nvme.send_nvme_cmd(args.client,
|
||||||
name=args.nvme_name,
|
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:
|
try:
|
||||||
args.client = rpc.client.JSONRPCClient(args.server_addr, args.port, args.verbose, args.timeout)
|
args.client = rpc.client.JSONRPCClient(args.server_addr, args.port, args.verbose, args.timeout)
|
||||||
|
args.func(args)
|
||||||
except JSONRPCException as ex:
|
except JSONRPCException as ex:
|
||||||
|
print("Exception:")
|
||||||
print(ex.message)
|
print(ex.message)
|
||||||
exit(1)
|
exit(1)
|
||||||
args.func(args)
|
|
||||||
|
Loading…
Reference in New Issue
Block a user