summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorTobias Henkel <tobias.henkel@bmw.de>2019-12-13 12:38:10 +0100
committerTobias Henkel <tobias.henkel@bmw.de>2019-12-13 12:42:59 +0100
commit2facdf1033ca475b56205465e61b1ac6a2e5a80e (patch)
tree78d3e8a154c07a8c52bd912765c8cdd4f3308177 /tools
parenta7fa150e216d3eec9bcba974ef27349a1fd4d742 (diff)
downloadzuul-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-xtools/test-setup-docker.sh32
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"