diff options
author | Tobias Henkel <tobias.henkel@bmw.de> | 2019-12-13 12:38:10 +0100 |
---|---|---|
committer | Tobias Henkel <tobias.henkel@bmw.de> | 2019-12-13 12:42:59 +0100 |
commit | 2facdf1033ca475b56205465e61b1ac6a2e5a80e (patch) | |
tree | 78d3e8a154c07a8c52bd912765c8cdd4f3308177 /tools | |
parent | a7fa150e216d3eec9bcba974ef27349a1fd4d742 (diff) | |
download | zuul-2facdf1033ca475b56205465e61b1ac6a2e5a80e.tar.gz |
Support podman for test setup
Currently the docker based test setup requires the docker cli and
docker-compose. However on systems that only use podman this doesn't
work. While there is a docker cli wrapper for podman docker-compose
doesn't work together with podman. However there is also
podman-compose which supports the same docker-compose yaml files.
Thus adapt the script such that it finds either the docker or podman
executables and uses them.
Change-Id: I2d1c5e1713c51de376653b35266819fd380e8891
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/test-setup-docker.sh | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/tools/test-setup-docker.sh b/tools/test-setup-docker.sh index 6e28aa3ec..0b9879d8f 100755 --- a/tools/test-setup-docker.sh +++ b/tools/test-setup-docker.sh @@ -4,10 +4,36 @@ set -eu cd $(dirname $0) -MYSQL="docker exec zuul-test-mysql mysql -u root -pinsecure_slave" +# Select docker or podman +if command -v docker > /dev/null; then + DOCKER=docker +elif command -v podman > /dev/null; then + DOCKER=podman +else + echo "Please install docker or podman." + exit 1 +fi -docker-compose rm -sf -docker-compose up -d +# Select docker-compose or podman-compose +if command -v docker-compose > /dev/null; then + COMPOSE=docker-compose +elif command -v podman-compose > /dev/null; then + COMPOSE=podman-compose +else + echo "Please install docker-compose or podman-compose." + exit 1 +fi + + +MYSQL="${DOCKER} exec zuul-test-mysql mysql -u root -pinsecure_slave" + +if [ "${COMPOSE}" == "docker-compose" ]; then + docker-compose rm -sf +else + podman-compose down +fi + +${COMPOSE} up -d echo "Waiting for mysql" timeout 30 bash -c "until ${MYSQL} -e 'show databases'; do sleep 0.5; done" |