Merge lp:~vishvananda/nova/lp723938 into lp:~hudson-openstack/nova/trunk

Proposed by Vish Ishaya
Status: Merged
Approved by: Devin Carlen
Approved revision: 721
Merged at revision: 723
Proposed branch: lp:~vishvananda/nova/lp723938
Merge into: lp:~hudson-openstack/nova/trunk
Diff against target: 53 lines (+8/-10)
3 files modified
nova/api/ec2/cloud.py (+3/-2)
nova/db/api.py (+2/-2)
nova/db/sqlalchemy/api.py (+3/-6)
To merge this branch: bzr merge lp:~vishvananda/nova/lp723938
Reviewer Review Type Date Requested Status
Devin Carlen (community) Approve
Jay Pipes (community) Approve
Review via email: mp+51001@code.launchpad.net

Description of the change

Fixes the describe_availability_zones to use an elevated context when getting services and the db calls to pass parameters correctly so is_admin check works.

To post a comment you must log in.
lp:~vishvananda/nova/lp723938 updated
721. By Vish Ishaya

fix describe_availability_zones

Revision history for this message
Jay Pipes (jaypipes) wrote :

lgtm.

review: Approve
Revision history for this message
Devin Carlen (devcamcar) wrote :

lgtm

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'nova/api/ec2/cloud.py'
--- nova/api/ec2/cloud.py 2011-02-23 19:26:38 +0000
+++ nova/api/ec2/cloud.py 2011-02-23 20:57:34 +0000
@@ -198,8 +198,9 @@
198 return self._describe_availability_zones(context, **kwargs)198 return self._describe_availability_zones(context, **kwargs)
199199
200 def _describe_availability_zones(self, context, **kwargs):200 def _describe_availability_zones(self, context, **kwargs):
201 enabled_services = db.service_get_all(context)201 ctxt = context.elevated()
202 disabled_services = db.service_get_all(context, True)202 enabled_services = db.service_get_all(ctxt)
203 disabled_services = db.service_get_all(ctxt, True)
203 available_zones = []204 available_zones = []
204 for zone in [service.availability_zone for service205 for zone in [service.availability_zone for service
205 in enabled_services]:206 in enabled_services]:
206207
=== modified file 'nova/db/api.py'
--- nova/db/api.py 2011-02-17 22:14:07 +0000
+++ nova/db/api.py 2011-02-23 20:57:34 +0000
@@ -85,8 +85,8 @@
8585
8686
87def service_get_all(context, disabled=False):87def service_get_all(context, disabled=False):
88 """Get all service."""88 """Get all services."""
89 return IMPL.service_get_all(context, None, disabled)89 return IMPL.service_get_all(context, disabled)
9090
9191
92def service_get_all_by_topic(context, topic):92def service_get_all_by_topic(context, topic):
9393
=== modified file 'nova/db/sqlalchemy/api.py'
--- nova/db/sqlalchemy/api.py 2011-02-23 18:11:35 +0000
+++ nova/db/sqlalchemy/api.py 2011-02-23 20:57:34 +0000
@@ -136,15 +136,12 @@
136136
137137
138@require_admin_context138@require_admin_context
139def service_get_all(context, session=None, disabled=False):139def service_get_all(context, disabled=False):
140 if not session:140 session = get_session()
141 session = get_session()141 return session.query(models.Service).\
142
143 result = session.query(models.Service).\
144 filter_by(deleted=can_read_deleted(context)).\142 filter_by(deleted=can_read_deleted(context)).\
145 filter_by(disabled=disabled).\143 filter_by(disabled=disabled).\
146 all()144 all()
147 return result
148145
149146
150@require_admin_context147@require_admin_context