diff --git a/quantum/db/securitygroups_db.py b/quantum/db/securitygroups_db.py index 9a70856bac..7eba36cf53 100644 --- a/quantum/db/securitygroups_db.py +++ b/quantum/db/securitygroups_db.py @@ -202,6 +202,8 @@ class SecurityGroupDbMixin(ext_sg.SecurityGroupPluginBase): 'description': security_group['description']} if security_group.get('external_id'): res['external_id'] = security_group['external_id'] + res['security_group_rules'] = [self._make_security_group_rule_dict(r) + for r in security_group.rules] return self._fields(res, fields) def _make_security_group_binding_dict(self, security_group, fields=None): diff --git a/quantum/tests/unit/test_extension_security_group.py b/quantum/tests/unit/test_extension_security_group.py index 86735f473a..879bee8c2a 100644 --- a/quantum/tests/unit/test_extension_security_group.py +++ b/quantum/tests/unit/test_extension_security_group.py @@ -281,6 +281,11 @@ class TestSecurityGroups(SecurityGroupDBTestCase): res = self.new_list_request('security-groups') groups = self.deserialize('json', res.get_response(self.ext_api)) self.assertEqual(len(groups['security_groups']), 2) + for group in groups['security_groups']: + if group['name'] == 'default': + self.assertEquals(len(group['security_group_rules']), 2) + else: + self.assertEquals(len(group['security_group_rules']), 0) def test_get_security_group(self): name = 'webservers'