summaryrefslogtreecommitdiffstats
path: root/nova
diff options
context:
space:
mode:
authorDevananda van der Veen <devananda.vdv@gmail.com>2012-11-09 09:58:25 -0800
committerDevananda van der Veen <devananda.vdv@gmail.com>2012-11-11 08:57:54 -0800
commita2acdde088310fb8dabdd50b31be2c889d14085c (patch)
treed53d6127f55ecb9810d41cdd323df96a9d80fbcd /nova
parent2fac760e077a9b519b2220a88cff61d31a0d8d1d (diff)
downloadnova-a2acdde088310fb8dabdd50b31be2c889d14085c.tar.gz
nova-a2acdde088310fb8dabdd50b31be2c889d14085c.tar.xz
nova-a2acdde088310fb8dabdd50b31be2c889d14085c.zip
improve sessions for reservation
improve session handling for reservation_(get|destroy) blueprint db-session-cleanup Change-Id: I1b6e9a903ef8c3df7449201a2103dc720cdf0e31
Diffstat (limited to 'nova')
-rw-r--r--nova/db/sqlalchemy/api.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index 3b7c17a14..254d8cc4e 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -2499,9 +2499,8 @@ def quota_usage_update(context, project_id, resource, **kwargs):
@require_context
-def reservation_get(context, uuid, session=None):
- result = model_query(context, models.Reservation, session=session,
- read_deleted="no").\
+def reservation_get(context, uuid):
+ result = model_query(context, models.Reservation, read_deleted="no").\
filter_by(uuid=uuid).\
first()
@@ -2527,10 +2526,12 @@ def reservation_create(context, uuid, usage, project_id, resource, delta,
@require_admin_context
def reservation_destroy(context, uuid):
- session = get_session()
- with session.begin():
- reservation_ref = reservation_get(context, uuid, session=session)
- reservation_ref.delete(session=session)
+ result = model_query(context, models.Reservation, read_deleted="no").\
+ filter_by(uuid=uuid).\
+ delete()
+
+ if not result:
+ raise exception.ReservationNotFound(uuid=uuid)
###################