Merge "server-group-list support 'all_projects' parameter"

This commit is contained in:
Jenkins 2015-05-30 00:43:24 +00:00 committed by Gerrit Code Review
commit 2fad863909
4 changed files with 25 additions and 3 deletions

View File

@ -31,6 +31,13 @@ class ServerGroupsTest(utils.FixturedTestCase):
self.assertTrue(isinstance(server_group,
server_groups.ServerGroup))
def test_list_server_groups_with_all_projects(self):
result = self.cs.server_groups.list(all_projects=True)
self.assert_called('GET', '/os-server-groups?all_projects')
for server_group in result:
self.assertTrue(isinstance(server_group,
server_groups.ServerGroup))
def test_create_server_group(self):
kwargs = {'name': 'ig1',
'policies': ['anti-affinity']}

View File

@ -2405,6 +2405,14 @@ class ShellTest(utils.TestCase):
self.assert_called('DELETE', '/os-server-groups/56789')
self.assert_called('DELETE', '/os-server-groups/12345', pos=-2)
def test_list_server_group(self):
self.run_command('server-group-list')
self.assert_called('GET', '/os-server-groups')
def test_list_server_group_with_all_projects(self):
self.run_command('server-group-list --all-projects')
self.assert_called('GET', '/os-server-groups?all_projects')
class ShellTestV11(ShellTest):
FAKE_ENV = {

View File

@ -39,12 +39,13 @@ class ServerGroupsManager(base.ManagerWithFind):
"""
resource_class = ServerGroup
def list(self):
def list(self, all_projects=False):
"""Get a list of all server groups.
:rtype: list of :class:`ServerGroup`.
"""
return self._list('/os-server-groups', 'server_groups')
all = '?all_projects' if all_projects else ''
return self._list('/os-server-groups%s' % all, 'server_groups')
def get(self, id):
"""Get a specific server group.

View File

@ -4350,9 +4350,15 @@ def _print_server_group_details(server_group):
utils.print_list(server_group, columns)
@cliutils.arg(
'--all-projects',
dest='all_projects',
action='store_true',
default=False,
help=_('Display server groups from all projects (Admin only).'))
def do_server_group_list(cs, args):
"""Print a list of all server groups."""
server_groups = cs.server_groups.list()
server_groups = cs.server_groups.list(args.all_projects)
_print_server_group_details(server_groups)