Spdk/scripts/rpc/lvol.py
Sebastian Basierski 526cd58003 bdev: Added functions allowing logical volume rename.
Change-Id: Ice343afdc84c2a11cd9026d128a35f7a62aa7125
Signed-off-by: Sebastian Basierski <sebastianx.basierski@intel.com>
Reviewed-on: https://review.gerrithub.io/398933
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
2018-02-16 16:21:20 -05:00

65 lines
2.0 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))
def rename_lvol_bdev(args):
params = {
'old_name': args.old_name,
'new_name': args.new_name
}
args.client.call('rename_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))