From cdf01fa38c1836516b0a215b45b695038444f8fb Mon Sep 17 00:00:00 2001 From: Guohan Lu Date: Sat, 22 Jun 2019 07:39:07 +0000 Subject: [PATCH 1/2] [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 100644 scripts/wait_for_docker.sh diff --git a/scripts/wait_for_docker.sh b/scripts/wait_for_docker.sh new file mode 100644 index 00000000000..74464673282 --- /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 1174cb14894..05285971af5 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))) From 8a835effe71335c0f2640d66f2b0e3222600bd54 Mon Sep 17 00:00:00 2001 From: Guohan Lu Date: Sat, 22 Jun 2019 17:20:34 +0000 Subject: [PATCH 2/2] change exec mode for wait_for_docker.sh Signed-off-by: Guohan Lu --- scripts/wait_for_docker.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 scripts/wait_for_docker.sh diff --git a/scripts/wait_for_docker.sh b/scripts/wait_for_docker.sh old mode 100644 new mode 100755