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 <[email protected]>
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Mailing list: https://launchpad.net/~openstack Post to : [email protected] Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp

