Spdk/scripts/rpc/lvol.py
Tomasz Zawadzki 9856fe06e5 lvol: display details of single lvol store RPC
New optional argument added to get_lvol_stores RPC.
If lvol store name or uuid is provided, details
for this single lvol store is displayed.

It follows similar logic as in get_bdevs or get_nbd_disks.

Change-Id: I11e71d98f3cde869addf5cedeb4f33e5cebf53ea
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/395126
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-01-31 12:08:04 -05:00

57 lines
1.8 KiB
Python
Executable File

from client import print_dict, print_array, int_arg
def construct_lvol_store(args):
params = {'bdev_name': args.bdev_name, 'lvs_name': args.lvs_name}
if args.cluster_sz:
params['cluster_sz'] = args.cluster_sz
print_array(args.client.call('construct_lvol_store', params))
def construct_lvol_bdev(args):
num_bytes = (args.size * 1024 * 1024)
params = {'lvol_name': args.lvol_name, 'size': num_bytes}
if args.thin_provision:
params['thin_provision'] = args.thin_provision
if (args.uuid and args.lvs_name) or (not args.uuid and not args.lvs_name):
print("You need to specify either uuid or name of lvolstore")
else:
if args.uuid:
params['uuid'] = args.uuid
if args.lvs_name:
params['lvs_name'] = args.lvs_name
print_array(args.client.call('construct_lvol_bdev', params))
# Logical volume resize feature is disabled, as it is currently work in progress
#
# def resize_lvol_bdev(args):
# params = {
# 'name': args.name,
# 'size': args.size,
# }
# args.client.call('resize_lvol_bdev', params)
def destroy_lvol_store(args):
params = {}
if (args.uuid and args.lvs_name) or (not args.uuid and not args.lvs_name):
print("You need to specify either uuid or name of lvolstore")
else:
if args.uuid:
params['uuid'] = args.uuid
if args.lvs_name:
params['lvs_name'] = args.lvs_name
args.client.call('destroy_lvol_store', params)
def get_lvol_stores(args):
params = {}
if (args.uuid and args.lvs_name):
print("You can only specify either uuid or name of lvolstore")
if args.uuid:
params['uuid'] = args.uuid
if args.lvs_name:
params['lvs_name'] = args.lvs_name
print_dict(args.client.call('get_lvol_stores', params))