[Rdo-list] Installing RDO w/ Foreman + icehouse and ml2 plugin

John Eckersberg jeckersb at redhat.com
Mon Mar 17 19:00:31 UTC 2014


Andrew Lau <andrew at andrewklau.com> writes:
> - From a brief look at the manifest and trial and error, it looks like the
> ml2 plugin does have some support in the quickstack files. It however fails
> at the neutron-db-manage. Manual steps: [2]
> Error Output: [3]
>
> [1] https://github.com/andrewklau/astapor
> [2] http://openstack.redhat.com/ML2_plugin
> [3] http://www.fpaste.org/85834/94970823/

I haven't tried Foreman+ML2 on Icehouse yet, but I've seen several weird
database issues caused by tables using the myisam engine instead of
innodb.  A quick workaround to try is...

cat <<EOF > /etc/mysql/conf.d/innodb.cnf 
[mysqld]
default-storage-engine = innodb
EOF

service mysqld restart

mysql -e 'drop database neutron; create database neutron;'

Then rerun neutron-db-manage.  That'll default all the tables to use
innodb.

The 1000 byte key length limit is a constraint of MyISAM.  InnoDB has a
similar constraint but it appears more generous.  How many bytes a field
actually takes up in the key length seems to depend on the encoding and
maybe some other stuff that I'm not sure offhand.  However this test
shows switching engines very well may fix that particular error:

mysql> create table test (field1 VARCHAR(512) NOT NULL, field2 VARCHAR(512) NOT NULL, PRIMARY KEY(field1, field2)) ENGINE=MyISAM;
ERROR 1071 (42000): Specified key was too long; max key length is 1000 bytes
mysql> create table test (field1 VARCHAR(512) NOT NULL, field2 VARCHAR(512) NOT NULL, PRIMARY KEY(field1, field2)) ENGINE=InnoDB;
Query OK, 0 rows affected (0.04 sec)

Hope that helps,
John




More information about the dev mailing list