Add dockerized test setup
We currently have the test-setup.sh script that installs and configures the services that are needed to run the zuul test suite. However this needs mysql, postgres and zookeeper installed into the system. It also messes with tmpfs mounts of zookeeper. This adds a docker-compose based test setup that can ease the setup of the test requirements on a developer machine. Change-Id: Ib0e3f42898c6e9258625b03bcc363e91f4b7ee83
This commit is contained in:
parent
6d6c69f93e
commit
c493af1755
35
tools/docker-compose.yaml
Normal file
35
tools/docker-compose.yaml
Normal file
@ -0,0 +1,35 @@
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
mysql:
|
||||
container_name: zuul-test-mysql
|
||||
image: mysql:5.7
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=insecure_slave
|
||||
ports:
|
||||
- "3306:3306"
|
||||
tmpfs:
|
||||
- /var/lib/mysql
|
||||
|
||||
postgres:
|
||||
container_name: zuul-test-postgres
|
||||
image: postgres
|
||||
environment:
|
||||
- POSTGRES_USER=openstack_citest
|
||||
- POSTGRES_PASSWORD=openstack_citest
|
||||
ports:
|
||||
- "5432:5432"
|
||||
tmpfs:
|
||||
- /var/lib/postgresql/data
|
||||
|
||||
zookeeper:
|
||||
container_name: zuul-test-zookeeper
|
||||
image: zookeeper
|
||||
environment:
|
||||
- ZOO_AUTOPURGE_PURGEINTERVAL=1
|
||||
- ZOO_LOG4J_PROP=WARN
|
||||
ports:
|
||||
- "2181:2181"
|
||||
tmpfs:
|
||||
- /data
|
||||
- /datalog
|
20
tools/test-setup-docker.sh
Executable file
20
tools/test-setup-docker.sh
Executable file
@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
cd $(dirname $0)
|
||||
|
||||
MYSQL="docker exec zuul-test-mysql mysql -u root -pinsecure_slave"
|
||||
|
||||
docker-compose rm -sf
|
||||
docker-compose up -d
|
||||
|
||||
echo "Waiting for mysql"
|
||||
timeout 30 bash -c "until ${MYSQL} -e 'show databases'; do sleep 0.5; done"
|
||||
echo
|
||||
|
||||
echo "Setting up permissions for zuul tests"
|
||||
${MYSQL} -e "GRANT ALL PRIVILEGES ON *.* TO 'openstack_citest'@'%' identified by 'openstack_citest' WITH GRANT OPTION;"
|
||||
${MYSQL} -u openstack_citest -popenstack_citest -e "SET default_storage_engine=MYISAM; DROP DATABASE IF EXISTS openstack_citest; CREATE DATABASE openstack_citest CHARACTER SET utf8;"
|
||||
|
||||
echo "Finished"
|
Loading…
x
Reference in New Issue
Block a user