diff --git a/octavia/db/repositories.py b/octavia/db/repositories.py index 0d4467b740..0879a18a16 100644 --- a/octavia/db/repositories.py +++ b/octavia/db/repositories.py @@ -29,6 +29,7 @@ from oslo_utils import uuidutils from sqlalchemy.orm import joinedload from sqlalchemy.orm import noload from sqlalchemy.orm import subqueryload +from sqlalchemy.sql import func from octavia.common import constants as consts from octavia.common import data_models @@ -1398,7 +1399,8 @@ class AmphoraHealthRepository(BaseRepository): amp = session.query(self.model_class).with_for_update().filter_by( busy=False).filter( - self.model_class.last_update < expired_time).first() + self.model_class.last_update < expired_time).order_by( + func.random()).first() if amp is None: return None