From f41372680d11c36c01e43e922c781845224dd62d Mon Sep 17 00:00:00 2001 From: Erik Hollensbe Date: Fri, 18 Mar 2022 00:08:23 -0700 Subject: [PATCH] Fix dockerfile & entrypoint: - Resolve issue with join not being checked properly for success without using external tools - Resolve issue where initial boot was not being checked properly - Now output errors when zerotier fails to start closes #1581 cc @altano for inspiration for this patch Signed-off-by: Erik Hollensbe --- Dockerfile.release | 2 ++ entrypoint.sh.release | 9 ++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Dockerfile.release b/Dockerfile.release index aa0d422cc..52ef4d803 100644 --- a/Dockerfile.release +++ b/Dockerfile.release @@ -11,6 +11,8 @@ RUN curl -sSL -o zerotier-one.deb "${PACKAGE_BASEURL}/zerotier-one_${VERSION}_${ FROM debian:buster +RUN apt-get update -qq && apt-get install openssl libssl1.1 -y + COPY --from=stage zerotier-one.deb . RUN dpkg -i zerotier-one.deb && rm -f zerotier-one.deb diff --git a/entrypoint.sh.release b/entrypoint.sh.release index adc258194..bffaf6865 100644 --- a/entrypoint.sh.release +++ b/entrypoint.sh.release @@ -1,7 +1,7 @@ #!/bin/sh grepzt() { - [ ! -n "$(cat /var/lib/zerotier-one/zerotier-one.pid)" -a -d "/proc/$(cat /var/lib/zerotier-one/zerotier-one.pid)" ] + [ -f /var/lib/zerotier-one/zerotier-one.pid -a -n "$(cat /var/lib/zerotier-one/zerotier-one.pid)" -a -d "/proc/$(cat /var/lib/zerotier-one/zerotier-one.pid)" ] return $? } @@ -46,6 +46,7 @@ nohup /usr/sbin/zerotier-one & while ! grepzt do echo "zerotier hasn't started, waiting a second" + tail -n 10 nohup.out sleep 1 done @@ -55,9 +56,11 @@ for i in "$@" do echo "joining $i" - while ! zerotier-cli join "$i" + zerotier-cli join "$i" + + while [ "$(zerotier-cli get $i status)" != "OK" ] do - echo "joining $i failed; trying again in 1s" + echo "joining $i failed (are they added in central?); trying again in 1s" sleep 1 done done