summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--global/overlay/etc/puppet/manifests/cosmos-site.pp6
-rwxr-xr-xglobal/overlay/usr/local/bin/ping-check19
-rwxr-xr-xsto-tug-kvm2.swamid.se/overlay/usr/local/etc/docker.d/30flog21
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