Fix subnet cleanup logic when using IP-aliases with custom subnets

This commit is contained in:
Shyam Jeedigunta 2018-04-11 15:44:28 +02:00
parent 99e77a76be
commit be2e5e65d3

View File

@ -1817,35 +1817,38 @@ function delete-network() {
} }
function delete-subnetworks() { function delete-subnetworks() {
if [[ ${ENABLE_IP_ALIASES:-} != "true" ]]; then # If running in custom mode network we need to delete subnets manually.
# If running in custom mode network we need to delete subnets mode="$(check-network-mode)"
mode="$(check-network-mode)" if [[ "${mode}" == "CUSTOM" ]]; then
if [[ "${mode}" == "CUSTOM" ]]; then if [[ "${ENABLE_BIG_CLUSTER_SUBNETS}" = "true" ]]; then
if [[ "${ENABLE_BIG_CLUSTER_SUBNETS}" = "true" ]]; then echo "Deleting default subnets..."
echo "Deleting default subnets..." # This value should be kept in sync with number of regions.
# This value should be kept in sync with number of regions. local parallelism=9
local parallelism=9 gcloud compute networks subnets list --network="${NETWORK}" --project "${NETWORK_PROJECT}" --format='value(region.basename())' | \
gcloud compute networks subnets list --network="${NETWORK}" --project "${NETWORK_PROJECT}" --format='value(region.basename())' | \ xargs -i -P ${parallelism} gcloud --quiet compute networks subnets delete "${NETWORK}" --project "${NETWORK_PROJECT}" --region="{}" || true
xargs -i -P ${parallelism} gcloud --quiet compute networks subnets delete "${NETWORK}" --project "${NETWORK_PROJECT}" --region="{}" || true elif [[ "${CREATE_CUSTOM_NETWORK:-}" == "true" ]]; then
elif [[ "${CREATE_CUSTOM_NETWORK:-}" == "true" ]]; then echo "Deleting custom subnet..."
echo "Deleting custom subnet..." gcloud --quiet compute networks subnets delete "${SUBNETWORK}" --project "${NETWORK_PROJECT}" --region="${REGION}" || true
gcloud --quiet compute networks subnets delete "${SUBNETWORK}" --project "${NETWORK_PROJECT}" --region="${REGION}" || true
fi
fi fi
return return
fi fi
# Only delete automatically created subnets. # If we reached here, it means we're not using custom network.
if [[ ${IP_ALIAS_SUBNETWORK} == ${INSTANCE_PREFIX}-subnet-default ]]; then # So the only thing we need to check is if IP-aliases was turned
echo "Removing auto-created subnet ${NETWORK}:${IP_ALIAS_SUBNETWORK}" # on and we created a subnet for it. If so, we should delete it.
if [[ -n $(gcloud beta compute networks subnets describe \ if [[ ${ENABLE_IP_ALIASES:-} == "true" ]]; then
# Only delete the subnet if we created it (i.e it's not pre-existing).
if [[ -z "${KUBE_GCE_IP_ALIAS_SUBNETWORK:-}" ]]; then
echo "Removing auto-created subnet ${NETWORK}:${IP_ALIAS_SUBNETWORK}"
if [[ -n $(gcloud beta compute networks subnets describe \
--project "${NETWORK_PROJECT}" \
--region ${REGION} \
${IP_ALIAS_SUBNETWORK} 2>/dev/null) ]]; then
gcloud beta --quiet compute networks subnets delete \
--project "${NETWORK_PROJECT}" \ --project "${NETWORK_PROJECT}" \
--region ${REGION} \ --region ${REGION} \
${IP_ALIAS_SUBNETWORK} 2>/dev/null) ]]; then ${IP_ALIAS_SUBNETWORK}
gcloud beta --quiet compute networks subnets delete \ fi
--project "${NETWORK_PROJECT}" \
--region ${REGION} \
${IP_ALIAS_SUBNETWORK}
fi fi
fi fi
} }