[Openstack] Failed "db sync" while upgrading from essex to folsom

Calvin Walton calvin.walton at kepstin.ca
Mon Apr 29 21:02:58 UTC 2013


On Mon, 2013-04-29 at 20:16 +0530, Shashank Sahni wrote:
> Hi everyone,
> 
> I'm having some trouble upgrading from essex to folsom. The cloud is
> currently running on Ubuntu 12.04. For the upgrade, I included the folsom
> repo(ubuntu cloud archive) and upgraded the packages. Things went fine
> until I issued "nova-manage db sync". It failed with the following error.
> 
> 2013-04-29 20:13:50 23254 TRACE nova     raise
> exc.NoSuchTableError(full_name)
> 2013-04-29 20:13:50 23254 TRACE nova NoSuchTableError: `projects`
> 
> Ironically, the table exists. But I get the same message accessing it
> through mysql console.

This is due to a bug in one version of the Ubuntu package that included
a broken database migration; it had a foreign key on a latin-1 table
(dns_domains) referencing a text column on a utf-8 table (projects),
which mysql does not support. As a result, a *later* migration that
changed the projects table partially failed, and left the table in a
half-created state.

I ran into this problem, and the only way I found to *fix* the error was
to dump the database to a sql file, drop the entire database, manually
edit the dump file to correct the referencing table charset on the
'dns_domains' table, add the definition for the projects table back,
then restore the database from the dump.

Related issues on launchpad:
https://bugs.launchpad.net/nova/+bug/993663
https://bugs.launchpad.net/ubuntu/+source/nova/+bug/975085

Amusingly, if you're using keystone, the 'projects' table is actually
not used by anything, but it still has to exist.

-- 
Calvin Walton <calvin.walton at kepstin.ca>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 4027 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20130429/3feade8e/attachment.bin>


More information about the Openstack mailing list