diff options
Diffstat (limited to 'global/overlay')
-rw-r--r-- | global/overlay/etc/puppet/manifests/cosmos-site.pp | 8 | ||||
-rwxr-xr-x | global/overlay/usr/local/bin/ping-check | 19 |
2 files changed, 24 insertions, 3 deletions
diff --git a/global/overlay/etc/puppet/manifests/cosmos-site.pp b/global/overlay/etc/puppet/manifests/cosmos-site.pp index c313a0a..88696a4 100644 --- a/global/overlay/etc/puppet/manifests/cosmos-site.pp +++ b/global/overlay/etc/puppet/manifests/cosmos-site.pp @@ -764,11 +764,13 @@ node 'sto-tug-kvm2.swamid.se' { sunet::docker_run {'flog_app': image => 'docker.sunet.se/flog/flog_app', volumes => ['/opt/flog/dotenv:/opt/flog/.env','/var/log/flog/:/opt/flog/logs/'], + pre_start => '/usr/local/bin/ping-check flog_db.docker && run-parts /usr/local/etc/docker.d', } -> sunet::docker_run {'flog_nginx': - image => 'docker.sunet.se/flog/nginx', - ports => ['80:80', '443:443'], - volumes => ['/opt/flog/nginx/sites-enabled/:/etc/nginx/sites-enabled/','/opt/flog/nginx/certs/:/etc/nginx/certs', '/var/log/flog_nginx/:/var/log/nginx'], + image => 'docker.sunet.se/flog/nginx', + ports => ['80:80', '443:443'], + volumes => ['/opt/flog/nginx/sites-enabled/:/etc/nginx/sites-enabled/','/opt/flog/nginx/certs/:/etc/nginx/certs', '/var/log/flog_nginx/:/var/log/nginx'], + pre_start => '/usr/local/bin/ping-check flog_app.docker && run-parts /usr/local/etc/docker.d', } } diff --git a/global/overlay/usr/local/bin/ping-check b/global/overlay/usr/local/bin/ping-check new file mode 100755 index 0000000..26c99ed --- /dev/null +++ b/global/overlay/usr/local/bin/ping-check @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +# +# Ping until reply or MAX_TRIES. One try == 1s. +# + +MAX_TRIES=10 +LOGTAG="sunet_docker_ping_check" + +count=0 +until ping -c1 $1 &> /dev/null +do + if [ $count -gt $MAX_TRIES ] + then + logger -t "$LOGTAG" "No response from $1 after $MAX_TRIES tries." + exit 1 + fi + sleep 1 + count=$[$count+1] +done |