From 40330bcbdff9aa9696981757d80b3ff093fd603e Mon Sep 17 00:00:00 2001 From: lguohan Date: Sat, 22 Jun 2019 14:40:05 -0700 Subject: [PATCH] [build]: wait up to 60 seconds for docker engine to start (#3067) * [build]: wait 60 seconds for docker engine to start On some platforms, it can take more than 1 second for docker engine to start. Signed-off-by: Guohan Lu --- scripts/wait_for_docker.sh | 15 +++++++++++++++ slave.mk | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100755 scripts/wait_for_docker.sh diff --git a/scripts/wait_for_docker.sh b/scripts/wait_for_docker.sh new file mode 100755 index 0000000000..7446467328 --- /dev/null +++ b/scripts/wait_for_docker.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +total_time=$1 +cnt=0 +while [ $cnt -le $total_time ]; do + docker info 1>/dev/null + rv=$? + if [ $rv -eq 0 ]; then + exit 0 + fi + sleep 1 + cnt=$((cnt+1)) +done + +exit 1 diff --git a/slave.mk b/slave.mk index 1174cb1489..05285971af 100644 --- a/slave.mk +++ b/slave.mk @@ -454,7 +454,7 @@ $(SONIC_INSTALL_WHEELS) : $(PYTHON_WHEELS_PATH)/%-install : .platform $$(addsuff docker-start : @sudo sed -i '/http_proxy/d' /etc/default/docker @sudo bash -c "echo \"export http_proxy=$$http_proxy\" >> /etc/default/docker" - @test x$(SONIC_CONFIG_USE_NATIVE_DOCKERD_FOR_BUILD) != x"y" && sudo service docker status &> /dev/null || ( sudo service docker start &> /dev/null && sleep 1 ) + @test x$(SONIC_CONFIG_USE_NATIVE_DOCKERD_FOR_BUILD) != x"y" && sudo service docker status &> /dev/null || ( sudo service docker start &> /dev/null && ./scripts/wait_for_docker.sh 60 ) # targets for building simple docker images that do not depend on any debian packages $(addprefix $(TARGET_PATH)/, $(SONIC_SIMPLE_DOCKER_IMAGES)) : $(TARGET_PATH)/%.gz : .platform docker-start $$(addsuffix -load,$$(addprefix $(TARGET_PATH)/,$$($$*.gz_LOAD_DOCKERS)))