Use readiness notification socket to be absolutely sure this works

This commit is contained in:
Robin McCorkell 2016-02-29 21:13:27 +00:00
parent 52d217d775
commit 078cc3b3f0
4 changed files with 16 additions and 2 deletions

View File

@ -31,6 +31,10 @@ if [ -z "$thisFolder" ]; then
thisFolder="."
fi;
# create readiness notification socket
notify_sock=$(readlink -f "$thisFolder"/dockerContainerCeph.$EXECUTOR_NUMBER.amazons3.sock)
mkfifo "$notify_sock"
user=test
accesskey=aaabbbccc
secretkey=cccbbbaaa
@ -39,6 +43,7 @@ port=80
container=`docker run -d \
-e RGW_CIVETWEB_PORT=$port \
-v "$notify_sock":/run/notifyme.sock \
${docker_image}`
host=`docker inspect --format="{{.NetworkSettings.IPAddress}}" $container`
@ -50,7 +55,8 @@ echo "${docker_image} container: $container"
echo $container >> $thisFolder/dockerContainerCeph.$EXECUTOR_NUMBER.amazons3
echo -n "Waiting for ceph initialization"
if ! "$thisFolder"/env/wait-for-connection ${host} ${port} 60; then
ready=$(timeout 60 cat "$notify_sock")
if [[ $ready != 'READY=1' ]]; then
echo "[ERROR] Waited 60 seconds, no response" >&2
exit 1
fi

View File

@ -31,6 +31,10 @@ if [ -z "$thisFolder" ]; then
thisFolder="."
fi;
# create readiness notification socket
notify_sock=$(readlink -f "$thisFolder"/dockerContainerCeph.$EXECUTOR_NUMBER.swift.sock)
mkfifo "$notify_sock"
port=5001
user=test
@ -48,6 +52,7 @@ container=`docker run -d \
-e KEYSTONE_SERVICE=${service} \
-e OSD_SIZE=300 \
--privileged \
-v "$notify_sock":/run/notifyme.sock \
${docker_image}`
host=`docker inspect --format="{{.NetworkSettings.IPAddress}}" $container`
@ -59,7 +64,8 @@ echo "${docker_image} container: $container"
echo $container >> $thisFolder/dockerContainerCeph.$EXECUTOR_NUMBER.swift
echo -n "Waiting for ceph initialization"
if ! "$thisFolder"/env/wait-for-connection ${host} 80 600; then
ready=$(timeout 600 cat "$notify_sock")
if [[ $ready != 'READY=1' ]]; then
echo "[ERROR] Waited 600 seconds, no response" >&2
docker logs $container
exit 1

View File

@ -33,4 +33,5 @@ done;
# cleanup
rm $thisFolder/config.amazons3.php
rm $thisFolder/dockerContainerCeph.$EXECUTOR_NUMBER.amazons3
rm $thisFolder/dockerContainerCeph.$EXECUTOR_NUMBER.amazons3.sock

View File

@ -35,4 +35,5 @@ done;
# cleanup
rm $thisFolder/config.swift.php
rm $thisFolder/dockerContainerCeph.$EXECUTOR_NUMBER.swift
rm $thisFolder/dockerContainerCeph.$EXECUTOR_NUMBER.swift.sock