Merge "Support filter volumes by group_id"

This commit is contained in:
Jenkins
2017-01-26 15:33:12 +00:00
committed by Gerrit Code Review
2 changed files with 18 additions and 0 deletions

View File

@@ -71,6 +71,18 @@ class ShellTest(utils.TestCase):
# NOTE(jdg): we default to detail currently
self.assert_called('GET', '/volumes/detail')
def test_list_with_group_id_before_3_10(self):
self.assertRaises(exceptions.UnsupportedAttribute,
self.run_command,
'list --group_id fake_id')
@ddt.data("3.10", "3.11")
def test_list_with_group_id_after_3_10(self, version):
command = ('--os-volume-api-version %s list --group_id fake_id' %
version)
self.run_command(command)
self.assert_called('GET', '/volumes/detail?group_id=fake_id')
def test_list_availability_zone(self):
self.run_command('availability-zone-list')
self.assert_called('GET', '/os-availability-zone')

View File

@@ -31,6 +31,11 @@ from cinderclient import utils
from cinderclient.v2.shell import * # flake8: noqa
@utils.arg('--group_id',
metavar='<group_id>',
default=None,
help='Filters results by a group_id. Default=None.',
start_version='3.10')
@utils.arg('--all-tenants',
dest='all_tenants',
metavar='<0|1>',
@@ -137,6 +142,7 @@ def do_list(cs, args):
'glance_metadata': shell_utils.extract_metadata(args,
type='image_metadata')
if args.image_metadata else None,
'group_id': getattr(args, 'group_id', None),
}
# If unavailable/non-existent fields are specified, these fields will