summaryrefslogtreecommitdiffstats
path: root/nova/db
diff options
context:
space:
mode:
authorTrey Morris <trey.morris@rackspace.com>2011-06-21 11:09:54 -0500
committerTrey Morris <trey.morris@rackspace.com>2011-06-21 11:09:54 -0500
commit0ebfe3121c9abc00e0cb749dcc0f4b3dc5cbacb6 (patch)
treed120363fa4ae0a4714313836fbdb64fbfdea9501 /nova/db
parent0502a2b35fb1a4424e7249cb9f39d7fc98bf37b5 (diff)
some libvirt multi-nic just to get it to work, from tushar
Diffstat (limited to 'nova/db')
-rw-r--r--nova/db/sqlalchemy/api.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index 3cb35b649..0187f7bc6 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -827,12 +827,14 @@ def virtual_interface_create(context, values):
@require_context
-def virtual_interface_get(context, vif_id):
+def virtual_interface_get(context, vif_id, session=None):
"""Gets a virtual interface from the table.
:param vif_id: = id of the virtual interface
"""
- session = get_session()
+ if not session:
+ session = get_session()
+
vif_ref = session.query(models.VirtualInterface).\
filter_by(id=vif_id).\
options(joinedload('network')).\
@@ -927,8 +929,8 @@ def virtual_interface_delete(context, vif_id):
:param vif_id: = id of vif to delete
"""
- vif_ref = virtual_interface_get(context, vif_id)
session = get_session()
+ vif_ref = virtual_interface_get(context, vif_id, session)
with session.begin():
# disassociate any fixed_ips from this interface
for fixed_ip in vif_ref['fixed_ips']:
@@ -945,7 +947,7 @@ def virtual_interface_delete_by_instance(context, instance_id):
"""
vif_refs = virtual_interface_get_by_instance(context, instance_id)
for vif_ref in vif_refs:
- virtual_interface_delete(vif_ref['id'])
+ virtual_interface_delete(context, vif_ref['id'])
###################