aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-06-25 14:45:12 +0000
committerGerrit Code Review <review@openstack.org>2015-06-25 14:45:12 +0000
commitaa0c8b5fe9b503ef0422af39310761075ca583ec (patch)
treec5b5bcede9774aec77d9cfca52b2576492471054 /tools
parente8535fc361ab3bc925146c8b2be8e732935040cf (diff)
parentf370edfb70d30de222e6abf48dda1ec91283bd39 (diff)
downloadkolla-aa0c8b5fe9b503ef0422af39310761075ca583ec.tar.gz
kolla-aa0c8b5fe9b503ef0422af39310761075ca583ec.zip
Merge "Add retry parameter to build-docker-image"
Diffstat (limited to 'tools')
-rwxr-xr-xtools/build-docker-image20
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"