From a5f9b28b6f0f8ab445ce9719dbb87ebd27801b3d Mon Sep 17 00:00:00 2001 From: Tristan Carel Date: Wed, 22 Jun 2016 15:33:37 +0200 Subject: [PATCH] Wait for ES index recovery before starting Kibana --- kibana/docker-entrypoint.sh | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/kibana/docker-entrypoint.sh b/kibana/docker-entrypoint.sh index 146d388..48ef023 100755 --- a/kibana/docker-entrypoint.sh +++ b/kibana/docker-entrypoint.sh @@ -11,15 +11,24 @@ wait_es_api_started() { } wait_es_index() { - for i in `seq 60` ; do + while true ; do if wget -qO- "$1/_cat/indices" 2>/dev/null | \ grep -q " open $2" ; then - return 0 + break fi - echo >&2 "Waiting for $2 Elasticsearch index" + echo >&2 "Waiting for $2 Elasticsearch index availability" sleep 1 done - return 1 + while true; do + local recovery=`wget -qO- "$1/$2/_recovery?pretty&human" | \ + grep state | sort -u | grep -v DONE` + if [ "x$recovery" = x ] ;then + break + fi + echo >&2 "Waiting for $2 Elasticsearch index recovery" + sleep 1 + done + return 0 } # Add kibana as command if needed