summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDevananda van der Veen <devananda.vdv@gmail.com>2012-11-09 13:09:16 -0800
committerDevananda van der Veen <devananda.vdv@gmail.com>2012-11-11 08:58:02 -0800
commitd4a042962425b1f5e6c6a3a1560870dc0f56c8dc (patch)
treee7dbba489b4ea5bf134ec48eabf8151349623eec
parenta2acdde088310fb8dabdd50b31be2c889d14085c (diff)
downloadnova-d4a042962425b1f5e6c6a3a1560870dc0f56c8dc.tar.gz
nova-d4a042962425b1f5e6c6a3a1560870dc0f56c8dc.tar.xz
nova-d4a042962425b1f5e6c6a3a1560870dc0f56c8dc.zip
improve session handling around virtual_interfaces
improve session handling around virtual_interface_(get|delete|delete_by_instance) blueprint db-session-cleanup Change-Id: I7ce5a5bb6f079d83d79c1f7ed00994af0af09f1e
-rw-r--r--nova/db/sqlalchemy/api.py17
1 files changed, 8 insertions, 9 deletions
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index 254d8cc4e..b6758a0aa 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -1230,12 +1230,12 @@ def _virtual_interface_query(context, session=None):
@require_context
-def virtual_interface_get(context, vif_id, session=None):
+def virtual_interface_get(context, vif_id):
"""Gets a virtual interface from the table.
:param vif_id: = id of the virtual interface
"""
- vif_ref = _virtual_interface_query(context, session=session).\
+ vif_ref = _virtual_interface_query(context).\
filter_by(id=vif_id).\
first()
return vif_ref
@@ -1295,10 +1295,9 @@ def virtual_interface_delete(context, vif_id):
:param vif_id: = id of vif to delete
"""
- session = get_session()
- vif_ref = virtual_interface_get(context, vif_id, session)
- with session.begin():
- session.delete(vif_ref)
+ _virtual_interface_query(context).\
+ filter_by(id=vif_id).\
+ delete()
@require_context
@@ -1308,9 +1307,9 @@ def virtual_interface_delete_by_instance(context, instance_uuid):
:param instance_uuid: = uuid of instance
"""
- vif_refs = virtual_interface_get_by_instance(context, instance_uuid)
- for vif_ref in vif_refs:
- virtual_interface_delete(context, vif_ref['id'])
+ _virtual_interface_query(context).\
+ filter_by(instance_uuid=instance_uuid).\
+ delete()
@require_context