Once again, the moving efforts of OpenStack and Fedora have diverged enough that devstack did not run for me on Fedora 20. Now, while this is something to file a bug about, I like to understand the issue to have a fix in place before I report it. Here are my notes.
Running on a F20 Cloud image. Did a yum groupinstall “Development Tools” before git clone devstack and then a simple localrc with
The failure looks like this:
+ recreate_database_mysql keystone utf8 + local db=keystone + local charset=utf8 + mysql -ufedora -pkeystone -h127.0.0.1 -e 'DROP DATABASE IF EXISTS keystone;' ERROR 1045 (28000): Access denied for user 'fedora'@'localhost' (using password: YES)
Now, I run with the following value in localrc:
MYSQL_USER=fedora
So let me wipe the DB and try with the defaults.
The database is stored in:
/var/lib/mysql/
Configuration is stored in /etc/my.cnf which is really just a pointer to /etc/my.cnf.d/
Inside there:
client.cnf mysql-clients.cnf server.cnf
The only interesting thing in server.cnf
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
So configuration looks mainly to be a skeleton.
Looking in /var/lib/mysql/
aria_log.00000001 ibdata1 ib_logfile1 performance_schema
aria_log_control ib_logfile0 mysql test
sudo ls /var/lib/mysql/mysql/
Doesn’t show anything that looks like configuration options.
OK…wipe:
sudo yum -y erase `rpmquery -a | grep maria`
sudo rm /etc/my.cnf.rpmsave
sudo rm -rf /var/lib/mysql/
now running ./stack gets further:
+ /opt/stack/keystone/bin/keystone-manage db_sync
OK, that looks like a problem with keystone not pip-installing the SQL-A driver for MySQL:
sudo pip install MySQL-python
_mysql.c:44:23: fatal error: my_config.h: No such file or directory
#include “my_config.h”
Need the mysql development files….possibly an issue due to the switch over to mariadb
sudo yum -y install mysql-devel
Installs
mariadb-devel.x86_64 1:5.5.36-1.fc20
Trying the RPM version we get:
sudo yum -y install MySQL-python
Seems to have done it…
So it looks like the problem was an artifact of how I ran devstack, and that Running the mysql module in devstack is not enough to install the python and devel packages for MySQL.