summaryrefslogtreecommitdiff
path: root/cinderclient
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2017-12-20 02:59:53 +0000
committerGerrit Code Review <review@openstack.org>2017-12-20 02:59:53 +0000
commit7b34445a3cf2c87cc096d064725661f6ca320ee9 (patch)
treea97458de87fe4aa952367fb8cf41f0addf23bb51 /cinderclient
parent95e51505e1d2b1ae80d38afe21e9d1330cf0f3f7 (diff)
parentd59eb3ee05b7f2f30f80115f24f970b7bd50c7eb (diff)
downloadpython-cinderclient-7b34445a3cf2c87cc096d064725661f6ca320ee9.tar.gz
Merge "Fix the way to get backup metadata"
Diffstat (limited to 'cinderclient')
-rw-r--r--cinderclient/tests/unit/v3/test_shell.py15
-rw-r--r--cinderclient/v3/shell.py6
2 files changed, 16 insertions, 5 deletions
diff --git a/cinderclient/tests/unit/v3/test_shell.py b/cinderclient/tests/unit/v3/test_shell.py
index 638e960..db78b9b 100644
--- a/cinderclient/tests/unit/v3/test_shell.py
+++ b/cinderclient/tests/unit/v3/test_shell.py
@@ -445,14 +445,25 @@ class ShellTest(utils.TestCase):
expected = {'backup': {'description': 'new-description'}}
self.assert_called('PUT', '/backups/1234', body=expected)
+ def test_backup_update_with_metadata(self):
+ cmd = '--os-volume-api-version 3.43 '
+ cmd += 'backup-update '
+ cmd += '--metadata foo=bar '
+ cmd += '1234'
+ self.run_command(cmd)
+ expected = {'backup': {'metadata': {'foo': 'bar'}}}
+ self.assert_called('PUT', '/backups/1234', body=expected)
+
def test_backup_update_all(self):
# rename and change description
- self.run_command('--os-volume-api-version 3.9 '
+ self.run_command('--os-volume-api-version 3.43 '
'backup-update --name new-name '
- '--description=new-description 1234')
+ '--description=new-description '
+ '--metadata foo=bar 1234')
expected = {'backup': {
'name': 'new-name',
'description': 'new-description',
+ 'metadata': {'foo': 'bar'}
}}
self.assert_called('PUT', '/backups/1234', body=expected)
diff --git a/cinderclient/v3/shell.py b/cinderclient/v3/shell.py
index 3f94b9d..644cc05 100644
--- a/cinderclient/v3/shell.py
+++ b/cinderclient/v3/shell.py
@@ -969,7 +969,7 @@ def do_migrate(cs, args):
help='Metadata key and value pairs. Default=None.',
start_version='3.43')
def do_backup_update(cs, args):
- """Renames a backup."""
+ """Updates a backup."""
kwargs = {}
if args.name is not None:
@@ -980,10 +980,10 @@ def do_backup_update(cs, args):
if cs.api_version >= api_versions.APIVersion("3.43"):
if args.metadata is not None:
- kwargs['metadata'] = args.metadata
+ kwargs['metadata'] = shell_utils.extract_metadata(args)
if not kwargs:
- msg = 'Must supply either name or description.'
+ msg = 'Must supply at least one: name, description or metadata.'
raise exceptions.ClientException(code=1, message=msg)
shell_utils.find_backup(cs, args.backup).update(**kwargs)