summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorJoe Gordon <jogo@cloudscaling.com>2012-11-28 16:31:57 -0800
committerJoe Gordon <joe.gordon0@gmail.com>2012-11-28 20:48:40 -0800
commit4e6bae7a00a1a5768a20f54f484299d7396123d5 (patch)
tree1867837292d048ed15bf03198bc9e42f26239b4a /nova/api
parent0666348b033b1838eef37c0f7e9db0d9e7bcb03a (diff)
Access DB values as dict not as attributes
We cannot assume nova.db.api will be returning sqlalchemy objects with attributes, instead treat return values as dicts Part of blueprint db-api-cleanup Change-Id: Icb955118aabff1d8f9ee7c3e95f8f2b3ffc671ee
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/ec2/cloud.py25
1 files changed, 13 insertions, 12 deletions
diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py
index df6f17fb0..ab59205a9 100644
--- a/nova/api/ec2/cloud.py
+++ b/nova/api/ec2/cloud.py
@@ -242,7 +242,7 @@ class CloudController(object):
disabled_services = db.service_get_all(context, True)
available_zones = []
- for zone in [service.availability_zone for service
+ for zone in [service['availability_zone'] for service
in enabled_services]:
if not zone in available_zones:
available_zones.append(zone)
@@ -277,12 +277,13 @@ class CloudController(object):
zone_hosts = {}
host_services = {}
for service in enabled_services:
- zone_hosts.setdefault(service.availability_zone, [])
- if not service.host in zone_hosts[service.availability_zone]:
- zone_hosts[service.availability_zone].append(service.host)
+ zone_hosts.setdefault(service['availability_zone'], [])
+ if not service['host'] in zone_hosts[service['availability_zone']]:
+ zone_hosts[service['availability_zone']].append(
+ service['host'])
- host_services.setdefault(service.host, [])
- host_services[service.host].append(service)
+ host_services.setdefault(service['host'], [])
+ host_services[service['host']].append(service)
result = []
for zone in available_zones:
@@ -475,11 +476,11 @@ class CloudController(object):
def _format_security_group(self, context, group):
g = {}
- g['groupDescription'] = group.description
- g['groupName'] = group.name
- g['ownerId'] = group.project_id
+ g['groupDescription'] = group['description']
+ g['groupName'] = group['name']
+ g['ownerId'] = group['project_id']
g['ipPermissions'] = []
- for rule in group.rules:
+ for rule in group['rules']:
r = {}
r['groups'] = []
r['ipRanges'] = []
@@ -612,7 +613,7 @@ class CloudController(object):
rulesvalues = self._rule_args_to_dict(context, values)
self._validate_rulevalues(rulesvalues)
for values_for_rule in rulesvalues:
- values_for_rule['parent_group_id'] = security_group.id
+ values_for_rule['parent_group_id'] = security_group['id']
rule_ids.append(self.security_group_api.rule_exists(
security_group, values_for_rule))
@@ -645,7 +646,7 @@ class CloudController(object):
rulesvalues = self._rule_args_to_dict(context, values)
self._validate_rulevalues(rulesvalues)
for values_for_rule in rulesvalues:
- values_for_rule['parent_group_id'] = security_group.id
+ values_for_rule['parent_group_id'] = security_group['id']
if self.security_group_api.rule_exists(security_group,
values_for_rule):
err = _('%s - This rule already exists in group')