diff --git a/keystone/application_credential/backends/sql.py b/keystone/application_credential/backends/sql.py index c647fb68a1..057a0fa09e 100644 --- a/keystone/application_credential/backends/sql.py +++ b/keystone/application_credential/backends/sql.py @@ -44,11 +44,13 @@ class ApplicationCredentialModel(sql.ModelBase, sql.ModelDictMixin): roles = sqlalchemy.orm.relationship( 'ApplicationCredentialRoleModel', backref=sqlalchemy.orm.backref('application_credential'), - cascade='all, delete-orphan') + cascade='all, delete-orphan', + cascade_backrefs=False) access_rules = sqlalchemy.orm.relationship( 'ApplicationCredentialAccessRuleModel', backref=sqlalchemy.orm.backref('application_credential'), - cascade='all, delete-orphan') + cascade='all, delete-orphan', + cascade_backrefs=False) class ApplicationCredentialRoleModel(sql.ModelBase, sql.ModelDictMixin): @@ -78,7 +80,8 @@ class AccessRuleModel(sql.ModelBase, sql.ModelDictMixin): ) application_credential = sqlalchemy.orm.relationship( 'ApplicationCredentialAccessRuleModel', - backref=sqlalchemy.orm.backref('access_rule')) + backref=sqlalchemy.orm.backref('access_rule'), + cascade_backrefs=False) class ApplicationCredentialAccessRuleModel(sql.ModelBase, sql.ModelDictMixin): diff --git a/keystone/tests/unit/ksfixtures/warnings.py b/keystone/tests/unit/ksfixtures/warnings.py index 4a603a5ec3..f02580b7bf 100644 --- a/keystone/tests/unit/ksfixtures/warnings.py +++ b/keystone/tests/unit/ksfixtures/warnings.py @@ -79,16 +79,6 @@ class WarningsFixture(fixtures.Fixture): category=sqla_exc.SADeprecationWarning, ) - # ...but filter everything out until we get around to fixing them - # TODO(stephenfin): Fix all of these - - warnings.filterwarnings( - 'ignore', - module='keystone', - message=r'".*" object is being merged into a Session along .*', - category=sqla_exc.SADeprecationWarning, - ) - self.addCleanup(self._reset_warning_filters) def _reset_warning_filters(self):