db-archiving fails to clear some deleted rows from instances table

Solution In Progress - Updated -

Issue

  • When trying to archive the deleted rows with nova-manage db archive_deleted_rows --max_rows $number , a constraint error is displayed:
2015-10-08 13:56:22.475 31913 ERROR oslo.db.sqlalchemy.exc_filters [req-d6afaea2-3896-4774-8eca-1e2cb1cb0eb1 ] DBAPIError exception wrapped from (IntegrityError) (1451, 'Cannot delete or update a parent row: a foreign key constraint fails (`nova`.`instance_actions`, CONSTRAINT `fk_instance_actions_instance_uuid` FOREIGN KEY (`instance_uuid`) REFERENCES `instances` (`uuid`))') 'DELETE FROM instances WHERE instances.id in (SELECT T1.id FROM (SELECT instances.id \nFROM instances \nWHERE instances.deleted != %s ORDER BY instances.id \n LIMIT %s) as T1)' (0, 40000)
2015-10-08 13:56:22.475 31913 TRACE oslo.db.sqlalchemy.exc_filters Traceback (most recent call last):
2015-10-08 13:56:22.475 31913 TRACE oslo.db.sqlalchemy.exc_filters   File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 951, in _execute_context
2015-10-08 13:56:22.475 31913 TRACE oslo.db.sqlalchemy.exc_filters     context)
2015-10-08 13:56:22.475 31913 TRACE oslo.db.sqlalchemy.exc_filters   File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 436, in do_execute
2015-10-08 13:56:22.475 31913 TRACE oslo.db.sqlalchemy.exc_filters     cursor.execute(statement, parameters)
2015-10-08 13:56:22.475 31913 TRACE oslo.db.sqlalchemy.exc_filters   File "/usr/lib64/python2.7/site-packages/MySQLdb/cursors.py", line 174, in execute
2015-10-08 13:56:22.475 31913 TRACE oslo.db.sqlalchemy.exc_filters     self.errorhandler(self, exc, value)
2015-10-08 13:56:22.475 31913 TRACE oslo.db.sqlalchemy.exc_filters   File "/usr/lib64/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
2015-10-08 13:56:22.475 31913 TRACE oslo.db.sqlalchemy.exc_filters     raise errorclass, errorvalue
2015-10-08 13:56:22.475 31913 TRACE oslo.db.sqlalchemy.exc_filters IntegrityError: (1451, 'Cannot delete or update a parent row: a foreign key constraint fails (`nova`.`instance_actions`, CONSTRAINT `fk_instance_actions_instance_uuid` FOREIGN KEY (`instance_uuid`) REFERENCES `instances` (`uuid`))')
2015-10-08 13:56:22.475 31913 TRACE oslo.db.sqlalchemy.exc_filters 
2015-10-08 13:56:22.529 31913 WARNING nova.db.sqlalchemy.api [req-d6afaea2-3896-4774-8eca-1e2cb1cb0eb1 None] IntegrityError detected when archiving table instances

Environment

  • Red Hat OpenStack 6.0 (RHOS)

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content