From e5723d276fa8861f863637917af689ce4eeae5a2 Mon Sep 17 00:00:00 2001 From: Laura Sofia Enriquez Date: Fri, 12 Jan 2018 02:10:16 -0300 Subject: Clearwater implementation for OPNFV K8S version 1.9 Clearwater deployment from source code using k8s v1.9. Tests added. Change-Id: Ifde573768721871b441ecb06a60ac25c0519b73d Signed-off-by: Laura Sofia Enriquez --- src/vagrant/kubeadm_clearwater/clearwater_setup.sh | 66 ++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100755 src/vagrant/kubeadm_clearwater/clearwater_setup.sh (limited to 'src/vagrant/kubeadm_clearwater/clearwater_setup.sh') diff --git a/src/vagrant/kubeadm_clearwater/clearwater_setup.sh b/src/vagrant/kubeadm_clearwater/clearwater_setup.sh new file mode 100755 index 0000000..e579773 --- /dev/null +++ b/src/vagrant/kubeadm_clearwater/clearwater_setup.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# +# Copyright (c) 2017 Intel Corporation +# +# 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 -ex + +static_ip=$(ifconfig eth0 | grep "inet addr" | cut -d ':' -f 2 | cut -d ' ' -f 1) +echo "STATIC_IP is $static_ip." + +git clone --recursive https://github.com/Metaswitch/clearwater-docker.git + +# Set the configmaps +kubectl create configmap env-vars --from-literal=ZONE=default.svc.cluster.local + +# Generate the yamls +cd clearwater-docker/kubernetes/ +./k8s-gencfg --image_path=enriquetaso --image_tag=latest + +# Expose Ellis +# The Ellis provisioning interface can then be accessed on static_ip:30080 +cat ellis-svc.yaml | sed "s/clusterIP: None/type: NodePort/" > ellis-svc.yaml.new +cat ellis-svc.yaml.new | sed "s/port: 80/port: 80\n nodePort: 30080/" > ellis-svc.yaml +rm ellis-svc.yaml.new + +# Bono configuration +# Have a static external IP address available that the load balancer can use +cp /vagrant/custom-bono-svc/bono-svc.yaml . +sed -ie "6s/$/\n - $static_ip/" bono-svc.yaml +sed -ie "7s/$/\n loadBalancerIP: $static_ip/" bono-svc.yaml + +cd +kubectl apply -f clearwater-docker/kubernetes +kubectl get nodes +kubectl get services +kubectl get pods +kubectl get rc +sleep 60 + +r="1" +while [ $r != "0" ] +do + kubectl get pods + r=$( kubectl get pods | grep Pending | wc -l) + sleep 60 +done + +q="1" +while [ $q != "0" ] +do + kubectl get pods + q=$( kubectl get pods | grep ContainerCreating | wc -l) + sleep 60 +done -- cgit 1.2.3-korg