openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #23114
Re: Failed "db sync" while upgrading from essex to folsom
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@xxxxxxxxxx>
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
Follow ups
References