scripts/rpc.py: pass named args to lvol.py
Also add docstrings to all lvol.py methods. Change-Id: I2fb0c0622450a8862d2d6182f1f800da4d15a780 Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-on: https://review.gerrithub.io/407372 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: John Kariuki <John.K.Kariuki@intel.com>
This commit is contained in:
parent
b7f049070d
commit
7d45cfc3cc
@ -480,7 +480,10 @@ if __name__ == "__main__":
|
||||
# lvol
|
||||
@call_cmd
|
||||
def construct_lvol_store(args):
|
||||
print_array(rpc.lvol.construct_lvol_store(args.client, args))
|
||||
print_array(rpc.lvol.construct_lvol_store(args.client,
|
||||
bdev_name=args.bdev_name,
|
||||
lvs_name=args.lvs_name,
|
||||
cluster_sz=args.cluster_sz))
|
||||
|
||||
p = subparsers.add_parser('construct_lvol_store', help='Add logical volume store on base bdev')
|
||||
p.add_argument('bdev_name', help='base bdev name')
|
||||
@ -490,7 +493,9 @@ if __name__ == "__main__":
|
||||
|
||||
@call_cmd
|
||||
def rename_lvol_store(args):
|
||||
rpc.lvol.rename_lvol_store(args.client, args)
|
||||
rpc.lvol.rename_lvol_store(args.client,
|
||||
old_name=args.old_name,
|
||||
new_name=args.new_name)
|
||||
|
||||
p = subparsers.add_parser('rename_lvol_store', help='Change logical volume store name')
|
||||
p.add_argument('old_name', help='old name')
|
||||
@ -499,7 +504,12 @@ if __name__ == "__main__":
|
||||
|
||||
@call_cmd
|
||||
def construct_lvol_bdev(args):
|
||||
print_array(rpc.lvol.construct_lvol_bdev(args.client, args))
|
||||
print_array(rpc.lvol.construct_lvol_bdev(args.client,
|
||||
lvol_name=args.lvol_name,
|
||||
size=args.size * 1024 * 1024,
|
||||
thin_provision=args.thin_provision,
|
||||
uuid=args.uuid,
|
||||
lvs_name=args.lvs_name))
|
||||
|
||||
p = subparsers.add_parser('construct_lvol_bdev', help='Add a bdev with an logical volume backend')
|
||||
p.add_argument('-u', '--uuid', help='lvol store UUID', required=False)
|
||||
@ -511,7 +521,9 @@ if __name__ == "__main__":
|
||||
|
||||
@call_cmd
|
||||
def snapshot_lvol_bdev(args):
|
||||
rpc.lvol.snapshot_lvol_bdev(args.client, args)
|
||||
rpc.lvol.snapshot_lvol_bdev(args.client,
|
||||
lvol_name=args.lvol_name,
|
||||
snapshot_name=args.snapshot_name)
|
||||
|
||||
p = subparsers.add_parser('snapshot_lvol_bdev', help='Create a snapshot of an lvol bdev')
|
||||
p.add_argument('lvol_name', help='lvol bdev name')
|
||||
@ -520,7 +532,9 @@ if __name__ == "__main__":
|
||||
|
||||
@call_cmd
|
||||
def clone_lvol_bdev(args):
|
||||
rpc.lvol.clone_lvol_bdev(args.client, args)
|
||||
rpc.lvol.clone_lvol_bdev(args.client,
|
||||
snapshot_name=args.snapshot_name,
|
||||
clone_name=args.clone_name)
|
||||
|
||||
p = subparsers.add_parser('clone_lvol_bdev', help='Create a clone of an lvol snapshot')
|
||||
p.add_argument('snapshot_name', help='lvol snapshot name')
|
||||
@ -529,7 +543,9 @@ if __name__ == "__main__":
|
||||
|
||||
@call_cmd
|
||||
def rename_lvol_bdev(args):
|
||||
rpc.lvol.rename_lvol_bdev(args.client, args)
|
||||
rpc.lvol.rename_lvol_bdev(args.client,
|
||||
old_name=args.old_name,
|
||||
new_name=args.new_name)
|
||||
|
||||
p = subparsers.add_parser('rename_lvol_bdev', help='Change lvol bdev name')
|
||||
p.add_argument('old_name', help='lvol bdev name')
|
||||
@ -538,7 +554,9 @@ if __name__ == "__main__":
|
||||
|
||||
@call_cmd
|
||||
def resize_lvol_bdev(args):
|
||||
rpc.lvol.resize_lvol_bdev(args.client, args)
|
||||
rpc.lvol.resize_lvol_bdev(args.client,
|
||||
name=args.name,
|
||||
size=args.size * 1024 * 1024)
|
||||
|
||||
p = subparsers.add_parser('resize_lvol_bdev', help='Resize existing lvol bdev')
|
||||
p.add_argument('name', help='lvol bdev name')
|
||||
@ -547,7 +565,9 @@ if __name__ == "__main__":
|
||||
|
||||
@call_cmd
|
||||
def destroy_lvol_store(args):
|
||||
rpc.lvol.destroy_lvol_store(args.client, args)
|
||||
rpc.lvol.destroy_lvol_store(args.client,
|
||||
uuid=args.uuid,
|
||||
lvs_name=args.lvs_name)
|
||||
|
||||
p = subparsers.add_parser('destroy_lvol_store', help='Destroy an logical volume store')
|
||||
p.add_argument('-u', '--uuid', help='lvol store UUID', required=False)
|
||||
@ -556,7 +576,9 @@ if __name__ == "__main__":
|
||||
|
||||
@call_cmd
|
||||
def get_lvol_stores(args):
|
||||
print_dict(rpc.lvol.get_lvol_stores(args.client, args))
|
||||
print_dict(rpc.lvol.get_lvol_stores(args.client,
|
||||
uuid=args.uuid,
|
||||
lvs_name=args.lvs_name))
|
||||
|
||||
p = subparsers.add_parser('get_lvol_stores', help='Display current logical volume store list')
|
||||
p.add_argument('-u', '--uuid', help='lvol store UUID', required=False)
|
||||
|
@ -1,84 +1,150 @@
|
||||
def construct_lvol_store(client, args):
|
||||
params = {'bdev_name': args.bdev_name, 'lvs_name': args.lvs_name}
|
||||
if args.cluster_sz:
|
||||
params['cluster_sz'] = args.cluster_sz
|
||||
def construct_lvol_store(client, bdev_name, lvs_name, cluster_sz=None):
|
||||
"""Construct a logical volume store.
|
||||
|
||||
Args:
|
||||
bdev_name: bdev on which to construct logical volume store
|
||||
lvs_name: name of the logical volume store to create
|
||||
cluster_sz: cluster size of the logical volume store in bytes (optional)
|
||||
|
||||
Returns:
|
||||
UUID of created logical volume store.
|
||||
"""
|
||||
params = {'bdev_name': bdev_name, 'lvs_name': lvs_name}
|
||||
if cluster_sz:
|
||||
params['cluster_sz'] = cluster_sz
|
||||
return client.call('construct_lvol_store', params)
|
||||
|
||||
|
||||
def rename_lvol_store(client, args):
|
||||
def rename_lvol_store(client, old_name, new_name):
|
||||
"""Rename a logical volume store.
|
||||
|
||||
Args:
|
||||
old_name: existing logical volume store name
|
||||
new_name: new logical volume store name
|
||||
"""
|
||||
params = {
|
||||
'old_name': args.old_name,
|
||||
'new_name': args.new_name
|
||||
'old_name': old_name,
|
||||
'new_name': new_name
|
||||
}
|
||||
return client.call('rename_lvol_store', params)
|
||||
|
||||
|
||||
def construct_lvol_bdev(client, 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
|
||||
return client.call('construct_lvol_bdev', params)
|
||||
def construct_lvol_bdev(client, lvol_name, size, thin_provision=False, uuid=None, lvs_name=None):
|
||||
"""Create a logical volume on a logical volume store.
|
||||
|
||||
Args:
|
||||
lvol_name: name of logical volume to create
|
||||
size: desired size of logical volume in bytes (will be rounded up to a multiple of cluster size)
|
||||
thin_provision: True to enable thin provisioning
|
||||
uuid: UUID of logical volume store to create logical volume on (optional)
|
||||
lvs_name: name of logical volume store to create logical volume on (optional)
|
||||
|
||||
Either uuid or lvs_name must be specified, but not both.
|
||||
"""
|
||||
if (uuid and lvs_name) or (not uuid and not lvs_name):
|
||||
raise ValueError("Either uuid or lvs_name must be specified, but not both")
|
||||
|
||||
params = {'lvol_name': lvol_name, 'size': size}
|
||||
if thin_provision:
|
||||
params['thin_provision'] = thin_provision
|
||||
if uuid:
|
||||
params['uuid'] = uuid
|
||||
if lvs_name:
|
||||
params['lvs_name'] = lvs_name
|
||||
return client.call('construct_lvol_bdev', params)
|
||||
|
||||
|
||||
def snapshot_lvol_bdev(client, args):
|
||||
def snapshot_lvol_bdev(client, lvol_name, snapshot_name):
|
||||
"""Capture a snapshot of the current state of a logical volume.
|
||||
|
||||
Args:
|
||||
lvol_name: logical volume to create a snapshot from
|
||||
snapshot_name: name for the newly created snapshot
|
||||
"""
|
||||
params = {
|
||||
'lvol_name': args.lvol_name,
|
||||
'snapshot_name': args.snapshot_name
|
||||
'lvol_name': lvol_name,
|
||||
'snapshot_name': snapshot_name
|
||||
}
|
||||
return client.call('snapshot_lvol_bdev', params)
|
||||
|
||||
|
||||
def clone_lvol_bdev(client, args):
|
||||
def clone_lvol_bdev(client, snapshot_name, clone_name):
|
||||
"""Create a logical volume based on a snapshot.
|
||||
|
||||
Args:
|
||||
snapshot_name: snapshot to clone
|
||||
clone_name: name of logical volume to create
|
||||
"""
|
||||
params = {
|
||||
'snapshot_name': args.snapshot_name,
|
||||
'clone_name': args.clone_name
|
||||
'snapshot_name': snapshot_name,
|
||||
'clone_name': clone_name
|
||||
}
|
||||
return client.call('clone_lvol_bdev', params)
|
||||
|
||||
|
||||
def rename_lvol_bdev(client, args):
|
||||
def rename_lvol_bdev(client, old_name, new_name):
|
||||
"""Rename a logical volume.
|
||||
|
||||
Args:
|
||||
old_name: existing logical volume name
|
||||
new_name: new logical volume name
|
||||
"""
|
||||
params = {
|
||||
'old_name': args.old_name,
|
||||
'new_name': args.new_name
|
||||
'old_name': old_name,
|
||||
'new_name': new_name
|
||||
}
|
||||
return client.call('rename_lvol_bdev', params)
|
||||
|
||||
|
||||
def resize_lvol_bdev(client, args):
|
||||
num_bytes = (args.size * 1024 * 1024)
|
||||
def resize_lvol_bdev(client, name, size):
|
||||
"""Resize a logical volume.
|
||||
|
||||
Args:
|
||||
name: name of logical volume to resize
|
||||
size: desired size of logical volume in bytes (will be rounded up to a multiple of cluster size)
|
||||
"""
|
||||
params = {
|
||||
'name': args.name,
|
||||
'size': num_bytes,
|
||||
'name': name,
|
||||
'size': size,
|
||||
}
|
||||
return client.call('resize_lvol_bdev', params)
|
||||
|
||||
|
||||
def destroy_lvol_store(client, args):
|
||||
def destroy_lvol_store(client, uuid=None, lvs_name=None):
|
||||
"""Destroy a logical volume store.
|
||||
|
||||
Args:
|
||||
uuid: UUID of logical volume store to destroy (optional)
|
||||
lvs_name: name of logical volume store to destroy (optional)
|
||||
|
||||
Either uuid or lvs_name must be specified, but not both.
|
||||
"""
|
||||
if (uuid and lvs_name) or (not uuid and not lvs_name):
|
||||
raise ValueError("Exactly one of uuid or lvs_name must be specified")
|
||||
|
||||
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
|
||||
return client.call('destroy_lvol_store', params)
|
||||
if uuid:
|
||||
params['uuid'] = uuid
|
||||
if lvs_name:
|
||||
params['lvs_name'] = lvs_name
|
||||
return client.call('destroy_lvol_store', params)
|
||||
|
||||
|
||||
def get_lvol_stores(client, args):
|
||||
def get_lvol_stores(client, uuid=None, lvs_name=None):
|
||||
"""List logical volume stores.
|
||||
|
||||
Args:
|
||||
uuid: UUID of logical volume store to retrieve information about (optional)
|
||||
lvs_name: name of logical volume store to retrieve information about (optional)
|
||||
|
||||
Either uuid or lvs_name may be specified, but not both.
|
||||
If both uuid and lvs_name are omitted, information about all logical volume stores is returned.
|
||||
"""
|
||||
if (uuid and lvs_name):
|
||||
raise ValueError("Exactly one of uuid or lvs_name may be specified")
|
||||
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
|
||||
if uuid:
|
||||
params['uuid'] = uuid
|
||||
if lvs_name:
|
||||
params['lvs_name'] = lvs_name
|
||||
return client.call('get_lvol_stores', params)
|
||||
|
Loading…
Reference in New Issue
Block a user