openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #12630
Re: nova.projects table problems
----- Original Message -----
> From: "Michael Still" <michael.still@xxxxxxxxxxxxx>
> To: openstack@xxxxxxxxxxxxxxxxxxx
> Sent: Thursday, May 31, 2012 8:03:37 PM
> Subject: Re: [Openstack] nova.projects table problems
>
> On 01/06/12 09:54, Michael Still wrote:
> > Has anyone else experienced something like this? Its happened to me
> > twice now (on the same machine) and I have no idea what is causing
> > it:
> >
> > mysql> show tables like 'projects';
> > +---------------------------+
> > | Tables_in_nova (projects) |
> > +---------------------------+
> > | projects |
> > +---------------------------+
> > 1 row in set (0.00 sec)
> >
> > mysql> describe projects;
> > ERROR 1146 (42S02): Table 'nova.projects' doesn't exist
> >
> > mysql> repair table projects;
> > +---------------+--------+----------+-------------------------------------+
> > | Table | Op | Msg_type | Msg_text
> > | |
> > +---------------+--------+----------+-------------------------------------+
> > | nova.projects | repair | Error | Table 'nova.projects' doesn't
> > | exist |
> > | nova.projects | repair | status | Operation failed
> > | |
> > +---------------+--------+----------+-------------------------------------+
> > 2 rows in set (0.00 sec)
> >
> > I'm a bit confused.
>
> This turns out to be
> https://bugs.launchpad.net/ubuntu/+source/nova/+bug/975085 /
> https://bugs.launchpad.net/nova/+bug/993663 I think.
Hi Micheal,
Yes. I think this is the same issue we fixed in 993663. The dns_domains was in a very bad state during the Essex release cycle because we essentially had a latin1 table with an fkey to a utf8 projects table. MySQL doesn't even allow you to do such a thing with a fresh schema (something I noticed when I did the database compaction for Folsom).
See the comments in this Folsom migration which should fix the issue:
https://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/migrate_repo/versions/096_recreate_dns_domains.py#L27
You could hotfix any existing systems by creating a SQL script to do something similar (drop and recreate the dns_domains table as UTF8 with a shorter 'domain' column.).
Also, I'm going to work up a patch so we can backport this to Essex without adding a new migration (something we typically don't do for stable releases). I hope to have this done soon.
Dan
>
> Mikal
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to : openstack@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openstack
> More help : https://help.launchpad.net/ListHelp
>
References