Merge "Fix pool delete race on load balancer cascade delete"

This commit is contained in:
Zuul 2020-10-14 14:26:07 +00:00 committed by Gerrit Code Review
commit 8ea4d40281
1 changed files with 8 additions and 1 deletions

View File

@ -17,10 +17,13 @@
import datetime
import re
from oslo_log import log as logging
from sqlalchemy.orm import collections
from octavia.common import constants
LOG = logging.getLogger(__name__)
class BaseDataModel(object):
def to_dict(self, calling_classes=None, recurse=False, **kwargs):
@ -339,7 +342,11 @@ class Pool(BaseDataModel):
break
for pool in self.load_balancer.pools:
if pool.id == self.id:
self.load_balancer.pools.remove(pool)
try:
self.load_balancer.pools.remove(pool)
except ValueError:
LOG.debug("Pool %s has already been removed from load "
"balancer pools list.", pool.id)
break
for l7policy in self.l7policies:
if l7policy.redirect_pool_id == self.id: