openstack-helm/tools/deployment/multinode/kube-node-subnet.sh
Pete Birley 0f86dbdc27 Gate: 5 Node basic gate
This PS adds a 5 node basic gate for OSH, using the same format as the
dev-deploy guide. Follow on commits will:
 * Remove redundant gate scripts
 * Add documentation, in the same format as the AIO guide
 * Add all remaining services in OSH
 * Enable Helm test for all services

Change-Id: I7b72dc4777e88cae2b8a4d842c41a17a526079a2
Depends-On: Ie9b23174fade3df4a87f2b771ea654e2081b4f4e
2018-01-14 02:50:17 +00:00

35 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# Copyright 2017 The Openstack-Helm Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
set -e
NODE_IPS=$(mktemp --suffix=.txt)
kubectl get nodes -o json | jq -r '.items[].status.addresses[] | select(.type=="InternalIP").address' | sort -V > $NODE_IPS
FIRST_IP_SUBNET=$(ipcalc "$(head -n 1 ${NODE_IPS})/24" | awk '/^Network/ { print $2 }')
LAST_IP_SUBNET=$(ipcalc "$(tail -n 1 ${NODE_IPS})/24" | awk '/^Network/ { print $2 }')
rm -f $NODE_IPS
function ip_diff {
echo $(($(echo $LAST_IP_SUBNET | awk -F '.' "{ print \$$1}") - $(echo $FIRST_IP_SUBNET | awk -F '.' "{ print \$$1}")))
}
for X in {1..4}; do
if ! [ "$(ip_diff ${X})" -eq "0" ]; then
SUBMASK=$((((${X} - 1 )) * 8))
break
elif [ ${X} -eq "4" ]; then
SUBMASK=24
fi
done
echo ${FIRST_IP_SUBNET%/*}/${SUBMASK}