diff options
| author | Zuul <zuul@review.openstack.org> | 2017-12-20 02:59:53 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2017-12-20 02:59:53 +0000 |
| commit | 7b34445a3cf2c87cc096d064725661f6ca320ee9 (patch) | |
| tree | a97458de87fe4aa952367fb8cf41f0addf23bb51 /cinderclient | |
| parent | 95e51505e1d2b1ae80d38afe21e9d1330cf0f3f7 (diff) | |
| parent | d59eb3ee05b7f2f30f80115f24f970b7bd50c7eb (diff) | |
| download | python-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.py | 15 | ||||
| -rw-r--r-- | cinderclient/v3/shell.py | 6 |
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) |
