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]})