Comment 1 for bug 1634269

Revision history for this message
AJAY KALAMBUR (akalambu) wrote :

Tried following fix seemed to work
diff --git a/nova/network/neutronv2/api.py b/nova/network/neutronv2/api.py
index 7192031..c526393 100644
--- a/nova/network/neutronv2/api.py
+++ b/nova/network/neutronv2/api.py
@@ -1170,7 +1170,11 @@ class API(base_api.NetworkAPI):
         ports = set(ports) - ports_to_skip

         # Reset device_id and device_owner for the ports that are skipped
- self._unbind_ports(context, ports_to_skip, neutron)
+ # Only unbind port if neutron sees this port as bound
+ if data.get('ports', []):
+ self._unbind_ports(context, ports_to_skip, neutron)
+ else:
+ LOG.debug("Skipping port unbind as neutron does not see any ports attached")
         # Delete the rest of the ports
         self._delete_ports(neutron, instance, ports, raise_if_fail=True)