ansible-role-zuul/tools/test-setup.sh
Paul Belanger 53c3920c6b Initial database support
This adds a database connection for testing, which will be required in
4.0+.

Change-Id: I3c9ba6aac023a0018d857bd3d34f54cdc26e4b79
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2021-06-23 11:35:59 -04:00

45 lines
1.5 KiB
Bash
Executable File

#!/bin/bash -ex
# Copyright 2018 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Be sure mysql is started.
sudo service mysql start
# The root password for the MySQL database; pass it in via
# MYSQL_ROOT_PW.
DB_ROOT_PW=${MYSQL_ROOT_PW:-insecure_worker}
# This user and its password are used by the tests, if you change it,
# your tests might fail.
DB_USER=zuul
DB_PW=secret
sudo -H mysqladmin -u root password $DB_ROOT_PW
# It's best practice to remove anonymous users from the database. If
# a 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;
CREATE USER '$DB_USER'@'%' IDENTIFIED BY '$DB_PW';
GRANT ALL PRIVILEGES ON *.* TO '$DB_USER'@'%' 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 zuul;
CREATE DATABASE zuul CHARACTER SET utf8;"