summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLucjan Bryndza <l.bryndza@samsung.com>2020-04-01 15:10:14 +0200
committerLucjan Bryndza <l.bryndza@samsung.com>2020-04-01 15:10:14 +0200
commit76bf24c436b38ff801705f78b99aa0b64d6089aa (patch)
tree3748e9e89d9498e9e282af878cd193f1a419ff03
parent0bc2552bf90ed53daf43eb291cf2898e51ff4c0e (diff)
Add support for metal LB in DNS deploy script
Extract ingress controller IP address which is same as node where the metalLB is deployed Signed-off-by: Lucjan Bryndza <l.bryndza@samsung.com> Issue-ID: OOM-2289 Change-Id: I16e6d1704e54b679cb39caa3c720538a5ff60a60
-rwxr-xr-xkubernetes/contrib/dns-server-for-vhost-ingress-testing/deploy_dns.sh37
1 files changed, 33 insertions, 4 deletions
diff --git a/kubernetes/contrib/dns-server-for-vhost-ingress-testing/deploy_dns.sh b/kubernetes/contrib/dns-server-for-vhost-ingress-testing/deploy_dns.sh
index 81533b9b4c..657b5f9448 100755
--- a/kubernetes/contrib/dns-server-for-vhost-ingress-testing/deploy_dns.sh
+++ b/kubernetes/contrib/dns-server-for-vhost-ingress-testing/deploy_dns.sh
@@ -23,9 +23,10 @@ SPATH="$( dirname "$( which "$0" )" )"
usage() {
cat << ==usage
-$0 [cluster_domain] [helm_chart_args ...]
+$0 [cluster_domain] [lb_ip] [helm_chart_args] ...
[cluster_domain] Default value simpledemo.onap.org
- [helm_chart_args...] Optional arguments passed to helm install command
+ [lb_ip] Default value LoadBalancer IP
+ [helm_chart_args] ... Optional arguments passed to helm install command
$0 --help This message
$0 --info Display howto configure target machine
==usage
@@ -44,7 +45,31 @@ Extra DNS server already deployed:
==infodeploy
}
+
+list_node_with_external_addrs()
+{
+ local WORKER_NODES=$(kubectl get no -l node-role.kubernetes.io/worker=true -o jsonpath='{.items..metadata.name}')
+ for worker in $WORKER_NODES; do
+ local external_ip=$(kubectl get no $worker -o jsonpath='{.metadata.annotations.rke\.cattle\.io/external-ip }')
+ local internal_ip=$(kubectl get no $worker -o jsonpath='{.metadata.annotations.rke\.cattle\.io/internal-ip }')
+ if [ $internal_ip != $external_ip ]; then
+ echo $external_ip
+ break
+ fi
+ done
+}
+
+ingress_controller_ip() {
+ local metal_ns=$(kubectl get ns --no-headers --output=custom-columns=NAME:metadata.name |grep metallb-system)
+ if [ -z $metal_ns ]; then
+ echo $CLUSTER_IP
+ else
+ list_node_with_external_addrs
+ fi
+}
+
deploy() {
+ local ingress_ip=$(ingress_controller_ip)
pushd "$SPATH/bind9dns" > /dev/null
if [ $# -eq 0 ]; then
local cl_domain="simpledemo.onap.org"
@@ -52,7 +77,11 @@ deploy() {
local cl_domain=$1
shift
fi
- helm install . --set dnsconf.wildcard="$cl_domain=$CLUSTER_IP" $@
+ if [ $# -ne 0 ]; then
+ ingress_ip=$1
+ shift
+ fi
+ helm install . --set dnsconf.wildcard="$cl_domain=$ingress_ip" $@
popd > /dev/null
target_machine_notice_info
}
@@ -60,7 +89,7 @@ deploy() {
if [[ $# -eq 1 ]] && [[ $1 == "-h" || $1 == "--help" ]]; then
usage
elif [[ $# -eq 1 ]] && [[ $1 == "--info" ]]; then
- target_machine_notice_info
+ target_machine_notice_info
else
deploy $@
fi