diff --git a/Makefile b/Makefile index 61c2ee66..7ef5c5f1 100644 --- a/Makefile +++ b/Makefile @@ -349,6 +349,7 @@ __test_go_test: __test_prepare: ifdef TEST_ENDPOINTS_OVERRIDE @-docker rm -f -v $(TESTCONTAINER) &> /dev/null + @sleep 3 else ifdef JWTSECRET echo "$JWTSECRET" > "${JWTSECRETFILE}" @@ -366,6 +367,8 @@ ifdef TESTCONTAINER endif ifndef TEST_ENDPOINTS_OVERRIDE @TESTCONTAINER=$(TESTCONTAINER) ARANGODB=$(ARANGODB) STARTER=$(STARTER) STARTERMODE=$(TEST_MODE) "${ROOTDIR}/test/cluster.sh" cleanup +else + @-docker rm -f -v $(TESTCONTAINER) &> /dev/null endif @sleep 3 diff --git a/test/cluster.sh b/test/cluster.sh index 4af1a4fe..ae3684e3 100755 --- a/test/cluster.sh +++ b/test/cluster.sh @@ -5,17 +5,20 @@ if [ -z "$TESTCONTAINER" ]; then exit 1 fi +if [ -z "$STARTER" ]; then + echo "STARTER environment variable must be set" + exit 1 +fi + NAMESPACE=${TESTCONTAINER}-ns STARTERVOLUME=${TESTCONTAINER}-vol STARTERCONTAINER=${TESTCONTAINER}-s CMD=$1 DOCKERARGS= STARTERARGS= - # Cleanup docker rm -f -v $(docker ps -a | grep ${TESTCONTAINER} | awk '{print $1}') &> /dev/null docker volume rm -f ${STARTERVOLUME} &> /dev/null - if [ "$CMD" == "start" ]; then if [ -z "$ARANGODB" ]; then echo "ARANGODB environment variable must be set" @@ -46,15 +49,25 @@ if [ "$CMD" == "start" ]; then STARTERARGS="$STARTERARGS --all.backup.api-enabled=true" fi + if [ -z "$STARTERPORT" ]; then + STARTERPORT=7000 + fi + # Start network namespace docker run -d --name=${NAMESPACE} alpine:3.4 sleep 365d # Start starters # arangodb/arangodb-starter 0.7.0 or higher is needed. + echo "docker run -d --name=${STARTERCONTAINER} --net=container:${NAMESPACE} \ + -v ${STARTERVOLUME}:/data -v /var/run/docker.sock:/var/run/docker.sock $DOCKERARGS \ + ${STARTER} \ + --starter.port=${STARTERPORT} --starter.address=127.0.0.1 \ + --docker.image=${ARANGODB} \ + --starter.local --starter.mode=${STARTERMODE} --all.log.output=+ $STARTERARGS" docker run -d --name=${STARTERCONTAINER} --net=container:${NAMESPACE} \ -v ${STARTERVOLUME}:/data -v /var/run/docker.sock:/var/run/docker.sock $DOCKERARGS \ ${STARTER} \ - --starter.port=7000 --starter.address=127.0.0.1 \ + --starter.port=${STARTERPORT} --starter.address=127.0.0.1 \ --docker.image=${ARANGODB} \ --starter.local --starter.mode=${STARTERMODE} --all.log.output=+ $STARTERARGS fi