diff --git a/cluster/gce/config-default.sh b/cluster/gce/config-default.sh index e978a673d11..0a6273b3b4a 100755 --- a/cluster/gce/config-default.sh +++ b/cluster/gce/config-default.sh @@ -34,8 +34,48 @@ MASTER_NAME="${INSTANCE_PREFIX}-master" MASTER_TAG="${INSTANCE_PREFIX}-master" MINION_TAG="${INSTANCE_PREFIX}-minion" MINION_NAMES=($(eval echo ${INSTANCE_PREFIX}-minion-{1..${NUM_MINIONS}})) + +# Compute IP addresses for nodes. +function increment_ipv4 { + local ip_base=$1 + local incr_amount=$2 + local -a ip_components + local ip_regex="([0-9]+).([0-9]+).([0-9]+).([0-9]+)" + [[ $ip_base =~ $ip_regex ]] + ip_components=("${BASH_REMATCH[1]}" "${BASH_REMATCH[2]}" "${BASH_REMATCH[3]}" "${BASH_REMATCH[4]}") + ip_dec=0 + local comp + for comp in "${ip_components[@]}"; do + ip_dec=$((ip_dec<<8)) + ip_dec=$((ip_dec + $comp)) + done + + ip_dec=$((ip_dec + $incr_amount)) + + ip_components=() + local i + for ((i=0; i < 4; i++)); do + comp=$((ip_dec & 0xFF)) + ip_components+=($comp) + ip_dec=$((ip_dec>>8)) + done + echo "${ip_components[3]}.${ip_components[2]}.${ip_components[1]}.${ip_components[0]}" +} + +node_count="${NUM_MINIONS}" +next_node="10.244.0.0" +node_subnet_size=24 +node_subnet_count=$((2 ** (32-$node_subnet_size))) +subnets=() + +for ((node_num=0; node_num