[Openstack] [Cinder] juno->kilo migration errors

David Medberry openstack at medberry.net
Mon Aug 3 19:50:07 UTC 2015


The column type for the foreign keys don't match EXACTLY. (Strings). They
have to be exact in value.... and the collation order must be the same.

Two issues: a character set (UTFetc) and the collation order must be
IDENTICAL.
It will use the database default if you don't SET it in the new column....

(We've run into this at Time Warner Cable using puppet.)

The work around is to turn the collation order back.

IRC help: look for "clayton" or "med_" in freenode.

On Mon, Aug 3, 2015 at 12:43 PM, Jonathan Proulx <jon at jonproulx.com> wrote:

> Hi All,
>
> Attempting to upgrade from juno -> kilo I'm getting DB migration
> errors from cinder:
>
> 2015-08-03 14:31:19.612 16831 ERROR 032_add_volume_type_projects [-]
> Table |Table('volume_type_projects',
> MetaData(bind=Engine(mysql://cinder:***@10.0.128.15/cinder?charset=utf8)),
> Column('id', Integer(), table=<volume_type_projects>,
> primary_key=True, nullable=False), Column('created_at', DateTime(),
> table=<volume_type_projects>), Column('updated_at', DateTime(),
> table=<volume_type_projects>), Column('deleted_at', DateTime(),
> table=<volume_type_projects>), Column('volume_type_id',
> String(length=36), ForeignKey('volume_types.id'),
> table=<volume_type_projects>), Column('project_id',
> String(length=255), table=<volume_type_projects>), Column('deleted',
> Boolean(), table=<volume_type_projects>), schema=None)| not created!
> 2015-08-03 14:31:19.612 16831 CRITICAL cinder [-] OperationalError:
> (OperationalError) (1005, "Can't create table
> 'cinder.volume_type_projects' (errno: 150)") '\nCREATE TABLE
> volume_type_projects (\n\tid INTEGER NOT NULL AUTO_INCREMENT,
> \n\tcreated_at DATETIME, \n\tupdated_at DATETIME, \n\tdeleted_at
> DATETIME, \n\tvolume_type_id VARCHAR(36), \n\tproject_id VARCHAR(255),
> \n\tdeleted BOOL, \n\tPRIMARY KEY (id), \n\tUNIQUE (volume_type_id,
> project_id, deleted), \n\tFOREIGN KEY(volume_type_id) REFERENCES
> volume_types (id), \n\tCHECK (deleted IN (0, 1))\n)ENGINE=InnoDB\n\n'
> ()
>
> This looks like a foreign constraint error if I'm reading it
> correctly, but there's only one foreign Key that I see
> 'ForeignKey('volume_types.id')' and that certainly exists:
>
> mysql> select id from volume_types;
> +--------------------------------------+
> | id                                   |
> +--------------------------------------+
> | 349f7672-f958-41bf-9742-50eff62978e9 |
> | 4f8a731c-0c46-44bd-8412-42ff51f47661 |
> | ce9b5285-109d-4a70-88a5-58c9a9443f06 |
> +--------------------------------------+
> 3 rows in set (0.00 sec)
>
> full trace output from 'cinder-manage db sync' is at
> http://paste.openstack.org/show/406782/
>
> has anyone else seen this, know of a work around, or existing bug report?
>
>
> Thanks,
> -Jon
>
> _______________________________________________
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20150803/42857bee/attachment.html>


More information about the Openstack mailing list