scripts/rpc.py: move exit on error to rpc.py
Moving exit in case of error to rpc.py By using exceptions in client.py it is easier to use it as module in other scripts. Change-Id: Ic9ecef481ef5b6a169e1293b3dcf859ffbbe0e89 Signed-off-by: Karol Latecki <karol.latecki@intel.com> Reviewed-on: https://review.gerrithub.io/405739 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
3bce351916
commit
8d27c02378
@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
from rpc.client import print_dict
|
from rpc.client import print_dict, JSONRPCException
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import rpc
|
import rpc
|
||||||
@ -15,6 +15,16 @@ 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')
|
||||||
@ -30,12 +40,14 @@ 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 get_rpc_methods(args):
|
def get_rpc_methods(args):
|
||||||
print_dict(rpc.get_rpc_methods(args.client, args))
|
print_dict(rpc.get_rpc_methods(args.client, args))
|
||||||
|
|
||||||
p = subparsers.add_parser('get_rpc_methods', help='Get list of supported RPC methods')
|
p = subparsers.add_parser('get_rpc_methods', help='Get list of supported RPC methods')
|
||||||
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, args)
|
rpc.save_config(args.client, args)
|
||||||
|
|
||||||
@ -46,6 +58,7 @@ if __name__ == "__main__":
|
|||||||
indent level is 2. If writing to file of filename is '-' then default is compact mode.""", type=int, default=2)
|
indent level is 2. If writing to file of filename is '-' then default is compact mode.""", 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, args)
|
rpc.load_config(args.client, args)
|
||||||
|
|
||||||
@ -55,6 +68,7 @@ if __name__ == "__main__":
|
|||||||
p.set_defaults(func=load_config)
|
p.set_defaults(func=load_config)
|
||||||
|
|
||||||
# app
|
# app
|
||||||
|
@call_cmd
|
||||||
def kill_instance(args):
|
def kill_instance(args):
|
||||||
rpc.app.kill_instance(args.client, args)
|
rpc.app.kill_instance(args.client, args)
|
||||||
|
|
||||||
@ -62,6 +76,7 @@ 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):
|
||||||
print_dict(rpc.app.context_switch_monitor(args.client, args))
|
print_dict(rpc.app.context_switch_monitor(args.client, args))
|
||||||
|
|
||||||
@ -71,6 +86,7 @@ if __name__ == "__main__":
|
|||||||
p.set_defaults(func=context_switch_monitor)
|
p.set_defaults(func=context_switch_monitor)
|
||||||
|
|
||||||
# bdev
|
# bdev
|
||||||
|
@call_cmd
|
||||||
def construct_malloc_bdev(args):
|
def construct_malloc_bdev(args):
|
||||||
print_array(rpc.bdev.construct_malloc_bdev(args.client, args))
|
print_array(rpc.bdev.construct_malloc_bdev(args.client, args))
|
||||||
|
|
||||||
@ -83,6 +99,7 @@ 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 construct_null_bdev(args):
|
def construct_null_bdev(args):
|
||||||
print_array(rpc.bdev.construct_null_bdev(args.client, args))
|
print_array(rpc.bdev.construct_null_bdev(args.client, args))
|
||||||
|
|
||||||
@ -95,6 +112,7 @@ 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 construct_aio_bdev(args):
|
def construct_aio_bdev(args):
|
||||||
print_array(rpc.bdev.construct_aio_bdev(args.client, args))
|
print_array(rpc.bdev.construct_aio_bdev(args.client, args))
|
||||||
|
|
||||||
@ -105,6 +123,7 @@ if __name__ == "__main__":
|
|||||||
p.add_argument('block_size', help='Block size for this bdev', type=int, default=argparse.SUPPRESS)
|
p.add_argument('block_size', help='Block size for this bdev', type=int, default=argparse.SUPPRESS)
|
||||||
p.set_defaults(func=construct_aio_bdev)
|
p.set_defaults(func=construct_aio_bdev)
|
||||||
|
|
||||||
|
@call_cmd
|
||||||
def construct_nvme_bdev(args):
|
def construct_nvme_bdev(args):
|
||||||
print_array(rpc.bdev.construct_nvme_bdev(args.client, args))
|
print_array(rpc.bdev.construct_nvme_bdev(args.client, args))
|
||||||
|
|
||||||
@ -122,6 +141,7 @@ 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 construct_rbd_bdev(args):
|
def construct_rbd_bdev(args):
|
||||||
print_array(rpc.bdev.construct_rbd_bdev(args.client, args))
|
print_array(rpc.bdev.construct_rbd_bdev(args.client, args))
|
||||||
|
|
||||||
@ -133,6 +153,7 @@ 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 construct_error_bdev(args):
|
def construct_error_bdev(args):
|
||||||
rpc.bdev.construct_error_bdev(args.client, args)
|
rpc.bdev.construct_error_bdev(args.client, args)
|
||||||
|
|
||||||
@ -141,6 +162,7 @@ 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 construct_pmem_bdev(args):
|
def construct_pmem_bdev(args):
|
||||||
print_array(rpc.bdev.construct_pmem_bdev(args.client, args))
|
print_array(rpc.bdev.construct_pmem_bdev(args.client, args))
|
||||||
|
|
||||||
@ -149,6 +171,7 @@ 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 get_bdevs(args):
|
def get_bdevs(args):
|
||||||
print_dict(rpc.bdev.get_bdevs(args.client, args))
|
print_dict(rpc.bdev.get_bdevs(args.client, args))
|
||||||
|
|
||||||
@ -157,6 +180,7 @@ 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_config(args):
|
def get_bdevs_config(args):
|
||||||
print_dict(rpc.bdev.get_bdevs_config(args.client, args))
|
print_dict(rpc.bdev.get_bdevs_config(args.client, args))
|
||||||
|
|
||||||
@ -165,6 +189,7 @@ 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_config)
|
p.set_defaults(func=get_bdevs_config)
|
||||||
|
|
||||||
|
@call_cmd
|
||||||
def delete_bdev(args):
|
def delete_bdev(args):
|
||||||
rpc.bdev.delete_bdev(args.client, args)
|
rpc.bdev.delete_bdev(args.client, args)
|
||||||
|
|
||||||
@ -173,6 +198,7 @@ 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 bdev_inject_error(args):
|
def bdev_inject_error(args):
|
||||||
rpc.bdev.bdev_inject_error(args.client, args)
|
rpc.bdev.bdev_inject_error(args.client, args)
|
||||||
|
|
||||||
@ -184,6 +210,7 @@ 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, args))
|
print_dict(rpc.bdev.apply_firmware(args.client, args))
|
||||||
|
|
||||||
@ -193,6 +220,7 @@ if __name__ == "__main__":
|
|||||||
p.set_defaults(func=apply_firmware)
|
p.set_defaults(func=apply_firmware)
|
||||||
|
|
||||||
# iSCSI
|
# iSCSI
|
||||||
|
@call_cmd
|
||||||
def get_portal_groups(args):
|
def get_portal_groups(args):
|
||||||
print_dict(rpc.iscsi.get_portal_groups(args.client, args))
|
print_dict(rpc.iscsi.get_portal_groups(args.client, args))
|
||||||
|
|
||||||
@ -200,6 +228,7 @@ if __name__ == "__main__":
|
|||||||
'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, args))
|
print_dict(rpc.iscsi.get_initiator_groups(args.client, args))
|
||||||
|
|
||||||
@ -207,12 +236,14 @@ if __name__ == "__main__":
|
|||||||
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, args))
|
print_dict(rpc.iscsi.get_target_nodes(args.client, args))
|
||||||
|
|
||||||
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):
|
||||||
rpc.iscsi.construct_target_node(args.client, args)
|
rpc.iscsi.construct_target_node(args.client, args)
|
||||||
|
|
||||||
@ -246,6 +277,7 @@ if __name__ == "__main__":
|
|||||||
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(args.client, args)
|
rpc.iscsi.target_node_add_lun(args.client, args)
|
||||||
|
|
||||||
@ -257,6 +289,7 @@ if __name__ == "__main__":
|
|||||||
*** 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 add_pg_ig_maps(args):
|
def add_pg_ig_maps(args):
|
||||||
rpc.iscsi.add_pg_ig_maps(args.client, args)
|
rpc.iscsi.add_pg_ig_maps(args.client, args)
|
||||||
|
|
||||||
@ -269,6 +302,7 @@ if __name__ == "__main__":
|
|||||||
*** 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):
|
||||||
rpc.iscsi.delete_pg_ig_maps(args.client, args)
|
rpc.iscsi.delete_pg_ig_maps(args.client, args)
|
||||||
|
|
||||||
@ -281,6 +315,7 @@ if __name__ == "__main__":
|
|||||||
*** 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):
|
||||||
rpc.iscsi.add_portal_group(args.client, args)
|
rpc.iscsi.add_portal_group(args.client, args)
|
||||||
|
|
||||||
@ -292,6 +327,7 @@ if __name__ == "__main__":
|
|||||||
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):
|
||||||
rpc.iscsi.add_initiator_group(args.client, args)
|
rpc.iscsi.add_initiator_group(args.client, args)
|
||||||
|
|
||||||
@ -305,6 +341,7 @@ if __name__ == "__main__":
|
|||||||
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):
|
||||||
rpc.iscsi.add_initiators_to_initiator_group(args.client, args)
|
rpc.iscsi.add_initiators_to_initiator_group(args.client, args)
|
||||||
|
|
||||||
@ -318,6 +355,7 @@ if __name__ == "__main__":
|
|||||||
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):
|
||||||
rpc.iscsi.delete_initiators_from_initiator_group(args.client, args)
|
rpc.iscsi.delete_initiators_from_initiator_group(args.client, args)
|
||||||
|
|
||||||
@ -331,6 +369,7 @@ if __name__ == "__main__":
|
|||||||
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(args.client, args)
|
rpc.iscsi.delete_target_node(args.client, args)
|
||||||
|
|
||||||
@ -340,6 +379,7 @@ if __name__ == "__main__":
|
|||||||
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, args)
|
rpc.iscsi.delete_portal_group(args.client, args)
|
||||||
|
|
||||||
@ -349,6 +389,7 @@ if __name__ == "__main__":
|
|||||||
'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, args)
|
rpc.iscsi.delete_initiator_group(args.client, args)
|
||||||
|
|
||||||
@ -358,6 +399,7 @@ if __name__ == "__main__":
|
|||||||
'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, args))
|
print_dict(rpc.iscsi.get_iscsi_connections(args.client, args))
|
||||||
|
|
||||||
@ -365,12 +407,14 @@ if __name__ == "__main__":
|
|||||||
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, args))
|
print_dict(rpc.iscsi.get_iscsi_global_params(args.client, args))
|
||||||
|
|
||||||
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, args))
|
print_dict(rpc.iscsi.get_scsi_devices(args.client, args))
|
||||||
|
|
||||||
@ -378,6 +422,7 @@ if __name__ == "__main__":
|
|||||||
p.set_defaults(func=get_scsi_devices)
|
p.set_defaults(func=get_scsi_devices)
|
||||||
|
|
||||||
# log
|
# log
|
||||||
|
@call_cmd
|
||||||
def set_trace_flag(args):
|
def set_trace_flag(args):
|
||||||
rpc.log.set_trace_flag(args.client, args)
|
rpc.log.set_trace_flag(args.client, args)
|
||||||
|
|
||||||
@ -386,6 +431,7 @@ if __name__ == "__main__":
|
|||||||
'flag', help='trace mask we want to set. (for example "debug").')
|
'flag', help='trace mask we want to set. (for example "debug").')
|
||||||
p.set_defaults(func=set_trace_flag)
|
p.set_defaults(func=set_trace_flag)
|
||||||
|
|
||||||
|
@call_cmd
|
||||||
def clear_trace_flag(args):
|
def clear_trace_flag(args):
|
||||||
rpc.log.clear_trace_flag(args.client, args)
|
rpc.log.clear_trace_flag(args.client, args)
|
||||||
|
|
||||||
@ -394,12 +440,14 @@ if __name__ == "__main__":
|
|||||||
'flag', help='trace mask we want to clear. (for example "debug").')
|
'flag', help='trace mask we want to clear. (for example "debug").')
|
||||||
p.set_defaults(func=clear_trace_flag)
|
p.set_defaults(func=clear_trace_flag)
|
||||||
|
|
||||||
|
@call_cmd
|
||||||
def get_trace_flags(args):
|
def get_trace_flags(args):
|
||||||
print_dict(rpc.log.get_trace_flags(args.client, args))
|
print_dict(rpc.log.get_trace_flags(args.client, args))
|
||||||
|
|
||||||
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, args)
|
rpc.log.set_log_level(args.client, args)
|
||||||
|
|
||||||
@ -407,12 +455,14 @@ if __name__ == "__main__":
|
|||||||
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, args))
|
print_dict(rpc.log.get_log_level(args.client, args))
|
||||||
|
|
||||||
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, args)
|
rpc.log.set_log_print_level(args.client, args)
|
||||||
|
|
||||||
@ -420,6 +470,7 @@ if __name__ == "__main__":
|
|||||||
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, args))
|
print_dict(rpc.log.get_log_print_level(args.client, args))
|
||||||
|
|
||||||
@ -427,6 +478,7 @@ if __name__ == "__main__":
|
|||||||
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_array(rpc.lvol.construct_lvol_store(args.client, args))
|
print_array(rpc.lvol.construct_lvol_store(args.client, args))
|
||||||
|
|
||||||
@ -436,6 +488,7 @@ if __name__ == "__main__":
|
|||||||
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, args)
|
rpc.lvol.rename_lvol_store(args.client, args)
|
||||||
|
|
||||||
@ -444,6 +497,7 @@ if __name__ == "__main__":
|
|||||||
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_array(rpc.lvol.construct_lvol_bdev(args.client, args))
|
print_array(rpc.lvol.construct_lvol_bdev(args.client, args))
|
||||||
|
|
||||||
@ -455,6 +509,7 @@ if __name__ == "__main__":
|
|||||||
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 rename_lvol_bdev(args):
|
def rename_lvol_bdev(args):
|
||||||
rpc.lvol.rename_lvol_bdev(args.client, args)
|
rpc.lvol.rename_lvol_bdev(args.client, args)
|
||||||
|
|
||||||
@ -472,6 +527,7 @@ if __name__ == "__main__":
|
|||||||
# 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_store(args):
|
def destroy_lvol_store(args):
|
||||||
rpc.lvol.destroy_lvol_store(args.client, args)
|
rpc.lvol.destroy_lvol_store(args.client, args)
|
||||||
|
|
||||||
@ -480,6 +536,7 @@ if __name__ == "__main__":
|
|||||||
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, args))
|
print_dict(rpc.lvol.get_lvol_stores(args.client, args))
|
||||||
|
|
||||||
@ -489,6 +546,7 @@ if __name__ == "__main__":
|
|||||||
p.set_defaults(func=get_lvol_stores)
|
p.set_defaults(func=get_lvol_stores)
|
||||||
|
|
||||||
# nbd
|
# nbd
|
||||||
|
@call_cmd
|
||||||
def start_nbd_disk(args):
|
def start_nbd_disk(args):
|
||||||
rpc.nbd.start_nbd_disk(args.client,
|
rpc.nbd.start_nbd_disk(args.client,
|
||||||
bdev_name=args.bdev_name,
|
bdev_name=args.bdev_name,
|
||||||
@ -499,6 +557,7 @@ if __name__ == "__main__":
|
|||||||
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)
|
||||||
@ -507,6 +566,7 @@ if __name__ == "__main__":
|
|||||||
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))
|
||||||
@ -516,6 +576,7 @@ if __name__ == "__main__":
|
|||||||
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, args)
|
rpc.net.add_ip_address(args.client, args)
|
||||||
|
|
||||||
@ -524,6 +585,7 @@ if __name__ == "__main__":
|
|||||||
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, args)
|
rpc.net.delete_ip_address(args.client, args)
|
||||||
|
|
||||||
@ -532,6 +594,7 @@ if __name__ == "__main__":
|
|||||||
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, args))
|
print_dict(rpc.net.get_interfaces(args.client, args))
|
||||||
|
|
||||||
@ -540,6 +603,7 @@ if __name__ == "__main__":
|
|||||||
p.set_defaults(func=get_interfaces)
|
p.set_defaults(func=get_interfaces)
|
||||||
|
|
||||||
# NVMe-oF
|
# NVMe-oF
|
||||||
|
@call_cmd
|
||||||
def get_nvmf_subsystems(args):
|
def get_nvmf_subsystems(args):
|
||||||
print_dict(rpc.nvmf.get_nvmf_subsystems(args.client, args))
|
print_dict(rpc.nvmf.get_nvmf_subsystems(args.client, args))
|
||||||
|
|
||||||
@ -547,6 +611,7 @@ if __name__ == "__main__":
|
|||||||
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):
|
||||||
rpc.nvmf.construct_nvmf_subsystem(args.client, args)
|
rpc.nvmf.construct_nvmf_subsystem(args.client, args)
|
||||||
|
|
||||||
@ -570,6 +635,7 @@ if __name__ == "__main__":
|
|||||||
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 delete_nvmf_subsystem(args):
|
def delete_nvmf_subsystem(args):
|
||||||
rpc.nvmf.delete_nvmf_subsystem(args.client, args)
|
rpc.nvmf.delete_nvmf_subsystem(args.client, args)
|
||||||
|
|
||||||
@ -579,6 +645,7 @@ if __name__ == "__main__":
|
|||||||
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, args)
|
rpc.nvmf.nvmf_subsystem_add_listener(args.client, args)
|
||||||
|
|
||||||
@ -590,6 +657,7 @@ if __name__ == "__main__":
|
|||||||
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, args)
|
rpc.nvmf.nvmf_subsystem_remove_listener(args.client, args)
|
||||||
|
|
||||||
@ -601,6 +669,7 @@ if __name__ == "__main__":
|
|||||||
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, args)
|
rpc.nvmf.nvmf_subsystem_add_ns(args.client, args)
|
||||||
|
|
||||||
@ -612,6 +681,7 @@ if __name__ == "__main__":
|
|||||||
p.add_argument('-e', '--eui64', help='Namespace EUI-64 identifier (optional)')
|
p.add_argument('-e', '--eui64', help='Namespace EUI-64 identifier (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, args)
|
rpc.nvmf.nvmf_subsystem_remove_ns(args.client, args)
|
||||||
|
|
||||||
@ -620,6 +690,7 @@ if __name__ == "__main__":
|
|||||||
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, args)
|
rpc.nvmf.nvmf_subsystem_add_host(args.client, args)
|
||||||
|
|
||||||
@ -628,6 +699,7 @@ if __name__ == "__main__":
|
|||||||
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, args)
|
rpc.nvmf.nvmf_subsystem_remove_host(args.client, args)
|
||||||
|
|
||||||
@ -636,6 +708,7 @@ if __name__ == "__main__":
|
|||||||
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, args)
|
rpc.nvmf.nvmf_subsystem_allow_any_host(args.client, args)
|
||||||
|
|
||||||
@ -646,6 +719,7 @@ if __name__ == "__main__":
|
|||||||
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):
|
||||||
rpc.pmem.create_pmem_pool(args.client, args)
|
rpc.pmem.create_pmem_pool(args.client, args)
|
||||||
|
|
||||||
@ -655,6 +729,7 @@ if __name__ == "__main__":
|
|||||||
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, args))
|
print_dict(rpc.pmem.pmem_pool_info(args.client, args))
|
||||||
|
|
||||||
@ -662,6 +737,7 @@ if __name__ == "__main__":
|
|||||||
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, args)
|
rpc.pmem.delete_pmem_pool(args.client, args)
|
||||||
|
|
||||||
@ -670,6 +746,7 @@ if __name__ == "__main__":
|
|||||||
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))
|
||||||
|
|
||||||
@ -677,6 +754,7 @@ if __name__ == "__main__":
|
|||||||
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))
|
||||||
|
|
||||||
@ -685,6 +763,7 @@ if __name__ == "__main__":
|
|||||||
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, args)
|
rpc.vhost.set_vhost_controller_coalescing(args.client, args)
|
||||||
|
|
||||||
@ -694,6 +773,7 @@ if __name__ == "__main__":
|
|||||||
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, args)
|
rpc.vhost.construct_vhost_scsi_controller(args.client, args)
|
||||||
|
|
||||||
@ -703,6 +783,7 @@ if __name__ == "__main__":
|
|||||||
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, args)
|
rpc.vhost.add_vhost_scsi_lun(args.client, args)
|
||||||
|
|
||||||
@ -713,6 +794,7 @@ if __name__ == "__main__":
|
|||||||
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, args)
|
rpc.vhost.remove_vhost_scsi_target(args.client, args)
|
||||||
|
|
||||||
@ -721,6 +803,7 @@ if __name__ == "__main__":
|
|||||||
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, args)
|
rpc.vhost.construct_vhost_blk_controller(args.client, args)
|
||||||
|
|
||||||
@ -731,12 +814,14 @@ if __name__ == "__main__":
|
|||||||
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 get_vhost_controllers(args):
|
def get_vhost_controllers(args):
|
||||||
print_dict(rpc.vhost.get_vhost_controllers(args.client, args))
|
print_dict(rpc.vhost.get_vhost_controllers(args.client, args))
|
||||||
|
|
||||||
p = subparsers.add_parser('get_vhost_controllers', help='List vhost controllers')
|
p = subparsers.add_parser('get_vhost_controllers', help='List vhost controllers')
|
||||||
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, args)
|
rpc.vhost.remove_vhost_controller(args.client, args)
|
||||||
|
|
||||||
@ -744,6 +829,7 @@ if __name__ == "__main__":
|
|||||||
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_user_scsi_bdev(args):
|
def construct_virtio_user_scsi_bdev(args):
|
||||||
print_dict(rpc.vhost.construct_virtio_user_scsi_bdev(args.client, args))
|
print_dict(rpc.vhost.construct_virtio_user_scsi_bdev(args.client, args))
|
||||||
|
|
||||||
@ -757,6 +843,7 @@ if __name__ == "__main__":
|
|||||||
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_dict(rpc.vhost.construct_virtio_pci_scsi_bdev(args.client, args))
|
print_dict(rpc.vhost.construct_virtio_pci_scsi_bdev(args.client, args))
|
||||||
|
|
||||||
@ -768,12 +855,14 @@ if __name__ == "__main__":
|
|||||||
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, args))
|
print_dict(rpc.vhost.get_virtio_scsi_devs(args.client, args))
|
||||||
|
|
||||||
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, args)
|
rpc.vhost.remove_virtio_scsi_bdev(args.client, args)
|
||||||
|
|
||||||
@ -782,6 +871,7 @@ if __name__ == "__main__":
|
|||||||
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 construct_virtio_user_blk_bdev(args):
|
def construct_virtio_user_blk_bdev(args):
|
||||||
print_dict(rpc.vhost.construct_virtio_user_blk_bdev(args.client, args))
|
print_dict(rpc.vhost.construct_virtio_user_blk_bdev(args.client, args))
|
||||||
|
|
||||||
@ -792,6 +882,7 @@ if __name__ == "__main__":
|
|||||||
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_dict(rpc.vhost.construct_virtio_pci_blk_bdev(args.client, args))
|
print_dict(rpc.vhost.construct_virtio_pci_blk_bdev(args.client, args))
|
||||||
|
|
||||||
|
@ -7,6 +7,11 @@ def print_dict(d):
|
|||||||
print(json.dumps(d, indent=2))
|
print(json.dumps(d, indent=2))
|
||||||
|
|
||||||
|
|
||||||
|
class JSONRPCException(Exception):
|
||||||
|
def __init__(self, message):
|
||||||
|
self.message = message
|
||||||
|
|
||||||
|
|
||||||
class JSONRPCClient(object):
|
class JSONRPCClient(object):
|
||||||
def __init__(self, addr, port=None, verbose=False, timeout=60.0):
|
def __init__(self, addr, port=None, verbose=False, timeout=60.0):
|
||||||
self.verbose = verbose
|
self.verbose = verbose
|
||||||
@ -68,21 +73,21 @@ class JSONRPCClient(object):
|
|||||||
|
|
||||||
if not response:
|
if not response:
|
||||||
if method == "kill_instance":
|
if method == "kill_instance":
|
||||||
exit(0)
|
return {}
|
||||||
if closed:
|
if closed:
|
||||||
print("Connection closed with partial response:")
|
msg = "Connection closed with partial response:"
|
||||||
else:
|
else:
|
||||||
print("Timeout while waiting for response:")
|
msg = "Timeout while waiting for response:"
|
||||||
print(buf)
|
msg = "\n".join([msg, buf])
|
||||||
exit(1)
|
raise JSONRPCException(msg)
|
||||||
|
|
||||||
if 'error' in response:
|
if 'error' in response:
|
||||||
print("Got JSON-RPC error response")
|
msg = "\n".join(["Got JSON-RPC error response",
|
||||||
print("request:")
|
"request:",
|
||||||
print_dict(json.loads(reqstr))
|
json.dumps(req, indent=2),
|
||||||
print("response:")
|
"response:",
|
||||||
print_dict(response['error'])
|
json.dumps(response['error'], indent=2)])
|
||||||
exit(1)
|
raise JSONRPCException(msg)
|
||||||
|
|
||||||
if verbose:
|
if verbose:
|
||||||
print("response:")
|
print("response:")
|
||||||
|
Loading…
Reference in New Issue
Block a user