Merge "Fix the way to get backup metadata"

This commit is contained in:
Zuul
2017-12-20 02:59:53 +00:00
committed by Gerrit Code Review
2 changed files with 16 additions and 5 deletions

View File

@@ -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)

View File

@@ -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)