diff --git a/octavia/api/v1/controllers/load_balancer.py b/octavia/api/v1/controllers/load_balancer.py index abb256b6b9..8af40659af 100644 --- a/octavia/api/v1/controllers/load_balancer.py +++ b/octavia/api/v1/controllers/load_balancer.py @@ -238,12 +238,12 @@ class LoadBalancersController(base.BaseController): """Deletes a load balancer.""" context = pecan.request.context.get('octavia_context') db_lb = self._get_db_lb(context.session, id) - self._test_lb_status(context.session, id, - lb_status=constants.PENDING_DELETE) if (db_lb.listeners or db_lb.pools) and not cascade: msg = _("Cannot delete Load Balancer %s - it has children") % id - LOG.exception(msg) + LOG.warning(msg) raise exceptions.ValidationException(detail=msg) + self._test_lb_status(context.session, id, + lb_status=constants.PENDING_DELETE) try: LOG.info("Sending deleted Load Balancer %s to the handler", diff --git a/octavia/api/v2/controllers/load_balancer.py b/octavia/api/v2/controllers/load_balancer.py index c7227d4f82..227bf903f9 100644 --- a/octavia/api/v2/controllers/load_balancer.py +++ b/octavia/api/v2/controllers/load_balancer.py @@ -441,13 +441,13 @@ class LoadBalancersController(base.BaseController): constants.RBAC_DELETE) with db_api.get_lock_session() as lock_session: - self._test_lb_status(lock_session, id, - lb_status=constants.PENDING_DELETE) if (db_lb.listeners or db_lb.pools) and not cascade: msg = _("Cannot delete Load Balancer %s - " "it has children") % id LOG.warning(msg) raise exceptions.ValidationException(detail=msg) + self._test_lb_status(lock_session, id, + lb_status=constants.PENDING_DELETE) try: LOG.info("Sending deleted Load Balancer %s to the handler", id)