From d5aa1831ac95c16fcee6ec0bb8f0bf07afbe384c Mon Sep 17 00:00:00 2001 From: Eugene Nikanorov Date: Wed, 8 Apr 2015 02:23:22 +0400 Subject: [PATCH] Add logging to dangling port to ml2 delete_subnet This is useful when trouble shooting test failures. Also, in db_base_plugin_v2, log only port_id instead of full allocation object. Change-Id: I3d77318aee70836de125687a7f6c0f495d545f21 Related-Bug: #1357055 --- neutron/db/db_base_plugin_v2.py | 6 ++++-- neutron/plugins/ml2/plugin.py | 11 ++++++++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/neutron/db/db_base_plugin_v2.py b/neutron/db/db_base_plugin_v2.py index f7bcf8db5..01f431fa7 100644 --- a/neutron/db/db_base_plugin_v2.py +++ b/neutron/db/db_base_plugin_v2.py @@ -1514,9 +1514,11 @@ class NeutronDbPluginV2(neutron_plugin_base_v2.NeutronPluginBaseV2, if not is_auto_addr_subnet: alloc = self._subnet_check_ip_allocations(context, id) if alloc: - LOG.info(_LI("Found IP allocation %(alloc)s on subnet " + LOG.info(_LI("Found port (%(port_id)s, %(ip)s) having IP " + "allocation on subnet " "%(subnet)s, cannot delete"), - {'alloc': alloc, + {'ip': alloc.ip_address, + 'port_id': alloc.port_id, 'subnet': id}) raise n_exc.SubnetInUse(subnet_id=id) diff --git a/neutron/plugins/ml2/plugin.py b/neutron/plugins/ml2/plugin.py index 66d989cae..fa5b0e9a7 100644 --- a/neutron/plugins/ml2/plugin.py +++ b/neutron/plugins/ml2/plugin.py @@ -873,9 +873,14 @@ class Ml2Plugin(db_base_plugin_v2.NeutronDbPluginV2, # the isolation level is set to READ COMMITTED allocations made # concurrently will be returned by this query if not is_auto_addr_subnet: - if self._subnet_check_ip_allocations(context, id): - LOG.debug("Found IP allocations on subnet %s, " - "cannot delete", id) + alloc = self._subnet_check_ip_allocations(context, id) + if alloc: + LOG.info(_LI("Found port (%(port_id)s, %(ip)s) " + "having IP allocation on subnet " + "%(subnet)s, cannot delete"), + {'ip': alloc.ip_address, + 'port_id': alloc.port_id, + 'subnet': id}) raise exc.SubnetInUse(subnet_id=id) # If allocated is None, then all the IPAllocation were -- 2.45.2