diff options
-rw-r--r-- | lava-master/Dockerfile | 1 | ||||
-rwxr-xr-x | lava-master/scripts/start.sh | 40 |
2 files changed, 41 insertions, 0 deletions
diff --git a/lava-master/Dockerfile b/lava-master/Dockerfile index b018a2d..6051851 100644 --- a/lava-master/Dockerfile +++ b/lava-master/Dockerfile @@ -18,6 +18,7 @@ COPY users/ /root/lava-users/ COPY groups/ /root/lava-groups/ COPY tokens/ /root/lava-callback-tokens/ COPY scripts/setup.sh / +COPY scripts/start.sh / COPY settings.conf /etc/lava-server/ diff --git a/lava-master/scripts/start.sh b/lava-master/scripts/start.sh new file mode 100755 index 0000000..c34fe34 --- /dev/null +++ b/lava-master/scripts/start.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +postgres-ready () { + echo "Waiting for lavaserver database to be active" + while (( $(ps -ef | grep -v grep | grep postgres | grep lavaserver | wc -l) == 0 )) + do + echo -n "." + sleep 1 + done + echo + echo "[ ok ] LAVA server ready" +} + +start () { + echo "Starting $1" + if (( $(ps -ef | grep -v grep | grep -v add_device | grep -v dispatcher-config | grep "$1" | wc -l) > 0 )) + then + echo "$1 appears to be running" + else + service "$1" start + fi +} + +#remove lava-pid files incase the image is stored without first stopping the services +rm -f /var/run/lava-*.pid 2> /dev/null + +/etc/init.d/postgresql start + +/setup.sh || exit $? + +start apache2 || exit $? +start lava-logs || exit $? +start lava-master || exit $? +start lava-coordinator || exit $? +start lava-slave || exit $? +start lava-server-gunicorn || exit $? +start tftpd-hpa || exit $? + +postgres-ready +service apache2 reload #added after the website not running a few times on boot |