Merge "Don't change aliveness for certain exceptions."

This commit is contained in:
Zuul 2021-10-08 13:55:09 +00:00 committed by Gerrit Code Review
commit 2d303be3d4
1 changed files with 15 additions and 0 deletions

View File

@ -23,6 +23,7 @@ from oslo_log import log as logging
from oslo_utils import excutils
from kuryr_kubernetes import clients
from kuryr_kubernetes.controller.managers import prometheus_exporter
from kuryr_kubernetes import exceptions
from kuryr_kubernetes.handlers import base
from kuryr_kubernetes import utils
@ -83,6 +84,20 @@ class Retry(base.EventHandler):
}
self._handler(event, *args, retry_info=info, **kwargs)
break
except (exceptions.LoadBalancerNotReady,
exceptions.PortNotReady) as exc:
cls_map = {'LoadBalancerNotReady': 'record_lb_failure',
'PortNotReady': 'record_port_failure'}
with excutils.save_and_reraise_exception() as ex:
if self._sleep(deadline, attempt, ex.value):
ex.reraise = False
else:
exporter = (prometheus_exporter
.ControllerPrometheusExporter
.get_instance())
method = getattr(exporter, cls_map[type(exc).__name__])
method()
except os_exc.ConflictException as ex:
if ex.details.startswith('Quota exceeded for resources'):
with excutils.save_and_reraise_exception() as ex: