[Openstack] Grizzly -> Havana nova upgrade failure: Cannot drop index 'instance_uuid'

David Hill david.hill at ubisoft.com
Sun Oct 27 23:34:45 UTC 2013


Hi guys,

	I experienced the same issue while upgrading from Grizzly to Havana ...  I had to create manually some indexes before it could drop them! :(

Dave


-----Original Message-----
From: Michael Still [mailto:mikal at stillhq.com] 
Sent: October-27-13 6:06 PM
To: Blair Zajac
Cc: openstack at lists.openstack.org
Subject: Re: [Openstack] Grizzly -> Havana nova upgrade failure: Cannot drop index 'instance_uuid'

Can you run this against your nova mysql database and let us know the result?

show create table instance_info_caches \G

Thanks,
Michael

On Sun, Oct 27, 2013 at 7:58 PM, Blair Zajac <blair at orcaware.com> wrote:
> Hello,
>
> I was running Ubuntu 13.04 and upgraded tonight to 13.10.  I was running the
> Ubuntu Precise 1:2013.1.3-0ubuntu1.1 on 13.04 and am now on 13.10's provided
> 1:2013.2~rc2-0ubuntu1.
>
> After getting the box up, migrating the nova database failed with the below
> error.  I am using MySQL.
>
> Suggestions on how to fix this?
>
> Thanks,
> Blair
>
>
> # nova-manage -v db sync
> 2013-10-27 01:47:03.615 24457 INFO migrate.versioning.api [-] 161 -> 162...
> 2013-10-27 01:47:03.673 24457 INFO migrate.versioning.api [-] done
> ...
> ...
> 2013-10-27 01:47:16.373 24457 INFO migrate.versioning.api [-] 184 -> 185...
> Command failed, please check log for more info
> 2013-10-27 01:47:17.835 24457 CRITICAL nova [-] (OperationalError) (1553,
> "Cannot drop index 'instance_uuid': needed in a foreign key constraint")
> 'ALTER TABLE instance_info_caches DROP INDEX instance_uuid' ()
> 2013-10-27 01:47:17.835 24457 TRACE nova Traceback (most recent call last):
> 2013-10-27 01:47:17.835 24457 TRACE nova   File "/usr/bin/nova-manage", line
> 10, in <module>
> 2013-10-27 01:47:17.835 24457 TRACE nova     sys.exit(main())
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/nova/cmd/manage.py", line 1377, in main
> 2013-10-27 01:47:17.835 24457 TRACE nova     ret = fn(*fn_args, **fn_kwargs)
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/nova/cmd/manage.py", line 885, in sync
> 2013-10-27 01:47:17.835 24457 TRACE nova     return
> migration.db_sync(version)
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/nova/db/migration.py", line 33, in db_sync
> 2013-10-27 01:47:17.835 24457 TRACE nova     return
> IMPL.db_sync(version=version)
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/migration.py", line 75,
> in db_sync
> 2013-10-27 01:47:17.835 24457 TRACE nova     return
> versioning_api.upgrade(get_engine(), repository, version)
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/migrate/versioning/api.py", line 186, in
> upgrade
> 2013-10-27 01:47:17.835 24457 TRACE nova     return _migrate(url,
> repository, version, upgrade=True, err=err, **opts)
> 2013-10-27 01:47:17.835 24457 TRACE nova   File "<string>", line 2, in
> _migrate
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/migration.py", line 40,
> in patched_with_engine
> 2013-10-27 01:47:17.835 24457 TRACE nova     return f(*a, **kw)
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/migrate/versioning/api.py", line 366, in
> _migrate
> 2013-10-27 01:47:17.835 24457 TRACE nova     schema.runchange(ver, change,
> changeset.step)
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/migrate/versioning/schema.py", line 91, in
> runchange
> 2013-10-27 01:47:17.835 24457 TRACE nova     change.run(self.engine, step)
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/migrate/versioning/script/py.py", line
> 145, in run
> 2013-10-27 01:47:17.835 24457 TRACE nova     script_func(engine)
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/migrate_repo/versions/185_rename_unique_constraints.py",
> line 129, in upgrade
> 2013-10-27 01:47:17.835 24457 TRACE nova     return
> _uc_rename(migrate_engine, upgrade=True)
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/migrate_repo/versions/185_rename_unique_constraints.py",
> line 112, in _uc_rename
> 2013-10-27 01:47:17.835 24457 TRACE nova     old_name, *(columns))
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/utils.py", line 197, in
> drop_unique_constraint
> 2013-10-27 01:47:17.835 24457 TRACE nova     uc.drop()
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/migrate/changeset/constraint.py", line 59,
> in drop
> 2013-10-27 01:47:17.835 24457 TRACE nova
> self.__do_imports('constraintdropper', *a, **kw)
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/migrate/changeset/constraint.py", line 32,
> in __do_imports
> 2013-10-27 01:47:17.835 24457 TRACE nova     run_single_visitor(engine,
> visitorcallable, self, *a, **kw)
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/migrate/changeset/databases/visitor.py",
> line 75, in run_single_visitor
> 2013-10-27 01:47:17.835 24457 TRACE nova     fn(element, **kwargs)
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/migrate/changeset/ansisql.py", line 272,
> in visit_migrate_unique_constraint
> 2013-10-27 01:47:17.835 24457 TRACE nova     self._visit_constraint(*p, **k)
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/migrate/changeset/ansisql.py", line 284,
> in _visit_constraint
> 2013-10-27 01:47:17.835 24457 TRACE nova     self.execute()
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/migrate/changeset/ansisql.py", line 42, in
> execute
> 2013-10-27 01:47:17.835 24457 TRACE nova     return
> self.connection.execute(self.buffer.getvalue())
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 662, in
> execute
> 2013-10-27 01:47:17.835 24457 TRACE nova     params)
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 805, in
> _execute_text
> 2013-10-27 01:47:17.835 24457 TRACE nova     statement, parameters
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 874, in
> _execute_context
> 2013-10-27 01:47:17.835 24457 TRACE nova     context)
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1024, in
> _handle_dbapi_exception
> 2013-10-27 01:47:17.835 24457 TRACE nova     exc_info
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/sqlalchemy/util/compat.py", line 195, in
> raise_from_cause
> 2013-10-27 01:47:17.835 24457 TRACE nova     reraise(type(exception),
> exception, tb=exc_tb)
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 867, in
> _execute_context
> 2013-10-27 01:47:17.835 24457 TRACE nova     context)
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 324,
> in do_execute
> 2013-10-27 01:47:17.835 24457 TRACE nova     cursor.execute(statement,
> parameters)
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute
> 2013-10-27 01:47:17.835 24457 TRACE nova     self.errorhandler(self, exc,
> value)
> 2013-10-27 01:47:17.835 24457 TRACE nova   File
> "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in
> defaulterrorhandler
> 2013-10-27 01:47:17.835 24457 TRACE nova     raise errorclass, errorvalue
> 2013-10-27 01:47:17.835 24457 TRACE nova OperationalError:
> (OperationalError) (1553, "Cannot drop index 'instance_uuid': needed in a
> foreign key constraint") 'ALTER TABLE instance_info_caches DROP INDEX
> instance_uuid' ()
> 2013-10-27 01:47:17.835 24457 TRACE nova
>
> _______________________________________________
> Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
> Post to     : openstack at lists.openstack.org
> Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack



-- 
Rackspace Australia

_______________________________________________
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to     : openstack at lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack




More information about the Openstack mailing list