<div dir="ltr">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.<div><br></div><div>Two issues: a character set (UTFetc) and the collation order must be IDENTICAL.</div><div>It will use the database default if you don't SET it in the new column....</div><div><br></div><div>(We've run into this at Time Warner Cable using puppet.)</div><div><br></div><div>The work around is to turn the collation order back. </div><div><br></div><div>IRC help: look for "clayton" or "med_" in freenode.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Aug 3, 2015 at 12:43 PM, Jonathan Proulx <span dir="ltr"><<a href="mailto:jon@jonproulx.com" target="_blank">jon@jonproulx.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi All,<br>
<br>
Attempting to upgrade from juno -> kilo I'm getting DB migration<br>
errors from cinder:<br>
<br>
2015-08-03 14:31:19.612 16831 ERROR 032_add_volume_type_projects [-]<br>
Table |Table('volume_type_projects',<br>
MetaData(bind=Engine(mysql://cinder:***@<a href="http://10.0.128.15/cinder?charset=utf8)" rel="noreferrer" target="_blank">10.0.128.15/cinder?charset=utf8)</a>),<br>
Column('id', Integer(), table=<volume_type_projects>,<br>
primary_key=True, nullable=False), Column('created_at', DateTime(),<br>
table=<volume_type_projects>), Column('updated_at', DateTime(),<br>
table=<volume_type_projects>), Column('deleted_at', DateTime(),<br>
table=<volume_type_projects>), Column('volume_type_id',<br>
String(length=36), ForeignKey('<a href="http://volume_types.id" rel="noreferrer" target="_blank">volume_types.id</a>'),<br>
table=<volume_type_projects>), Column('project_id',<br>
String(length=255), table=<volume_type_projects>), Column('deleted',<br>
Boolean(), table=<volume_type_projects>), schema=None)| not created!<br>
2015-08-03 14:31:19.612 16831 CRITICAL cinder [-] OperationalError:<br>
(OperationalError) (1005, "Can't create table<br>
'cinder.volume_type_projects' (errno: 150)") '\nCREATE TABLE<br>
volume_type_projects (\n\tid INTEGER NOT NULL AUTO_INCREMENT,<br>
\n\tcreated_at DATETIME, \n\tupdated_at DATETIME, \n\tdeleted_at<br>
DATETIME, \n\tvolume_type_id VARCHAR(36), \n\tproject_id VARCHAR(255),<br>
\n\tdeleted BOOL, \n\tPRIMARY KEY (id), \n\tUNIQUE (volume_type_id,<br>
project_id, deleted), \n\tFOREIGN KEY(volume_type_id) REFERENCES<br>
volume_types (id), \n\tCHECK (deleted IN (0, 1))\n)ENGINE=InnoDB\n\n'<br>
()<br>
<br>
This looks like a foreign constraint error if I'm reading it<br>
correctly, but there's only one foreign Key that I see<br>
'ForeignKey('<a href="http://volume_types.id" rel="noreferrer" target="_blank">volume_types.id</a>')' and that certainly exists:<br>
<br>
mysql> select id from volume_types;<br>
+--------------------------------------+<br>
| id                                   |<br>
+--------------------------------------+<br>
| 349f7672-f958-41bf-9742-50eff62978e9 |<br>
| 4f8a731c-0c46-44bd-8412-42ff51f47661 |<br>
| ce9b5285-109d-4a70-88a5-58c9a9443f06 |<br>
+--------------------------------------+<br>
3 rows in set (0.00 sec)<br>
<br>
full trace output from 'cinder-manage db sync' is at<br>
<a href="http://paste.openstack.org/show/406782/" rel="noreferrer" target="_blank">http://paste.openstack.org/show/406782/</a><br>
<br>
has anyone else seen this, know of a work around, or existing bug report?<br>
<br>
<br>
Thanks,<br>
-Jon<br>
<br>
_______________________________________________<br>
Mailing list: <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>
Post to     : <a href="mailto:openstack@lists.openstack.org">openstack@lists.openstack.org</a><br>
Unsubscribe : <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>
</blockquote></div><br></div>