diff options
| author | Martin André <martin.andre@kvhasia.com> | 2015-06-25 11:17:24 +0900 |
|---|---|---|
| committer | Martin André <martin.andre@kvhasia.com> | 2015-06-25 11:59:02 +0900 |
| commit | f370edfb70d30de222e6abf48dda1ec91283bd39 (patch) | |
| tree | aab4e3d32b959b8fa14b5d6811cb7c8166b61a1d | |
| parent | 999a51b6f3fed5d75550335e8711da5dc8ea5e48 (diff) | |
| download | kolla-f370edfb70d30de222e6abf48dda1ec91283bd39.tar.gz kolla-f370edfb70d30de222e6abf48dda1ec91283bd39.zip | |
Add retry parameter to build-docker-image
Partial-Bug: #1466677
Change-Id: I2fc2ded47bb2ed34fb1e272d35b0758f098ce0ac
| -rwxr-xr-x | tools/build-docker-image | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/tools/build-docker-image b/tools/build-docker-image index 0f698af39..9bd1d4273 100755 --- a/tools/build-docker-image +++ b/tools/build-docker-image @@ -13,6 +13,7 @@ NAMESPACE=kollaglue PREFIX=centos-rdo- TAG=$(git rev-parse --short HEAD) RELEASE_TAG=latest +MAX_TRIES=1 usage () { cat <<EOF @@ -30,13 +31,14 @@ Options: --pull, -u --release --no-use-released-parent +--retry <number_of_retries> EOF } [ -f $TOPDIR/.buildconf ] && . $TOPDIR/.buildconf [ -f $IMGDIR/.buildconf ] && . $IMGDIR/.buildconf -ARGS=$(getopt -o hr:n:t:pfuN -l help,prefix:,namespace:,push,pull,private-registry:,release,tag:,force-rm,no-cache,no-use-released-parent -- "$@") || { usage >&2; exit 2; } +ARGS=$(getopt -o hr:n:t:pfuN -l help,prefix:,namespace:,push,pull,private-registry:,release,tag:,force-rm,no-cache,no-use-released-parent,retry: -- "$@") || { usage >&2; exit 2; } eval set -- "$ARGS" @@ -88,6 +90,11 @@ while :; do USE_CURRENT_TAG=1 ;; + (--retry) + shift + MAX_TRIES=$((MAX_TRIES + $1)) + ;; + (--) break ;; @@ -142,10 +149,21 @@ sed -i.bak "s|%%KOLLA_NAMESPACE%%|${NAMESPACE}|g" $TMPDIR/Dockerfile sed -i.bak "s|%%KOLLA_PREFIX%%|${PREFIX}|g" $TMPDIR/Dockerfile sed -i.bak "s|%%KOLLA_TAG%%|${PARENT_TAG}|g" $TMPDIR/Dockerfile +TRY=0 +while [ $((MAX_TRIES - 1)) -gt $TRY ]; do + if docker build ${BUILDFLAGS} -t "$FULLIMAGE" $TMPDIR; then + break + else + echo "WARNING: failed to build $FULLIMAGE, retrying..." + TRY=$((TRY + 1)) + fi +done + if ! docker build ${BUILDFLAGS} -t "$FULLIMAGE" $TMPDIR; then echo "ERROR: failed to build $FULLIMAGE" exit 1 fi + rm -rf $TMPDIR echo "Built: $FULLIMAGE" |
