Bug 1266719 - Add retry and timeout options when downloading image context r=wcosta draft
authorGregory Arndt <garndt@mozilla.com>
Fri, 22 Apr 2016 06:43:24 -0500
changeset 355361 4e8487755acf37a4eef8192061abf00262d2407b
parent 355360 b9ac34e99e3048648c839de22de82f97eb4ce3a7
child 519175 f45556dfa570441d79a296ba1135e601996857ec
push id16264
push usergarndt@mozilla.com
push dateFri, 22 Apr 2016 12:41:10 +0000
reviewerswcosta
bugs1266719
milestone48.0a1
Bug 1266719 - Add retry and timeout options when downloading image context r=wcosta MozReview-Commit-ID: BTpHZa4PX0G
testing/docker/image_builder/VERSION
testing/docker/image_builder/bin/build_image.sh
--- a/testing/docker/image_builder/VERSION
+++ b/testing/docker/image_builder/VERSION
@@ -1,1 +1,1 @@
-0.1.3
+0.1.4
--- a/testing/docker/image_builder/bin/build_image.sh
+++ b/testing/docker/image_builder/bin/build_image.sh
@@ -4,29 +4,31 @@
 # print a trace of commands, and make output verbose (print shell input as it's
 # read)
 # See https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html
 set -x -e -v
 
 # Prefix errors with taskcluster error prefix so that they are parsed by Treeherder
 raise_error() {
    echo
-   echo "[taskcluster:error] Error: $1"
+   echo "[taskcluster-image-build:error] $1"
    exit 1
 }
 
 # Ensure that the PROJECT is specified so the image can be indexed
 test -n "$PROJECT" || raise_error "Project must be provided."
 test -n "$HASH" || raise_error "Context Hash must be provided."
 
 mkdir /artifacts
 
 if [ ! -z "$CONTEXT_URL" ]; then
     mkdir /context
-    curl -L "$CONTEXT_URL" | tar -xz --strip-components 1 -C /context
+    if ! curl -L --retry 5 --connect-timeout 30 "$CONTEXT_URL" | tar -xz --strip-components 1 -C /context; then
+        raise_error "Error downloading image context from decision task."
+    fi
     CONTEXT_PATH=/context
 else
     tc-vcs checkout /home/worker/workspace/src $BASE_REPOSITORY $HEAD_REPOSITORY $HEAD_REV $HEAD_REF
     CONTEXT_PATH=/home/worker/workspace/src/$CONTEXT_PATH
 fi
 
 test -d $CONTEXT_PATH || raise_error "Context Path $CONTEXT_PATH does not exist."
 test -f "$CONTEXT_PATH/Dockerfile" || raise_error "Dockerfile must be present in $CONTEXT_PATH."