I copy-pasted wrong part of traceback in previous comment. Correct one is
Traceback (most recent call last):
File "/opt/stack/keystone/keystone/tests/test_backend_ldap.py", line 1004, in test_delete_domain_with_user_added
self.assignment_api.delete_domain(domain['id'])
File "/opt/stack/keystone/keystone/assignment/core.py", line 284, in delete_domain
self.driver.delete_domain(domain_id)
File "/opt/stack/keystone/keystone/assignment/backends/sql.py", line 559, in delete_domain
session.flush()
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.9-py2.7-linux-x86_64.egg/sqlalchemy/orm/session.py", line 1718, in flush
self._flush(objects)
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.9-py2.7-linux-x86_64.egg/sqlalchemy/orm/session.py", line 1789, in _flush
flush_context.execute()
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.9-py2.7-linux-x86_64.egg/sqlalchemy/orm/unitofwork.py", line 331, in execute
rec.execute(self)
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.9-py2.7-linux-x86_64.egg/sqlalchemy/orm/unitofwork.py", line 498, in execute
uow
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.9-py2.7-linux-x86_64.egg/sqlalchemy/orm/persistence.py", line 115, in delete_obj
cached_connections, mapper, table, delete)
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.9-py2.7-linux-x86_64.egg/sqlalchemy/orm/persistence.py", line 671, in _emit_delete_statements
connection.execute(statement, del_objects)
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.9-py2.7-linux-x86_64.egg/sqlalchemy/engine/base.py", line 1449, in execute
params)
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.9-py2.7-linux-x86_64.egg/sqlalchemy/engine/base.py", line 1584, in _execute_clauseelement
compiled_sql, distilled_params
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.9-py2.7-linux-x86_64.egg/sqlalchemy/engine/base.py", line 1698, in _execute_context
context)
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.9-py2.7-linux-x86_64.egg/sqlalchemy/engine/base.py", line 1691, in _execute_context
context)
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.9-py2.7-linux-x86_64.egg/sqlalchemy/engine/default.py", line 331, in do_execute
cursor.execute(statement, parameters)
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute
self.errorhandler(self, exc, value)
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
IntegrityError: (IntegrityError) (1451, 'Cannot delete or update a parent row: a foreign key constraint fails (`keystone_test`.`project`, CONSTRAINT `project_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `domain` (`id`))') 'DELETE FROM domain WHERE domain.id = %s' ('6ec418ea6e6b41f7ac6c6b916819e913',)
-----------------------------------------------------------------------------------------------------------------------------------------
When i used your test case the result was almost the same
Traceback (most recent call last):
File "/opt/stack/keystone/keystone/tests/test_backend_ldap.py", line 1002, in test_delete_domain_with_user_added
self.assignment_api.delete_domain(domain['id'])
File "/opt/stack/keystone/keystone/assignment/core.py", line 284, in delete_domain
self.driver.delete_domain(domain_id)
File "/opt/stack/keystone/keystone/assignment/backends/sql.py", line 559, in delete_domain
session.flush()
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.9-py2.7-linux-x86_64.egg/sqlalchemy/orm/session.py", line 1718, in flush
self._flush(objects)
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.9-py2.7-linux-x86_64.egg/sqlalchemy/orm/session.py", line 1789, in _flush
flush_context.execute()
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.9-py2.7-linux-x86_64.egg/sqlalchemy/orm/unitofwork.py", line 331, in execute
rec.execute(self)
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.9-py2.7-linux-x86_64.egg/sqlalchemy/orm/unitofwork.py", line 498, in execute
uow
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.9-py2.7-linux-x86_64.egg/sqlalchemy/orm/persistence.py", line 115, in delete_obj
cached_connections, mapper, table, delete)
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.9-py2.7-linux-x86_64.egg/sqlalchemy/orm/persistence.py", line 671, in _emit_delete_statements
connection.execute(statement, del_objects)
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.9-py2.7-linux-x86_64.egg/sqlalchemy/engine/base.py", line 1449, in execute
params)
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.9-py2.7-linux-x86_64.egg/sqlalchemy/engine/base.py", line 1584, in _execute_clauseelement
compiled_sql, distilled_params
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.9-py2.7-linux-x86_64.egg/sqlalchemy/engine/base.py", line 1698, in _execute_context
context)
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.9-py2.7-linux-x86_64.egg/sqlalchemy/engine/base.py", line 1691, in _execute_context
context)
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.9-py2.7-linux-x86_64.egg/sqlalchemy/engine/default.py", line 331, in do_execute
cursor.execute(statement, parameters)
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute
self.errorhandler(self, exc, value)
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
IntegrityError: (IntegrityError) (1451, 'Cannot delete or update a parent row: a foreign key constraint fails (`keystone_test`.`user_domain_metadata`, CONSTRAINT `user_domain_metadata_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `domain` (`id`))') 'DELETE FROM domain WHERE domain.id = %s' ('6f6588ef7a154b628de9c8458652af66',)
I copy-pasted wrong part of traceback in previous comment. Correct one is keystone/ keystone/ tests/test_ backend_ ldap.py" , line 1004, in test_delete_ domain_ with_user_ added assignment_ api.delete_ domain( domain[ 'id']) keystone/ keystone/ assignment/ core.py" , line 284, in delete_domain driver. delete_ domain( domain_ id) keystone/ keystone/ assignment/ backends/ sql.py" , line 559, in delete_domain lib/python2. 7/dist- packages/ SQLAlchemy- 0.7.9-py2. 7-linux- x86_64. egg/sqlalchemy/ orm/session. py", line 1718, in flush _flush( objects) lib/python2. 7/dist- packages/ SQLAlchemy- 0.7.9-py2. 7-linux- x86_64. egg/sqlalchemy/ orm/session. py", line 1789, in _flush context. execute( ) lib/python2. 7/dist- packages/ SQLAlchemy- 0.7.9-py2. 7-linux- x86_64. egg/sqlalchemy/ orm/unitofwork. py", line 331, in execute execute( self) lib/python2. 7/dist- packages/ SQLAlchemy- 0.7.9-py2. 7-linux- x86_64. egg/sqlalchemy/ orm/unitofwork. py", line 498, in execute lib/python2. 7/dist- packages/ SQLAlchemy- 0.7.9-py2. 7-linux- x86_64. egg/sqlalchemy/ orm/persistence .py", line 115, in delete_obj connections, mapper, table, delete) lib/python2. 7/dist- packages/ SQLAlchemy- 0.7.9-py2. 7-linux- x86_64. egg/sqlalchemy/ orm/persistence .py", line 671, in _emit_delete_ statements execute( statement, del_objects) lib/python2. 7/dist- packages/ SQLAlchemy- 0.7.9-py2. 7-linux- x86_64. egg/sqlalchemy/ engine/ base.py" , line 1449, in execute lib/python2. 7/dist- packages/ SQLAlchemy- 0.7.9-py2. 7-linux- x86_64. egg/sqlalchemy/ engine/ base.py" , line 1584, in _execute_ clauseelement lib/python2. 7/dist- packages/ SQLAlchemy- 0.7.9-py2. 7-linux- x86_64. egg/sqlalchemy/ engine/ base.py" , line 1698, in _execute_context lib/python2. 7/dist- packages/ SQLAlchemy- 0.7.9-py2. 7-linux- x86_64. egg/sqlalchemy/ engine/ base.py" , line 1691, in _execute_context lib/python2. 7/dist- packages/ SQLAlchemy- 0.7.9-py2. 7-linux- x86_64. egg/sqlalchemy/ engine/ default. py", line 331, in do_execute execute( statement, parameters) python2. 7/dist- packages/ MySQLdb/ cursors. py", line 174, in execute errorhandler( self, exc, value) python2. 7/dist- packages/ MySQLdb/ connections. py", line 36, in defaulterrorhandler test`.` project` , CONSTRAINT `project_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `domain` (`id`))') 'DELETE FROM domain WHERE domain.id = %s' ('6ec418ea6e6b4 1f7ac6c6b916819 e913',) ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ---- keystone/ keystone/ tests/test_ backend_ ldap.py" , line 1002, in test_delete_ domain_ with_user_ added assignment_ api.delete_ domain( domain[ 'id']) keystone/ keystone/ assignment/ core.py" , line 284, in delete_domain driver. delete_ domain( domain_ id) keystone/ keystone/ assignment/ backends/ sql.py" , line 559, in delete_domain lib/python2. 7/dist- packages/ SQLAlchemy- 0.7.9-py2. 7-linux- x86_64. egg/sqlalchemy/ orm/session. py", line 1718, in flush _flush( objects) lib/python2. 7/dist- packages/ SQLAlchemy- 0.7.9-py2. 7-linux- x86_64. egg/sqlalchemy/ orm/session. py", line 1789, in _flush context. execute( ) lib/python2. 7/dist- packages/ SQLAlchemy- 0.7.9-py2. 7-linux- x86_64. egg/sqlalchemy/ orm/unitofwork. py", line 331, in execute execute( self) lib/python2. 7/dist- packages/ SQLAlchemy- 0.7.9-py2. 7-linux- x86_64. egg/sqlalchemy/ orm/unitofwork. py", line 498, in execute lib/python2. 7/dist- packages/ SQLAlchemy- 0.7.9-py2. 7-linux- x86_64. egg/sqlalchemy/ orm/persistence .py", line 115, in delete_obj connections, mapper, table, delete) lib/python2. 7/dist- packages/ SQLAlchemy- 0.7.9-py2. 7-linux- x86_64. egg/sqlalchemy/ orm/persistence .py", line 671, in _emit_delete_ statements execute( statement, del_objects) lib/python2. 7/dist- packages/ SQLAlchemy- 0.7.9-py2. 7-linux- x86_64. egg/sqlalchemy/ engine/ base.py" , line 1449, in execute lib/python2. 7/dist- packages/ SQLAlchemy- 0.7.9-py2. 7-linux- x86_64. egg/sqlalchemy/ engine/ base.py" , line 1584, in _execute_ clauseelement lib/python2. 7/dist- packages/ SQLAlchemy- 0.7.9-py2. 7-linux- x86_64. egg/sqlalchemy/ engine/ base.py" , line 1698, in _execute_context lib/python2. 7/dist- packages/ SQLAlchemy- 0.7.9-py2. 7-linux- x86_64. egg/sqlalchemy/ engine/ base.py" , line 1691, in _execute_context lib/python2. 7/dist- packages/ SQLAlchemy- 0.7.9-py2. 7-linux- x86_64. egg/sqlalchemy/ engine/ default. py", line 331, in do_execute execute( statement, parameters) python2. 7/dist- packages/ MySQLdb/ cursors. py", line 174, in execute errorhandler( self, exc, value) python2. 7/dist- packages/ MySQLdb/ connections. py", line 36, in defaulterrorhandler test`.` user_domain_ metadata` , CONSTRAINT `user_domain_ metadata_ ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `domain` (`id`))') 'DELETE FROM domain WHERE domain.id = %s' ('6f6588ef7a154 b628de9c8458652 af66',)
Traceback (most recent call last):
File "/opt/stack/
self.
File "/opt/stack/
self.
File "/opt/stack/
session.flush()
File "/usr/local/
self.
File "/usr/local/
flush_
File "/usr/local/
rec.
File "/usr/local/
uow
File "/usr/local/
cached_
File "/usr/local/
connection.
File "/usr/local/
params)
File "/usr/local/
compiled_sql, distilled_params
File "/usr/local/
context)
File "/usr/local/
context)
File "/usr/local/
cursor.
File "/usr/lib/
self.
File "/usr/lib/
raise errorclass, errorvalue
IntegrityError: (IntegrityError) (1451, 'Cannot delete or update a parent row: a foreign key constraint fails (`keystone_
-------
When i used your test case the result was almost the same
Traceback (most recent call last):
File "/opt/stack/
self.
File "/opt/stack/
self.
File "/opt/stack/
session.flush()
File "/usr/local/
self.
File "/usr/local/
flush_
File "/usr/local/
rec.
File "/usr/local/
uow
File "/usr/local/
cached_
File "/usr/local/
connection.
File "/usr/local/
params)
File "/usr/local/
compiled_sql, distilled_params
File "/usr/local/
context)
File "/usr/local/
context)
File "/usr/local/
cursor.
File "/usr/lib/
self.
File "/usr/lib/
raise errorclass, errorvalue
IntegrityError: (IntegrityError) (1451, 'Cannot delete or update a parent row: a foreign key constraint fails (`keystone_