diff options
-rw-r--r-- | global/overlay/etc/puppet/manifests/cosmos-site.pp | 6 | ||||
-rwxr-xr-x | global/overlay/usr/local/bin/ping-check | 19 | ||||
-rwxr-xr-x | sto-tug-kvm2.swamid.se/overlay/usr/local/etc/docker.d/30flog | 21 |
3 files changed, 43 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..4249f7f 100644 --- a/global/overlay/etc/puppet/manifests/cosmos-site.pp +++ b/global/overlay/etc/puppet/manifests/cosmos-site.pp @@ -766,9 +766,9 @@ node 'sto-tug-kvm2.swamid.se' { volumes => ['/opt/flog/dotenv:/opt/flog/.env','/var/log/flog/:/opt/flog/logs/'], } -> 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'], } } 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 diff --git a/sto-tug-kvm2.swamid.se/overlay/usr/local/etc/docker.d/30flog b/sto-tug-kvm2.swamid.se/overlay/usr/local/etc/docker.d/30flog new file mode 100755 index 0000000..2b477a2 --- /dev/null +++ b/sto-tug-kvm2.swamid.se/overlay/usr/local/etc/docker.d/30flog @@ -0,0 +1,21 @@ +#!/bin/bash +# +# Wait for dependent flog docker containers to be registered in local DNS. +# + +PING_CHECK="/usr/local/bin/ping-check" + +logtag="flog_docker_pre-post[$ACTION]" +logger -t "${logtag}" "$NAME ($IMAGE), CID: '$CID'" + +if [ "x$ACTION" = "xpre-start" ]; then + if [ "x$NAME" = "xflog_app" ]; then + ${PING_CHECK} flog_db.docker + exit $? + fi + if [ "x$NAME" = "xflog_nginx" ]; then + ${PING_CHECK} flog_app.docker + exit $? + fi + exit 0 +fi |