Browse Source

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
changes/24/636424/2
Tobias Henkel 2 years ago
parent
commit
c493af1755
No known key found for this signature in database GPG Key ID: 3750DEC158E5FA2
2 changed files with 55 additions and 0 deletions
  1. +35
    -0
      tools/docker-compose.yaml
  2. +20
    -0
      tools/test-setup-docker.sh

+ 35
- 0
tools/docker-compose.yaml View 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
- 0
tools/test-setup-docker.sh View 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…
Cancel
Save