Merge "Fix v3 volume list based on image_metadata"

This commit is contained in:
Jenkins 2017-01-23 11:45:41 +00:00 committed by Gerrit Code Review
commit 9b63d007d7
3 changed files with 15 additions and 1 deletions

View File

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

View File

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

View File

@ -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,
}