diff --git a/nova/db/sqlalchemy/models.py b/nova/db/sqlalchemy/models.py index fa10356a6ff0..b956ea6068e5 100644 --- a/nova/db/sqlalchemy/models.py +++ b/nova/db/sqlalchemy/models.py @@ -465,9 +465,11 @@ class Reservation(BASE, NovaBase): uuid = Column(String(36), nullable=False) usage_id = Column(Integer, ForeignKey('quota_usages.id'), nullable=False) + # NOTE(dprince): Force innerjoin below for lockmode update on PostgreSQL usage = relationship(QuotaUsage, backref=backref('reservations'), foreign_keys=usage_id, + innerjoin=True, primaryjoin='and_(' 'Reservation.usage_id == QuotaUsage.id,' 'Reservation.deleted == False)')