summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2017-01-23 11:45:41 +0000
committerGerrit Code Review <review@openstack.org>2017-01-23 11:45:41 +0000
commit9b63d007d769d874b7e912c081661b4b3de00733 (patch)
treea73820cac87770ea5e331dbdcd157f5df7c8ebc2
parente04a4149f296a367d82b9aa01df8a90855999784 (diff)
parentf08ecd29ade3c8917f4fa317ebbd7fdefc7a09cf (diff)
downloadpython-cinderclient-9b63d007d769d874b7e912c081661b4b3de00733.tar.gz
Merge "Fix v3 volume list based on image_metadata"
-rw-r--r--cinderclient/tests/unit/v3/test_shell.py7
-rw-r--r--cinderclient/tests/unit/v3/test_volumes.py7
-rw-r--r--cinderclient/v3/shell.py2
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,
}