diff --git a/kuryr_kubernetes/controller/handlers/kuryrport.py b/kuryr_kubernetes/controller/handlers/kuryrport.py index bad93d619..228e49682 100644 --- a/kuryr_kubernetes/controller/handlers/kuryrport.py +++ b/kuryr_kubernetes/controller/handlers/kuryrport.py @@ -129,11 +129,13 @@ class KuryrPortHandler(k8s_base.ResourceEventHandler): try: pod = self.k8s.get(f"{constants.K8S_API_NAMESPACES}" f"/{namespace}/pods/{name}") - except k_exc.K8sResourceNotFound as ex: - LOG.exception("Failed to get pod: %s", ex) + except k_exc.K8sResourceNotFound: + LOG.error("Pod %s/%s doesn't exists, deleting orphaned KuryrPort", + namespace, name) # TODO(gryf): Free resources - self.k8s.remove_finalizer(kuryrport_crd, constants.POD_FINALIZER) - raise + self.k8s.remove_finalizer(kuryrport_crd, + constants.KURYRPORT_FINALIZER) + return project_id = self._drv_project.get_project(pod) try: diff --git a/kuryr_kubernetes/tests/unit/controller/handlers/test_kuryrport.py b/kuryr_kubernetes/tests/unit/controller/handlers/test_kuryrport.py index 64627f732..89e20b239 100644 --- a/kuryr_kubernetes/tests/unit/controller/handlers/test_kuryrport.py +++ b/kuryr_kubernetes/tests/unit/controller/handlers/test_kuryrport.py @@ -338,12 +338,11 @@ class TestKuryrPortHandler(test_base.TestCase): with mock.patch.object(kp, 'k8s') as k8s: k8s.get.side_effect = k_exc.K8sResourceNotFound(self._pod) - self.assertRaises(k_exc.K8sResourceNotFound, kp.on_finalize, - self._kp) + self.assertIsNone(kp.on_finalize(self._kp)) k8s.get.assert_called_once_with(self._pod_uri) k8s.remove_finalizer.assert_called_once_with( - self._kp, constants.POD_FINALIZER) + self._kp, constants.KURYRPORT_FINALIZER) @mock.patch('kuryr_kubernetes.controller.drivers.vif_pool.MultiVIFPool.' 'release_vif')