From fb82b8b18991355705fc6c7270b1a57a1422f33b Mon Sep 17 00:00:00 2001 From: Yu Qi Zhang Date: Mon, 27 Feb 2017 16:40:32 +0000 Subject: [PATCH] Update flannel to use sd-notify Remove hacky loop to check for Docker configs, and update to use sd-notify instead to alert systemd when flannel is ready. Signed-off-by: Yu Qi Zhang Closes: #24 Approved by: giuseppe --- flannel/flanneld-run.sh | 4 +++- flannel/service.template | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) 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