#!/usr/bin/env bash
set -e
set -x

# This is just a thin wrapper around provision.
# Provisioning may fail due to many issues but most of the times a network
# connection issue is the reason. So we are going to retry entire provisioning
# once again if that fixes our problem.
tools/provision "$@" || {
    ret=$?
    if [ "$ret" = 1 ]; then
        echo "\`provision\`: Something went wrong with the provisioning, might be a network issue, Retrying to provision..."
        tools/provision
    else
        echo "\`provision\`: Something REALLY BAD went wrong with the provisioning, not retrying."
        exit "$ret"
    fi
}
