diff --git a/cluster/gce/configure-vm.sh b/cluster/gce/configure-vm.sh index 09209a38976..647ef041c61 100644 --- a/cluster/gce/configure-vm.sh +++ b/cluster/gce/configure-vm.sh @@ -437,15 +437,22 @@ function download-release() { # store it when we download, and then when it's different infer that # a push occurred (otherwise it's a simple reboot). - echo "Downloading binary release tar ($SERVER_BINARY_TAR_URL)" - download-or-bust "$SERVER_BINARY_TAR_URL" + # In case of failure of unpacking Salt tree (the last command in the + # "until" block) retry downloading both release and Salt tars. + until + echo "Downloading binary release tar ($SERVER_BINARY_TAR_URL)" + download-or-bust "$SERVER_BINARY_TAR_URL" - echo "Downloading Salt tar ($SALT_TAR_URL)" - download-or-bust "$SALT_TAR_URL" + echo "Downloading Salt tar ($SALT_TAR_URL)" + download-or-bust "$SALT_TAR_URL" - echo "Unpacking Salt tree" - rm -rf kubernetes - tar xzf "${SALT_TAR_URL##*/}" + echo "Unpacking Salt tree" + rm -rf kubernetes + tar xzf "${SALT_TAR_URL##*/}" + do + sleep 15 + echo "Couldn't unpack Salt tree. Retrying..." + done echo "Running release install script" sudo kubernetes/saltbase/install.sh "${SERVER_BINARY_TAR_URL##*/}"