summaryrefslogtreecommitdiffstats
path: root/src/vagrant/kubeadm_app/app_setup.sh
blob: a67a54f2d4dfebb7e0d84d485f8ea66fb08425b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/bin/bash
#
#
# 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