summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-02-28 18:54:00 +0000
committerGerrit Code Review <review@openstack.org>2013-02-28 18:54:00 +0000
commit5c602f221315bc645f10ff4597cdcd4ddd0d35d2 (patch)
tree3209a27936357b4606164890474f553611fb06d1 /nova/api
parent2c78edfcc9d6d5bfef3830a7db886b535314e336 (diff)
parent0bc531254cb964556cbe8d2fbf1f9321f92aaf93 (diff)
Merge "ec2 _format_security_group() accesses db when using quantum_driver"
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/ec2/cloud.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py
index dcbde3428..60b06c233 100644
--- a/nova/api/ec2/cloud.py
+++ b/nova/api/ec2/cloud.py
@@ -503,9 +503,17 @@ class CloudController(object):
r['groups'] = []
r['ipRanges'] = []
if rule['group_id']:
- source_group = rule['grantee_group']
- r['groups'] += [{'groupName': source_group['name'],
- 'userId': source_group['project_id']}]
+ if rule.get('grantee_group'):
+ source_group = rule['grantee_group']
+ r['groups'] += [{'groupName': source_group['name'],
+ 'userId': source_group['project_id']}]
+ else:
+ # rule is not always joined with grantee_group
+ # for example when using quantum driver.
+ source_group = self.security_group_api.get(
+ context, id=rule['group_id'])
+ r['groups'] += [{'groupName': source_group.get('name'),
+ 'userId': source_group.get('project_id')}]
if rule['protocol']:
r['ipProtocol'] = rule['protocol'].lower()
r['fromPort'] = rule['from_port']