The old dns_domains table was encoded in the 'latin1'
charset and has its primary key length set to 512.
This is too long to be a valid pkey in a proper 'utf8' encoded
table and seems to cause a slew of errors like:
1) Dumping a database with mysqldump and trying to import it fails
because this table is latin1 but fkeys to utf8 tables (projects).
2) Trying to alter the old dns_domains table fails with errors
like:
mysql> ALTER TABLE dns_domains DROP PRIMARY KEY;
ERROR 1025 (HY000): Error on rename of './nova/#sql-6cf_855'....
This patch creates an Essex fix that re-creates the dns_domains
table with a shorter 'domain' column which works with the utf8
charset. This database upgrade will run on MySQL databases only
which have a dns_domains table with a domain column length of
VARCHAR(512).
** Impact **
Create a utf8 version of the dns_domains table.
The old dns_domains table was encoded in the 'latin1'
charset and has its primary key length set to 512.
This is too long to be a valid pkey in a proper 'utf8' encoded
table and seems to cause a slew of errors like:
1) Dumping a database with mysqldump and trying to import it fails
because this table is latin1 but fkeys to utf8 tables (projects).
2) Trying to alter the old dns_domains table fails with errors #sql-6cf_ 855'... .
like:
mysql> ALTER TABLE dns_domains DROP PRIMARY KEY;
ERROR 1025 (HY000): Error on rename of './nova/
This patch creates an Essex fix that re-creates the dns_domains
table with a shorter 'domain' column which works with the utf8
charset. This database upgrade will run on MySQL databases only
which have a dns_domains table with a domain column length of
VARCHAR(512).
Fixes LP Bug #993663 on Essex.
** Development Fix **
This is fixed in the development trunk at https:/ /review. openstack. org/7139 and in quantal
** Stable Fix **
This is fixed in the stable/essex branch at https:/ /review. openstack. org/8356.
** Test Case **
1. Make a database backup of the nova database.
2. Drop the nova database.
3. Try to restore the database.
** Regression Impact **
Minimal this has been tested in the openstack-ci lab.