From d4a042962425b1f5e6c6a3a1560870dc0f56c8dc Mon Sep 17 00:00:00 2001 From: Devananda van der Veen Date: Fri, 9 Nov 2012 13:09:16 -0800 Subject: [PATCH] improve session handling around virtual_interfaces improve session handling around virtual_interface_(get|delete|delete_by_instance) blueprint db-session-cleanup Change-Id: I7ce5a5bb6f079d83d79c1f7ed00994af0af09f1e --- nova/db/sqlalchemy/api.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py index 254d8cc4ee86..b6758a0aa615 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