From: Eugene Nikanorov Date: Sat, 21 Dec 2013 20:48:48 +0000 (+0400) Subject: Fix empty network deletion in db_base_plugin for postgresql X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=44b3783ceb94934bf8d4d62f704d42b49e52866e;p=openstack-build%2Fneutron-build.git 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 --- diff --git a/neutron/db/db_base_plugin_v2.py b/neutron/db/db_base_plugin_v2.py index d871c174f..0eaa237d7 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