diff --git a/flannel/flanneld-run.sh b/flannel/flanneld-run.sh index 5303a90..fbd97e0 100755 --- a/flannel/flanneld-run.sh +++ b/flannel/flanneld-run.sh @@ -7,7 +7,7 @@ echo "EnvironmentFile=-/run/$NAME/docker" >> /etc/systemd/system/docker.service. # Ensure this file doesn't already exist. rm -f run/flannel/subnet.env -/usr/bin/flanneld & +NOTIFY_SOCKET=/dev/null /usr/bin/flanneld & child=$! while test \! -e /run/flannel/subnet.env @@ -17,4 +17,6 @@ done /usr/libexec/flannel/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/docker +systemd-notify --ready + wait $child diff --git a/flannel/service.template b/flannel/service.template index d25dc8c..b6a2883 100644 --- a/flannel/service.template +++ b/flannel/service.template @@ -7,9 +7,10 @@ After=$AFTER Before=docker.service [Service] +Type=notify +NotifyAccess=all ExecStart=$EXEC_START ExecStop=$EXEC_STOP -ExecStartPost=/usr/bin/sh -c "while test \! -s ${RUN_DIRECTORY}/${NAME}/docker; do sleep 0.1; done" ExecStopPost=/bin/rm /etc/systemd/system/docker.service.d/$NAME.conf Restart=on-failure WorkingDirectory=$DESTDIR