diff options
| author | Devananda van der Veen <devananda.vdv@gmail.com> | 2012-11-09 13:09:16 -0800 |
|---|---|---|
| committer | Devananda van der Veen <devananda.vdv@gmail.com> | 2012-11-11 08:58:02 -0800 |
| commit | d4a042962425b1f5e6c6a3a1560870dc0f56c8dc (patch) | |
| tree | e7dbba489b4ea5bf134ec48eabf8151349623eec | |
| parent | a2acdde088310fb8dabdd50b31be2c889d14085c (diff) | |
| download | nova-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.py | 17 |
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 |
