From 41c00f6584fe32ecbd97857930f865ddf201486b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Dulko?= Date: Thu, 3 Sep 2020 17:08:27 +0200 Subject: [PATCH] Delete ports without device_owner on ns deletion Neutron clears device_owner when port is detached. This means that with pools we need to consider ports without device_owner set when doing cleanup on namespace deletion. Change-Id: Ic38015cba27d8418175027ec4e433df32eae4706 --- kuryr_kubernetes/controller/drivers/namespace_subnet.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kuryr_kubernetes/controller/drivers/namespace_subnet.py b/kuryr_kubernetes/controller/drivers/namespace_subnet.py index 075e0f8f7..feee79186 100644 --- a/kuryr_kubernetes/controller/drivers/namespace_subnet.py +++ b/kuryr_kubernetes/controller/drivers/namespace_subnet.py @@ -106,7 +106,9 @@ class NamespacePodSubnetDriver(default_subnet.DefaultPodSubnetDriver): "Deleting leftovers ports before retrying", net_id) leftover_ports = os_net.ports(network_id=net_id) for leftover_port in leftover_ports: - if leftover_port.device_owner not in ['trunk:subport', + # NOTE(dulek): '' is there because Neutron seems to unset + # device_owner on detach. + if leftover_port.device_owner not in ['', 'trunk:subport', kl_const.DEVICE_OWNER]: continue try: