openstack.common.db.sqlalchemy.migration utf8 table check issue on initial migration
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Glance |
Fix Released
|
Undecided
|
Shree Duth Awasthi | ||
Ironic |
Invalid
|
Undecided
|
Unassigned | ||
OpenStack Heat |
Fix Released
|
High
|
Thomas Herve | ||
OpenStack Identity (keystone) |
Fix Released
|
High
|
Morgan Fainberg | ||
oslo-incubator |
Fix Released
|
Critical
|
Morgan Fainberg | ||
keystone (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Trusty |
Fix Released
|
High
|
Unassigned |
Bug Description
The code in openstack.
This was duplicated by doing a clean Ubuntu 12.04 install with mysql, using the default latin1 character set and simply creating the DB with ``create database keystone;``
The result is migrations fail at migration 0 unless the db sanity check is disabled (e.g. glance).
root@precise64:
2014-04-01 14:03:23.858 19840 CRITICAL keystone [-] ValueError: Tables "migrate_version" have non utf8 collation, please make sure all tables are CHARSET=utf8
This is unaffected by the character set in the connection string.
The solution is to explicitly ignore the migrate_version (and alembic equivalent) table in the sanity check.
Code in question is here:
This will affect any project using this code for migrations when using the mysql engine.
description: | updated |
Changed in oslo: | |
importance: | Undecided → Critical |
status: | New → In Progress |
assignee: | nobody → Morgan Fainberg (mdrnstm) |
milestone: | none → icehouse-rc1 |
Changed in keystone (Ubuntu): | |
status: | New → Confirmed |
Changed in keystone: | |
milestone: | none → icehouse-rc2 |
importance: | Undecided → High |
Changed in oslo: | |
assignee: | Zhi Yan Liu (lzy-dev) → Doug Hellmann (doug-hellmann) |
Changed in oslo: | |
assignee: | Doug Hellmann (doug-hellmann) → Morgan Fainberg (mdrnstm) |
Changed in keystone (Ubuntu): | |
status: | Confirmed → Triaged |
importance: | Undecided → High |
Changed in heat: | |
milestone: | none → icehouse-rc2 |
importance: | Undecided → High |
Changed in heat: | |
status: | New → Triaged |
Changed in oslo: | |
status: | In Progress → Fix Released |
Changed in heat: | |
assignee: | nobody → Thomas Herve (therve) |
Changed in oslo: | |
milestone: | icehouse-rc1 → 2014.1 |
Changed in keystone: | |
milestone: | icehouse-rc2 → 2014.1 |
Changed in heat: | |
milestone: | icehouse-rc2 → 2014.1 |
Does not affect Ironic at the moment.
ironic.cmd.dbsync imports ironic. db.migration, which is lazy-loading ironic. db.sqlalchemy. migration, which is importing alembic.migration directly.
We'll need to resync oslo.openstack. common. db.migration to get the fix for this, but presumably we'll do that before switching to use it anyway.