From afa9951dd92e2fb26ab060a3e2baab0b33b5ea5b Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Fri, 17 Feb 2017 19:53:55 +0100 Subject: [PATCH] Move database setup to bifrost Move openstack_citest database setup from project-config to bifrost. The code is conditional on running in OpenStack CI - developers can set up the database with setting ZUUL_BRANCH. This is the same logic as used elsewhere in bifrost testing. OpenStack CI will not setup databases anymore in project-config, this needs to be done by the projects themselves now. Change-Id: I8485751eda745841c1436ecd766c9bb95446f407 Needed-By: I339d2a301a76ad34ea4bcbfb26c13a21ecd86b6f --- scripts/test-bifrost.sh | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/scripts/test-bifrost.sh b/scripts/test-bifrost.sh index b1da20d4f..059fc4303 100755 --- a/scripts/test-bifrost.sh +++ b/scripts/test-bifrost.sh @@ -42,6 +42,41 @@ ENABLE_KEYSTONE=false CLOUD_CONFIG="" WAIT_FOR_DEPLOY=true +# This sets up the MySQL database like it's done for all OpenStack +# projects for CI testing. +mysql_setup() { + # The root password for the MySQL database; pass it in via + # MYSQL_ROOT_PW. + local DB_ROOT_PW=${MYSQL_ROOT_PW:-insecure_slave} + + # This user and its password are used by the tests, if you change it, + # your tests might fail. + local DB_USER=openstack_citest + local DB_PW=openstack_citest + + sudo -H mysqladmin -u root password $DB_ROOT_PW + + # It's best practice to remove anonymous users from the database. If + # an anonymous user exists, then it matches first for connections and + # other connections from that host will not work. + sudo -H mysql -u root -p$DB_ROOT_PW -h localhost -e " + DELETE FROM mysql.user WHERE User=''; + FLUSH PRIVILEGES; + GRANT ALL PRIVILEGES ON *.* + TO '$DB_USER'@'%' identified by '$DB_PW' WITH GRANT OPTION;" + + # Now create our database. + mysql -u $DB_USER -p$DB_PW -h 127.0.0.1 -e " + SET default_storage_engine=MYISAM; + DROP DATABASE IF EXISTS openstack_citest; + CREATE DATABASE openstack_citest CHARACTER SET utf8;" +} + +# Setup openstack_citest database if run in OpenStack CI. +if [ "$ZUUL_BRANCH" != "" ] ; then + mysql_setup +fi + # NOTE(cinerama): We could remove this if we change the CI job to use # USE_DHCP, BUILD_IMAGE, etc. SOURCE=$(basename ${BASH_SOURCE[0]})