merged fix-describe-groups
This commit is contained in:
commit
4bc6e8c467
@ -318,14 +318,19 @@ class CloudController(object):
|
||||
|
||||
def describe_security_groups(self, context, group_name=None, **kwargs):
|
||||
self.compute_api.ensure_default_security_group(context)
|
||||
if context.is_admin:
|
||||
if group_name:
|
||||
groups = []
|
||||
for name in group_name:
|
||||
group = db.security_group_get_by_name(context,
|
||||
context.project_id,
|
||||
name)
|
||||
groups.append(group)
|
||||
elif context.is_admin:
|
||||
groups = db.security_group_get_all(context)
|
||||
else:
|
||||
groups = db.security_group_get_by_project(context,
|
||||
context.project_id)
|
||||
groups = [self._format_security_group(context, g) for g in groups]
|
||||
if not group_name is None:
|
||||
groups = [g for g in groups if g.name in group_name]
|
||||
|
||||
return {'securityGroupInfo':
|
||||
list(sorted(groups,
|
||||
|
@ -133,6 +133,22 @@ class CloudTestCase(test.TestCase):
|
||||
db.instance_destroy(self.context, inst['id'])
|
||||
db.floating_ip_destroy(self.context, address)
|
||||
|
||||
def test_describe_security_groups(self):
|
||||
"""Makes sure describe_security_groups works and filters results."""
|
||||
sec = db.security_group_create(self.context,
|
||||
{'project_id': self.context.project_id,
|
||||
'name': 'test'})
|
||||
result = self.cloud.describe_security_groups(self.context)
|
||||
# NOTE(vish): should have the default group as well
|
||||
self.assertEqual(len(result['securityGroupInfo']), 2)
|
||||
result = self.cloud.describe_security_groups(self.context,
|
||||
group_name=[sec['name']])
|
||||
self.assertEqual(len(result['securityGroupInfo']), 1)
|
||||
self.assertEqual(
|
||||
result['securityGroupInfo'][0]['groupName'],
|
||||
sec['name'])
|
||||
db.security_group_destroy(self.context, sec['id'])
|
||||
|
||||
def test_describe_volumes(self):
|
||||
"""Makes sure describe_volumes works and filters results."""
|
||||
vol1 = db.volume_create(self.context, {})
|
||||
@ -286,19 +302,6 @@ class CloudTestCase(test.TestCase):
|
||||
LOG.debug(_("Terminating instance %s"), instance_id)
|
||||
rv = self.compute.terminate_instance(instance_id)
|
||||
|
||||
def test_describe_instances(self):
|
||||
"""Makes sure describe_instances works."""
|
||||
instance1 = db.instance_create(self.context, {'host': 'host2'})
|
||||
comp1 = db.service_create(self.context, {'host': 'host2',
|
||||
'availability_zone': 'zone1',
|
||||
'topic': "compute"})
|
||||
result = self.cloud.describe_instances(self.context)
|
||||
self.assertEqual(result['reservationSet'][0]
|
||||
['instancesSet'][0]
|
||||
['placement']['availabilityZone'], 'zone1')
|
||||
db.instance_destroy(self.context, instance1['id'])
|
||||
db.service_destroy(self.context, comp1['id'])
|
||||
|
||||
def test_instance_update_state(self):
|
||||
# TODO(termie): what is this code even testing?
|
||||
def instance(num):
|
||||
|
Loading…
Reference in New Issue
Block a user