Skip to content

Commit 028c7a6

Browse files
authored
Toolchain: Wait for cluster and single server until they are ready (#356)
* Toolchain: Wait for cluster and single server until they are ready * Add limit to retries * Fix counter
1 parent ccb8da8 commit 028c7a6

File tree

1 file changed

+28
-3
lines changed

1 file changed

+28
-3
lines changed

toolchain/scripts/toolchain.sh

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -362,19 +362,44 @@ function process_server() {
362362
echo "</ul></li>" >> /home/summary.md
363363
}
364364

365+
### Check status of ArangoDB instance until it is up and running
366+
function wait_for_arangodb_ready() {
367+
attempts="${2:-1}"
368+
res=$(docker exec -it $1 wget -q -S -O - http://localhost:8529/_api/version 2>&1 | grep -m 1 HTTP/ | awk '{print $2}')
369+
if [ "$res" = "200" ]; then
370+
log "Server is ready: $1"
371+
else
372+
log "Server not ready: $1 $res"
373+
let attempts++
374+
if [ "$attempts" -gt 30 ]; then
375+
log "Giving up waiting on server."
376+
exit 1
377+
else
378+
sleep 2s
379+
wait_for_arangodb_ready $1 $attempts
380+
fi
381+
fi
382+
}
383+
384+
365385
### Setup and run an ArangoDB docker image
366386
function run_arangodb_container() {
367387
container_name="$1"
368388
image_id="$2"
369389

370390
if [ $TRAP == 0 ]; then
371-
log "[run_arangodb_container] Run single server"
372-
docker run -e ARANGO_NO_AUTH=1 --net docs_net --name "$container_name" -v arangosh:/tmp -d "$image_id" --server.endpoint http+tcp://0.0.0.0:8529
373-
374391
log "[run_arangodb_container] Run cluster server"
375392
docker run -d --net=docs_net -e ARANGO_NO_AUTH=1 --name="$container_name"_cluster \
376393
"$image_id" \
377394
arangodb --starter.local --starter.data-dir=./localdata
395+
396+
log "[run_arangodb_container] Run single server"
397+
docker run -d --net docs_net -e ARANGO_NO_AUTH=1 --name "$container_name" -v arangosh:/tmp \
398+
"$image_id" \
399+
--server.endpoint http+tcp://0.0.0.0:8529
400+
401+
wait_for_arangodb_ready "$container_name"
402+
wait_for_arangodb_ready "$container_name"_cluster
378403
fi
379404
}
380405

0 commit comments

Comments
 (0)