From cd0389c12ec71e011079d5f1f4fdf001c49a6c7c Mon Sep 17 00:00:00 2001 From: Eugene Nikanorov Date: Sun, 22 Dec 2013 00:48:48 +0400 Subject: [PATCH] Fix empty network deletion in db_base_plugin for postgresql Need to disable joined loads for port query in delete_network as in other methods. No unit test is being added, because the problem is not reproducible with sqlite. Closes-Bug: #1261652 Change-Id: I7a015be6f2f9b8ae43bc29a767d16af30120f13f --- neutron/db/db_base_plugin_v2.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/neutron/db/db_base_plugin_v2.py b/neutron/db/db_base_plugin_v2.py index d871c174fb..0eaa237d72 100644 --- a/neutron/db/db_base_plugin_v2.py +++ b/neutron/db/db_base_plugin_v2.py @@ -991,8 +991,10 @@ class NeutronDbPluginV2(neutron_plugin_base_v2.NeutronPluginBaseV2, filters = {'network_id': [id]} # NOTE(armando-migliaccio): stick with base plugin - ports = self._get_ports_query( - context, filters=filters).with_lockmode('update') + query = context.session.query( + models_v2.Port).enable_eagerloads(False) + ports = self._apply_filters_to_query( + query, models_v2.Port, filters).with_lockmode('update') # check if there are any tenant owned ports in-use only_auto_del = all(p['device_owner'] in AUTO_DELETE_PORT_OWNERS