summaryrefslogtreecommitdiff
path: root/cinderclient/v3/shell.py
diff options
context:
space:
mode:
authorTommyLike <tommylikehu@gmail.com>2017-12-13 10:52:36 +0800
committerTommyLike <tommylikehu@gmail.com>2017-12-14 11:17:29 +0800
commit9bfd6da08d615e56385df990b72cd0b891ed8868 (patch)
tree92598f75bbcab502f83777145c420da5436d682c /cinderclient/v3/shell.py
parent440f8d82aa8a263c95a3ec6823f4d67ca10a8d4a (diff)
downloadpython-cinderclient-9bfd6da08d615e56385df990b72cd0b891ed8868.tar.gz
Backup create is not available from 3.0 to 3.42
Backup create command is shielded by patch [1]. [1]: 2255fc99da9752737dcaa96ae4507b646074afb2 Change-Id: I100b8734ee2df4d81e16e2bfdafd81227c20d25e
Diffstat (limited to 'cinderclient/v3/shell.py')
-rw-r--r--cinderclient/v3/shell.py28
1 files changed, 19 insertions, 9 deletions
diff --git a/cinderclient/v3/shell.py b/cinderclient/v3/shell.py
index 922c3a1..3f94b9d 100644
--- a/cinderclient/v3/shell.py
+++ b/cinderclient/v3/shell.py
@@ -2220,7 +2220,7 @@ def do_service_get_log(cs, args):
columns = ('Binary', 'Host', 'Prefix', 'Level')
utils.print_list(log_levels, columns)
-@api_versions.wraps('3.43')
+
@utils.arg('volume', metavar='<volume>',
help='Name or ID of volume to backup.')
@utils.arg('--container', metavar='<container>',
@@ -2258,6 +2258,7 @@ def do_service_get_log(cs, args):
nargs='*',
metavar='<key=value>',
default=None,
+ start_version='3.43',
help='Metadata key and value pairs. Default=None.')
def do_backup_create(cs, args):
"""Creates a volume backup."""
@@ -2268,14 +2269,23 @@ def do_backup_create(cs, args):
args.description = args.display_description
volume = utils.find_volume(cs, args.volume)
- backup = cs.backups.create(volume.id,
- args.container,
- args.name,
- args.description,
- args.incremental,
- args.force,
- args.snapshot_id,
- args.metadata)
+ if hasattr(args, 'metadata') and args.metadata:
+ backup = cs.backups.create(volume.id,
+ args.container,
+ args.name,
+ args.description,
+ args.incremental,
+ args.force,
+ args.snapshot_id,
+ shell_utils.extract_metadata(args))
+ else:
+ backup = cs.backups.create(volume.id,
+ args.container,
+ args.name,
+ args.description,
+ args.incremental,
+ args.force,
+ args.snapshot_id)
info = {"volume_id": volume.id}
info.update(backup._info)