mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 22:17:14 +00:00
Kubemark scripts retry failed gcloud commands
This commit is contained in:
parent
6c63acdd3d
commit
39428cc0e5
@ -16,6 +16,7 @@
|
||||
|
||||
source "${KUBE_ROOT}/cluster/kubemark/config-default.sh"
|
||||
source "${KUBE_ROOT}/cluster/kubemark/util.sh"
|
||||
source "${KUBE_ROOT}/cluster/kube-env.sh"
|
||||
|
||||
detect-project &> /dev/null
|
||||
export PROJECT
|
||||
@ -23,3 +24,22 @@ export PROJECT
|
||||
MASTER_NAME="${INSTANCE_PREFIX}-kubemark-master"
|
||||
MASTER_TAG="kubemark-master"
|
||||
EVENT_STORE_NAME="${INSTANCE_PREFIX}-event-store"
|
||||
|
||||
RETRIES=3
|
||||
|
||||
# Runs gcloud compute command with the given parameters. Up to $RETRIES will be made
|
||||
# to execute the command.
|
||||
# arguments:
|
||||
# $@: all stuff that goes after 'gcloud compute '
|
||||
function run-gcloud-compute-with-retries {
|
||||
for attempt in $(seq 1 ${RETRIES}); do
|
||||
if ! gcloud compute $@; then
|
||||
echo -e "${color_yellow}Attempt ${attempt} failed to $@. Retrying.${color_norm}" >& 2
|
||||
sleep $(($attempt * 5))
|
||||
else
|
||||
return
|
||||
fi
|
||||
done
|
||||
echo -e "${color_red} Failed to $@.${color_norm}" >& 2
|
||||
exit 1
|
||||
}
|
||||
|
@ -46,12 +46,12 @@ cd $CURR_DIR
|
||||
|
||||
GCLOUD_COMMON_ARGS="--project ${PROJECT} --zone ${ZONE}"
|
||||
|
||||
gcloud compute disks create "${MASTER_NAME}-pd" \
|
||||
run-gcloud-compute-with-retries disks create "${MASTER_NAME}-pd" \
|
||||
${GCLOUD_COMMON_ARGS} \
|
||||
--type "${MASTER_DISK_TYPE}" \
|
||||
--size "${MASTER_DISK_SIZE}"
|
||||
|
||||
gcloud compute instances create "${MASTER_NAME}" \
|
||||
run-gcloud-compute-with-retries instances create "${MASTER_NAME}" \
|
||||
${GCLOUD_COMMON_ARGS} \
|
||||
--machine-type "${MASTER_SIZE}" \
|
||||
--image-project="${MASTER_IMAGE_PROJECT}" \
|
||||
@ -61,7 +61,7 @@ gcloud compute instances create "${MASTER_NAME}" \
|
||||
--scopes "storage-ro,compute-rw,logging-write" \
|
||||
--disk "name=${MASTER_NAME}-pd,device-name=master-pd,mode=rw,boot=no,auto-delete=no"
|
||||
|
||||
gcloud compute firewall-rules create "${INSTANCE_PREFIX}-kubemark-master-https" \
|
||||
run-gcloud-compute-with-retries firewall-rules create "${INSTANCE_PREFIX}-kubemark-master-https" \
|
||||
--project "${PROJECT}" \
|
||||
--network "${NETWORK}" \
|
||||
--source-ranges "0.0.0.0/0" \
|
||||
@ -73,12 +73,12 @@ MASTER_IP=$(gcloud compute instances describe ${MASTER_NAME} \
|
||||
|
||||
if [ "${SEPARATE_EVENT_MACHINE:-false}" == "true" ]; then
|
||||
EVENT_STORE_NAME="${INSTANCE_PREFIX}-event-store"
|
||||
gcloud compute disks create "${EVENT_STORE_NAME}-pd" \
|
||||
run-gcloud-compute-with-retries disks create "${EVENT_STORE_NAME}-pd" \
|
||||
${GCLOUD_COMMON_ARGS} \
|
||||
--type "${MASTER_DISK_TYPE}" \
|
||||
--size "${MASTER_DISK_SIZE}"
|
||||
|
||||
gcloud compute instances create "${EVENT_STORE_NAME}" \
|
||||
run-gcloud-compute-with-retries instances create "${EVENT_STORE_NAME}" \
|
||||
${GCLOUD_COMMON_ARGS} \
|
||||
--machine-type "${MASTER_SIZE}" \
|
||||
--image-project="${MASTER_IMAGE_PROJECT}" \
|
||||
|
Loading…
Reference in New Issue
Block a user