diff options
| author | Vivek Agrawal <vivek.agrawal@veritas.com> | 2017-01-19 08:20:09 -0800 |
|---|---|---|
| committer | Vivek Agrawal <vivek.agrawal@veritas.com> | 2017-01-19 08:20:09 -0800 |
| commit | f08ecd29ade3c8917f4fa317ebbd7fdefc7a09cf (patch) | |
| tree | 5b2262f08868cc6b1115a97561adeab2e7ce8a29 | |
| parent | b2bc638f4ad5ae3cbdc3bb7928f38c4f2b8273c4 (diff) | |
| download | python-cinderclient-f08ecd29ade3c8917f4fa317ebbd7fdefc7a09cf.tar.gz | |
Fix v3 volume list based on image_metadata
volume list filtered on image_metadata does not work as expected.
The filtering based on image_metadata depended on non existent
utility for extracting image_metadata.
Fixed the issue by calling appropriate utility module
for extracting image_metadata. Looks like a typo.
Change-Id: I13e78277fc1afd22d044bb49b6a5ccc00904228c
Closes-bug: #1657650
| -rw-r--r-- | cinderclient/tests/unit/v3/test_shell.py | 7 | ||||
| -rw-r--r-- | cinderclient/tests/unit/v3/test_volumes.py | 7 | ||||
| -rw-r--r-- | cinderclient/v3/shell.py | 2 |
3 files changed, 15 insertions, 1 deletions
diff --git a/cinderclient/tests/unit/v3/test_shell.py b/cinderclient/tests/unit/v3/test_shell.py index e3b2617..dc3dd68 100644 --- a/cinderclient/tests/unit/v3/test_shell.py +++ b/cinderclient/tests/unit/v3/test_shell.py @@ -373,6 +373,13 @@ class ShellTest(utils.TestCase): self.run_command('--os-volume-api-version 3.5 message-list --marker=1') self.assert_called('GET', '/messages?marker=1') + def test_list_filter_image_metadata(self): + self.run_command('--os-volume-api-version 3.0 ' + 'list --image_metadata image_name=1234') + url = ('/volumes/detail?%s' % + parse.urlencode([('glance_metadata', {"image_name": "1234"})])) + self.assert_called('GET', url) + def test_show_message(self): self.run_command('--os-volume-api-version 3.5 message-show 1234') self.assert_called('GET', '/messages/1234') diff --git a/cinderclient/tests/unit/v3/test_volumes.py b/cinderclient/tests/unit/v3/test_volumes.py index fe27a51..4613f37 100644 --- a/cinderclient/tests/unit/v3/test_volumes.py +++ b/cinderclient/tests/unit/v3/test_volumes.py @@ -93,3 +93,10 @@ class VolumesTest(utils.TestCase): expected = ("/snapshots/detail?metadata=%s" % parse.quote_plus("{'key1': 'val1'}")) cs.assert_called('GET', expected) + + def test_list_with_image_metadata(self): + cs = fakes.FakeClient(api_versions.APIVersion('3.0')) + cs.volumes.list(search_opts={'glance_metadata': {'key1': 'val1'}}) + expected = ("/volumes/detail?glance_metadata=%s" + % parse.quote_plus("{'key1': 'val1'}")) + cs.assert_called('GET', expected) diff --git a/cinderclient/v3/shell.py b/cinderclient/v3/shell.py index d89e10c..50213a5 100644 --- a/cinderclient/v3/shell.py +++ b/cinderclient/v3/shell.py @@ -137,7 +137,7 @@ def do_list(cs, args): 'migration_status': args.migration_status, 'metadata': shell_utils.extract_metadata(args) if args.metadata else None, - 'glance_metadata': shell.utils.extract_metadata(args, + 'glance_metadata': shell_utils.extract_metadata(args, type='image_metadata') if args.image_metadata else None, } |
