summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--INFO.yaml59
-rw-r--r--src/helm-charts/clearwater/README.md19
-rw-r--r--src/helm-charts/clearwater/templates/NOTES.txt2
-rw-r--r--src/helm-charts/clearwater/templates/astaire-depl.yaml1
-rw-r--r--src/helm-charts/clearwater/templates/astaire-svc.yaml2
-rw-r--r--src/helm-charts/clearwater/templates/bono-depl.yaml1
-rw-r--r--src/helm-charts/clearwater/templates/bono-svc.yaml19
-rw-r--r--src/helm-charts/clearwater/templates/cassandra-depl.yaml1
-rw-r--r--src/helm-charts/clearwater/templates/cassandra-svc.yaml8
-rw-r--r--src/helm-charts/clearwater/templates/chronos-depl.yaml1
-rw-r--r--src/helm-charts/clearwater/templates/chronos-svc.yaml2
-rw-r--r--src/helm-charts/clearwater/templates/ellis-depl.yaml1
-rw-r--r--src/helm-charts/clearwater/templates/ellis-svc.yaml2
-rw-r--r--src/helm-charts/clearwater/templates/etcd-depl.yaml1
-rw-r--r--src/helm-charts/clearwater/templates/etcd-svc.yaml6
-rw-r--r--src/helm-charts/clearwater/templates/homer-depl.yaml1
-rw-r--r--src/helm-charts/clearwater/templates/homer-svc.yaml11
-rw-r--r--src/helm-charts/clearwater/templates/homestead-depl.yaml51
-rw-r--r--src/helm-charts/clearwater/templates/homestead-prov-depl.yaml1
-rw-r--r--src/helm-charts/clearwater/templates/homestead-prov-svc.yaml2
-rw-r--r--src/helm-charts/clearwater/templates/homestead-svc.yaml2
-rw-r--r--src/helm-charts/clearwater/templates/ralf-depl.yaml1
-rw-r--r--src/helm-charts/clearwater/templates/ralf-svc.yaml2
-rw-r--r--src/helm-charts/clearwater/templates/sprout-depl.yaml1
-rw-r--r--src/helm-charts/clearwater/templates/sprout-svc.yaml4
-rwxr-xr-xsrc/vagrant/kubeadm_istio/istio/deploy.sh21
-rw-r--r--src/vagrant/kubeadm_istio/master_setup.sh23
27 files changed, 222 insertions, 23 deletions
diff --git a/INFO.yaml b/INFO.yaml
new file mode 100644
index 0000000..d34e421
--- /dev/null
+++ b/INFO.yaml
@@ -0,0 +1,59 @@
+---
+project: 'Container4NFV'
+project_creation_date: 'Dec 13, 2016'
+project_category: 'Integration & Testing'
+lifecycle_state: 'Incubation'
+project_lead: &opnfv_container4nfv_ptl
+primary_contact: *opnfv_container4nfv_ptl
+issue_tracking:
+ type: 'jira'
+ url: 'https://jira.opnfv.org/projects/[container4nfv]'
+ key: '[container4nfv]'
+mailing_list:
+ type: 'mailman2'
+ url: 'opnfv-tech-discuss@lists.opnfv.org'
+ tag: '[container4nfv]'
+realtime_discussion:
+ type: irc
+ server: 'freenode.net'
+ channel: '#opnfv-container4nfv'
+meetings:
+ - type: 'gotomeeting+irc'
+ agenda: # eg: 'https://wiki.opnfv.org/display/'
+ url: # eg: 'https://global.gotomeeting.com/join/819733085'
+ server: 'freenode.net'
+ channel: '#opnfv-meeting'
+ repeats: 'weekly'
+ time: # eg: '16:00 UTC'
+repositories:
+ - 'container4nfv'
+committers:
+ - <<: *opnfv_container4nfv_ptl
+ - name: 'Jack Chan'
+ email: 'chenjiankun1@huawei.com'
+ company: 'huawei.com'
+ id: 'chenjiankun'
+ - name: 'Gergely Csatari'
+ email: 'gergely.csatari@nokia.com'
+ company: 'nokia.com'
+ id: 'csatari'
+ - name: 'Jun Li'
+ email: 'lijun_1203@126.com'
+ company: '126.com'
+ id: 'MatthewLi'
+ - name: 'Ruijing Guo'
+ email: 'ruijing.guo@intel.com'
+ company: 'intel.com'
+ id: 'Ruijing'
+ - name: 'Xuan Jia'
+ email: 'jason.jiaxuan@gmail.com'
+ company: 'gmail.com'
+ id: 'xuanjia'
+ - name: 'peng yu'
+ email: 'yu.peng36@zte.com.cn'
+ company: 'zte.com.cn'
+ id: 'YuPengZTE'
+tsc:
+ # yamllint disable rule:line-length
+ approval: 'http//meetbot.opnfv.org/meetings/opnfv-meeting/2016/opnfv-meeting.2016-12-13-14.59.html'
+ # yamllint enable rule:line-length
diff --git a/src/helm-charts/clearwater/README.md b/src/helm-charts/clearwater/README.md
new file mode 100644
index 0000000..8a509de
--- /dev/null
+++ b/src/helm-charts/clearwater/README.md
@@ -0,0 +1,19 @@
+# Metaswitch Clearwater vIMS Chart
+
+Based on [Metaswitch's Clearwater](https://github.com/Metaswitch/clearwater-docker) k8s configuration.
+
+
+## Configuration
+
+The following tables lists the configurable parameters of the chart and their default values.
+
+
+Parameter | Description | Default
+--- | --- | ---
+`image.path` | dockerhub respository | `enriquetaso`
+`image.tag` | docker image tag | `latest`
+`config.configmaps` | Custom configmap | `env-vars`
+`config.zone` | Custom namespace | `default.svc.cluster.local`
+`config.ip` | MANDATORY: Should be repaced with external ip | `None`
+
+
diff --git a/src/helm-charts/clearwater/templates/NOTES.txt b/src/helm-charts/clearwater/templates/NOTES.txt
index 058b997..6756fa8 100644
--- a/src/helm-charts/clearwater/templates/NOTES.txt
+++ b/src/helm-charts/clearwater/templates/NOTES.txt
@@ -9,7 +9,7 @@ To learn more about the release, try:
The deployment exposes:
- - the Ellis web UI on {{ .Value.config.ip }}30080 for self-provisioning.
+ - the Ellis web UI on port 30080 for self-provisioning.
- STUN/TURN on port 3478 for media relay.
- SIP on port 5060 for service.
- SIP/WebSocket on port 5062 for service.
diff --git a/src/helm-charts/clearwater/templates/astaire-depl.yaml b/src/helm-charts/clearwater/templates/astaire-depl.yaml
index 14296b4..94c4855 100644
--- a/src/helm-charts/clearwater/templates/astaire-depl.yaml
+++ b/src/helm-charts/clearwater/templates/astaire-depl.yaml
@@ -8,6 +8,7 @@ spec:
metadata:
labels:
service: astaire
+ app: astaire
spec:
terminationGracePeriodSeconds: 120
containers:
diff --git a/src/helm-charts/clearwater/templates/astaire-svc.yaml b/src/helm-charts/clearwater/templates/astaire-svc.yaml
index 3c453b5..e82dcdd 100644
--- a/src/helm-charts/clearwater/templates/astaire-svc.yaml
+++ b/src/helm-charts/clearwater/templates/astaire-svc.yaml
@@ -4,7 +4,7 @@ metadata:
name: astaire
spec:
ports:
- - name: "snmp-astaire"
+ - name: "http-astaire"
port: 11311
selector:
service: astaire
diff --git a/src/helm-charts/clearwater/templates/bono-depl.yaml b/src/helm-charts/clearwater/templates/bono-depl.yaml
index 02dbe76..94020ed 100644
--- a/src/helm-charts/clearwater/templates/bono-depl.yaml
+++ b/src/helm-charts/clearwater/templates/bono-depl.yaml
@@ -12,6 +12,7 @@ spec:
labels:
service: bono
snmp: enabled
+ app: bono
spec:
containers:
- image: "{{ .Values.image.path }}/bono:{{ .Values.image.tag }}"
diff --git a/src/helm-charts/clearwater/templates/bono-svc.yaml b/src/helm-charts/clearwater/templates/bono-svc.yaml
index a63479d..3b3da5c 100644
--- a/src/helm-charts/clearwater/templates/bono-svc.yaml
+++ b/src/helm-charts/clearwater/templates/bono-svc.yaml
@@ -3,14 +3,25 @@ kind: Service
metadata:
name: bono
spec:
+ externalIPs:
+ - {{ .Values.config.ip }}
loadBalancerIP: {{ .Values.config.ip }}
- type: LoadBalancer
ports:
- - name: "3478"
+ - name: "tcp-3478"
port: 3478
- - name: "5060"
+ protocol: TCP
+ targetPort: 3478
+ - name: "tcp-5060"
port: 5060
- - name: "5062"
+ protocol: TCP
+ targetPort: 5060
+ - name: "tcp-5062"
port: 5062
+ protocol: TCP
+ targetPort: 5062
selector:
service: bono
+ sessionAffinity: None
+ type: ClusterIP
+status:
+ loadBalancer: {}
diff --git a/src/helm-charts/clearwater/templates/cassandra-depl.yaml b/src/helm-charts/clearwater/templates/cassandra-depl.yaml
index 03f2a2f..4a7f6c8 100644
--- a/src/helm-charts/clearwater/templates/cassandra-depl.yaml
+++ b/src/helm-charts/clearwater/templates/cassandra-depl.yaml
@@ -8,6 +8,7 @@ spec:
metadata:
labels:
service: cassandra
+ app: cassandra
spec:
containers:
- image: "{{ .Values.image.path }}/cassandra:{{ .Values.image.tag }}"
diff --git a/src/helm-charts/clearwater/templates/cassandra-svc.yaml b/src/helm-charts/clearwater/templates/cassandra-svc.yaml
index dbaa3c0..7cb9892 100644
--- a/src/helm-charts/clearwater/templates/cassandra-svc.yaml
+++ b/src/helm-charts/clearwater/templates/cassandra-svc.yaml
@@ -4,13 +4,13 @@ metadata:
name: cassandra
spec:
ports:
- - name: "7001"
+ - name: "http-7001"
port: 7001
- - name: "7000"
+ - name: "http-7000"
port: 7000
- - name: "9042"
+ - name: "http-9042"
port: 9042
- - name: "9160"
+ - name: "http-9160"
port: 9160
selector:
service: cassandra
diff --git a/src/helm-charts/clearwater/templates/chronos-depl.yaml b/src/helm-charts/clearwater/templates/chronos-depl.yaml
index 8ed8735..2f65ad8 100644
--- a/src/helm-charts/clearwater/templates/chronos-depl.yaml
+++ b/src/helm-charts/clearwater/templates/chronos-depl.yaml
@@ -10,6 +10,7 @@ spec:
metadata:
labels:
service: chronos
+ app: chronos
spec:
terminationGracePeriodSeconds: 120
containers:
diff --git a/src/helm-charts/clearwater/templates/chronos-svc.yaml b/src/helm-charts/clearwater/templates/chronos-svc.yaml
index 0c42126..3815b28 100644
--- a/src/helm-charts/clearwater/templates/chronos-svc.yaml
+++ b/src/helm-charts/clearwater/templates/chronos-svc.yaml
@@ -4,7 +4,7 @@ metadata:
name: chronos
spec:
ports:
- - name: "7253"
+ - name: "http-7253"
port: 7253
selector:
service: chronos
diff --git a/src/helm-charts/clearwater/templates/ellis-depl.yaml b/src/helm-charts/clearwater/templates/ellis-depl.yaml
index 8186829..e231bf1 100644
--- a/src/helm-charts/clearwater/templates/ellis-depl.yaml
+++ b/src/helm-charts/clearwater/templates/ellis-depl.yaml
@@ -8,6 +8,7 @@ spec:
metadata:
labels:
service: ellis
+ app: ellis
spec:
containers:
- image: "{{ .Values.image.path }}/ellis:{{ .Values.image.tag }}"
diff --git a/src/helm-charts/clearwater/templates/ellis-svc.yaml b/src/helm-charts/clearwater/templates/ellis-svc.yaml
index 68d2da0..60e24d5 100644
--- a/src/helm-charts/clearwater/templates/ellis-svc.yaml
+++ b/src/helm-charts/clearwater/templates/ellis-svc.yaml
@@ -5,7 +5,7 @@ metadata:
spec:
type: NodePort
ports:
- - name: "http"
+ - name: "http-ellis"
port: 80
nodePort: 30080
selector:
diff --git a/src/helm-charts/clearwater/templates/etcd-depl.yaml b/src/helm-charts/clearwater/templates/etcd-depl.yaml
index 3f1be7a..5d6e184 100644
--- a/src/helm-charts/clearwater/templates/etcd-depl.yaml
+++ b/src/helm-charts/clearwater/templates/etcd-depl.yaml
@@ -9,6 +9,7 @@ spec:
creationTimestamp: null
labels:
instance-type: etcd-pod
+ app: etcd-pod
spec:
containers:
- args:
diff --git a/src/helm-charts/clearwater/templates/etcd-svc.yaml b/src/helm-charts/clearwater/templates/etcd-svc.yaml
index 2df5b16..0c02b62 100644
--- a/src/helm-charts/clearwater/templates/etcd-svc.yaml
+++ b/src/helm-charts/clearwater/templates/etcd-svc.yaml
@@ -6,11 +6,11 @@ metadata:
instance-type: etcd-pod
spec:
ports:
- - name: "etcd-client"
+ - name: "http-etcd-client"
port: 2379
- - name: "etcd-server"
+ - name: "http-etcd-server"
port: 2380
- - name: "4001"
+ - name: "http-4001"
port: 4001
selector:
instance-type: etcd-pod
diff --git a/src/helm-charts/clearwater/templates/homer-depl.yaml b/src/helm-charts/clearwater/templates/homer-depl.yaml
index c5f5310..c9a292e 100644
--- a/src/helm-charts/clearwater/templates/homer-depl.yaml
+++ b/src/helm-charts/clearwater/templates/homer-depl.yaml
@@ -8,6 +8,7 @@ spec:
metadata:
labels:
service: homer
+ app: homer
spec:
containers:
- image: "{{ .Values.image.path }}/homer:{{ .Values.image.tag }}"
diff --git a/src/helm-charts/clearwater/templates/homer-svc.yaml b/src/helm-charts/clearwater/templates/homer-svc.yaml
new file mode 100644
index 0000000..8acc0ed
--- /dev/null
+++ b/src/helm-charts/clearwater/templates/homer-svc.yaml
@@ -0,0 +1,11 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: homer
+spec:
+ ports:
+ - name: "http-7888"
+ port: 7888
+ selector:
+ service: homer
+ clusterIP: None
diff --git a/src/helm-charts/clearwater/templates/homestead-depl.yaml b/src/helm-charts/clearwater/templates/homestead-depl.yaml
new file mode 100644
index 0000000..590ea51
--- /dev/null
+++ b/src/helm-charts/clearwater/templates/homestead-depl.yaml
@@ -0,0 +1,51 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: homestead
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ service: homestead
+ template:
+ metadata:
+ labels:
+ service: homestead
+ snmp: enabled
+ app: homestead
+ spec:
+ containers:
+ - image: "{{ .Values.image.path }}/homestead:{{ .Values.image.tag }}"
+ imagePullPolicy: Always
+ name: homestead
+ ports:
+ - containerPort: 22
+ - containerPort: 8888
+ envFrom:
+ - configMapRef:
+ name: env-vars
+ env:
+ - name: MY_POD_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ livenessProbe:
+ exec:
+ command: ["/bin/bash", "/usr/share/kubernetes/liveness.sh", "8888"]
+ initialDelaySeconds: 60
+ readinessProbe:
+ exec:
+ command: ["/bin/bash", "/usr/share/kubernetes/liveness.sh", "8888"]
+ volumeMounts:
+ - name: homesteadlogs
+ mountPath: /var/log/homestead
+ - image: busybox
+ name: tailer
+ command: [ "tail", "-F", "/var/log/homestead/homestead_current.txt" ]
+ volumeMounts:
+ - name: homesteadlogs
+ mountPath: /var/log/homestead
+ volumes:
+ - name: homesteadlogs
+ emptyDir: {}
+ restartPolicy: Always
diff --git a/src/helm-charts/clearwater/templates/homestead-prov-depl.yaml b/src/helm-charts/clearwater/templates/homestead-prov-depl.yaml
index 5532b12..ecf9f8d 100644
--- a/src/helm-charts/clearwater/templates/homestead-prov-depl.yaml
+++ b/src/helm-charts/clearwater/templates/homestead-prov-depl.yaml
@@ -12,6 +12,7 @@ spec:
labels:
service: homestead-prov
snmp: enabled
+ app: homestead-pro
spec:
containers:
- image: "{{ .Values.image.path }}/homestead-prov:{{ .Values.image.tag }}"
diff --git a/src/helm-charts/clearwater/templates/homestead-prov-svc.yaml b/src/helm-charts/clearwater/templates/homestead-prov-svc.yaml
index 8310302..4ce2dd9 100644
--- a/src/helm-charts/clearwater/templates/homestead-prov-svc.yaml
+++ b/src/helm-charts/clearwater/templates/homestead-prov-svc.yaml
@@ -4,7 +4,7 @@ metadata:
name: homestead-prov
spec:
ports:
- - name: "8889"
+ - name: "http-8889"
port: 8889
selector:
service: homestead-prov
diff --git a/src/helm-charts/clearwater/templates/homestead-svc.yaml b/src/helm-charts/clearwater/templates/homestead-svc.yaml
index 4015e81..7684d2e 100644
--- a/src/helm-charts/clearwater/templates/homestead-svc.yaml
+++ b/src/helm-charts/clearwater/templates/homestead-svc.yaml
@@ -4,7 +4,7 @@ metadata:
name: homestead
spec:
ports:
- - name: "8888"
+ - name: "http-8888"
port: 8888
selector:
service: homestead
diff --git a/src/helm-charts/clearwater/templates/ralf-depl.yaml b/src/helm-charts/clearwater/templates/ralf-depl.yaml
index 9227771..8efcc5e 100644
--- a/src/helm-charts/clearwater/templates/ralf-depl.yaml
+++ b/src/helm-charts/clearwater/templates/ralf-depl.yaml
@@ -12,6 +12,7 @@ spec:
labels:
service: ralf
snmp: enabled
+ app: ralf
spec:
containers:
- image: "{{ .Values.image.path }}/ralf:{{ .Values.image.tag }}"
diff --git a/src/helm-charts/clearwater/templates/ralf-svc.yaml b/src/helm-charts/clearwater/templates/ralf-svc.yaml
index 07ad51e..9fc44c3 100644
--- a/src/helm-charts/clearwater/templates/ralf-svc.yaml
+++ b/src/helm-charts/clearwater/templates/ralf-svc.yaml
@@ -4,7 +4,7 @@ metadata:
name: ralf
spec:
ports:
- - name: "10888"
+ - name: "http-10888"
port: 10888
selector:
service: ralf
diff --git a/src/helm-charts/clearwater/templates/sprout-depl.yaml b/src/helm-charts/clearwater/templates/sprout-depl.yaml
index 80f788e..da2989c 100644
--- a/src/helm-charts/clearwater/templates/sprout-depl.yaml
+++ b/src/helm-charts/clearwater/templates/sprout-depl.yaml
@@ -12,6 +12,7 @@ spec:
labels:
service: sprout
snmp: enabled
+ app: sprout
spec:
containers:
- image: "{{ .Values.image.path }}/sprout:{{ .Values.image.tag }}"
diff --git a/src/helm-charts/clearwater/templates/sprout-svc.yaml b/src/helm-charts/clearwater/templates/sprout-svc.yaml
index cf23a33..092a51c 100644
--- a/src/helm-charts/clearwater/templates/sprout-svc.yaml
+++ b/src/helm-charts/clearwater/templates/sprout-svc.yaml
@@ -4,9 +4,9 @@ metadata:
name: sprout
spec:
ports:
- - name: "5052"
+ - name: "http-5052"
port: 5052
- - name: "5054"
+ - name: "http-5054"
port: 5054
selector:
service: sprout
diff --git a/src/vagrant/kubeadm_istio/istio/deploy.sh b/src/vagrant/kubeadm_istio/istio/deploy.sh
index 051497c..3dd1426 100755
--- a/src/vagrant/kubeadm_istio/istio/deploy.sh
+++ b/src/vagrant/kubeadm_istio/istio/deploy.sh
@@ -37,15 +37,30 @@ source ~/.bashrc
kubectl apply -f install/kubernetes/istio.yaml
+# Install the sidecar injection configmap
+./install/kubernetes/webhook-create-signed-cert.sh \
+ --service istio-sidecar-injector \
+ --namespace istio-system \
+ --secret sidecar-injector-certs
+kubectl apply -f install/kubernetes/istio-sidecar-injector-configmap-release.yaml
+
+# Install the sidecar injector webhook
+cat install/kubernetes/istio-sidecar-injector.yaml | \
+ ./install/kubernetes/webhook-patch-ca-bundle.sh > \
+ install/kubernetes/istio-sidecar-injector-with-ca-bundle.yaml
+kubectl apply -f install/kubernetes/istio-sidecar-injector-with-ca-bundle.yaml
+kubectl -n istio-system get deployment -listio=sidecar-injector
+
# Validate the installation
kubectl get svc -n istio-system
kubectl get pods -n istio-system
+kubectl get namespace -L istio-injection
-r="0"
-while [ $r -ne "4" ]
+r="1"
+while [ $r -ne "0" ]
do
kubectl get pods -n istio-system
- r=$(kubectl get pods -n istio-system | grep Running | wc -l)
+ r=$(kubectl get pods -n istio-system | egrep -v 'NAME|Running' | wc -l)
sleep 60
done
diff --git a/src/vagrant/kubeadm_istio/master_setup.sh b/src/vagrant/kubeadm_istio/master_setup.sh
index b181582..f308244 100644
--- a/src/vagrant/kubeadm_istio/master_setup.sh
+++ b/src/vagrant/kubeadm_istio/master_setup.sh
@@ -2,9 +2,32 @@
set -ex
+ADMISSION_CONTROL="Initializers,NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,NodeRestriction,ResourceQuota"
+KUBE_APISERVER_CONF="/etc/kubernetes/manifests/kube-apiserver.yaml"
+
sudo kubeadm init --apiserver-advertise-address=192.168.1.10 --service-cidr=10.96.0.0/16 --pod-network-cidr=10.32.0.0/12 --token 8c5adc.1cec8dbf339093f0
mkdir ~/.kube
sudo cp /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f http://git.io/weave-kube-1.6
+
+# Enable mutating webhook admission controller
+# kube-apiserver will be automatically restarted by kubelet when its manifest file update.
+# https://istio.io/docs/setup/kubernetes/sidecar-injection.html
+sudo sed -i "s/admission-control=.*/admission-control=$ADMISSION_CONTROL/g" $KUBE_APISERVER_CONF
+
+set +e
+# wait for kube-apiserver restart
+r="1"
+while [ $r -ne "0" ]
+do
+ sleep 2
+ kubectl version > /dev/null
+ r=$?
+done
+set -e
+
+# check if admissionregistration.k8s.io/v1beta1 API is enabled
+kubectl api-versions | grep admissionregistration
+