summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkerenj <keren.joseph@amdocs.com>2017-08-22 15:27:04 +0000
committerBorislav Glozman <Borislav.Glozman@amdocs.com>2017-08-22 16:28:10 +0000
commit74d723a8696a22dcbe8c0eee131540b45822a1af (patch)
tree9b490a4a39bb8bb1832fc1327234a2166da1e8a4
parente94258e3be0da3a15680de53b1817490c4173759 (diff)
MSO K8S-Helm Parameterization
changed MSO k8s deployment to support helm parameterization Issue-ID: OOM-52 Change-Id: Ifb192ee2d417aae6b0bdd05d662229e3542e7944 Signed-off-by: kerenj <keren.joseph@amdocs.com>
-rw-r--r--kubernetes/README_HELM20
-rw-r--r--kubernetes/mso/Chart.yaml4
-rw-r--r--kubernetes/mso/templates/all-services.yaml (renamed from kubernetes/mso/all-services.yaml)2
-rw-r--r--kubernetes/mso/templates/db-deployment.yaml (renamed from kubernetes/mso/db-deployment.yaml)8
-rw-r--r--kubernetes/mso/templates/mso-deployment.yaml (renamed from kubernetes/mso/mso-deployment.yaml)12
-rw-r--r--kubernetes/mso/values.yaml7
-rwxr-xr-xkubernetes/oneclick/createAll.bash40
-rwxr-xr-xkubernetes/oneclick/deleteAll.bash11
-rw-r--r--kubernetes/oneclick/setenv.bash3
9 files changed, 93 insertions, 14 deletions
diff --git a/kubernetes/README_HELM b/kubernetes/README_HELM
new file mode 100644
index 0000000000..c1d5fdf432
--- /dev/null
+++ b/kubernetes/README_HELM
@@ -0,0 +1,20 @@
+Prerequisites:
+- K8s
+- Helm
+
+In order to use Helm with Rancher, check the tiller version installed
+by runing "helm version" on the ranchr CLI
+and install the appropriate Helm.
+Notice both tiller and helm are installed,
+but you will need to install on your VM.
+
+charts were tested with the following setup:
+ Rancher Release v1.6.7
+ k8s version 1.7.2
+ Helm/Tiller version v2.3.0
+also tested on:
+ k8s version v1.5.2
+ Helm/Tiller v2.6.0
+
+Download Helm:
+https://github.com/kubernetes/helm
diff --git a/kubernetes/mso/Chart.yaml b/kubernetes/mso/Chart.yaml
new file mode 100644
index 0000000000..ad01a78d2d
--- /dev/null
+++ b/kubernetes/mso/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: A Helm chart for Kubernetes
+name: mso
+version: 0.1.0
diff --git a/kubernetes/mso/all-services.yaml b/kubernetes/mso/templates/all-services.yaml
index 881ebba4a9..6e2db71650 100644
--- a/kubernetes/mso/all-services.yaml
+++ b/kubernetes/mso/templates/all-services.yaml
@@ -2,6 +2,7 @@ apiVersion: v1
kind: Service
metadata:
name: mariadb
+ namespace: {{ .Values.NS }}
labels:
app: mariadb
spec:
@@ -16,6 +17,7 @@ apiVersion: v1
kind: Service
metadata:
name: mso
+ namespace: {{ .Values.NS }}
labels:
app: mso
spec:
diff --git a/kubernetes/mso/db-deployment.yaml b/kubernetes/mso/templates/db-deployment.yaml
index f57f4bac87..ff1cf75350 100644
--- a/kubernetes/mso/db-deployment.yaml
+++ b/kubernetes/mso/templates/db-deployment.yaml
@@ -2,6 +2,7 @@ apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: mariadb
+ namespace: {{ .Values.NS }}
spec:
replicas: 1
selector:
@@ -16,7 +17,8 @@ spec:
hostname: mariadb
containers:
- args:
- image: nexus3.onap.org:10001/mariadb:10.1.11
+ image: {{ .Values.image.mariadb }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
name: "mariadb"
env:
- name: MYSQL_ROOT_PASSWORD
@@ -41,9 +43,9 @@ spec:
volumes:
- name: mso-mariadb-conf
hostPath:
- path: /dockerdata-nfs/onapdemo/mso/mariadb/conf.d
+ path: /dockerdata-nfs/onap/mso/mariadb/conf.d
- name: mso-mariadb-docker-entrypoint-initdb
hostPath:
- path: /dockerdata-nfs/onapdemo/mso/mariadb/docker-entrypoint-initdb.d
+ path: /dockerdata-nfs/onap/mso/mariadb/docker-entrypoint-initdb.d
imagePullSecrets:
- name: onap-docker-registry-key
diff --git a/kubernetes/mso/mso-deployment.yaml b/kubernetes/mso/templates/mso-deployment.yaml
index fb052df734..6f12769d5a 100644
--- a/kubernetes/mso/mso-deployment.yaml
+++ b/kubernetes/mso/templates/mso-deployment.yaml
@@ -2,6 +2,7 @@ apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: mso
+ namespace: {{ .Values.NS }}
spec:
replicas: 1
selector:
@@ -33,8 +34,8 @@ spec:
}
}
],
- "image": "oomk8s/readiness-check:1.0.0",
- "imagePullPolicy": "Always",
+ "image": "{{ .Values.image.readiness }}",
+ "imagePullPolicy": "{{ .Values.pullPolicy }}",
"name": "mso-readiness"
}
]'
@@ -42,7 +43,8 @@ spec:
containers:
- command:
- /docker-files/scripts/start-jboss-server.sh
- image: nexus3.onap.org:10001/openecomp/mso:1.0-STAGING-latest
+ image: {{ .Values.image.mso }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
name: mso
volumeMounts:
- mountPath: /shared
@@ -66,9 +68,9 @@ spec:
volumes:
- name: mso
hostPath:
- path: /dockerdata-nfs/onapdemo/mso/mso
+ path: /dockerdata-nfs/onap/mso/mso
- name: mso-docker-files
hostPath:
- path: /dockerdata-nfs/onapdemo/mso/docker-files
+ path: /dockerdata-nfs/onap/mso/docker-files
imagePullSecrets:
- name: onap-docker-registry-key
diff --git a/kubernetes/mso/values.yaml b/kubernetes/mso/values.yaml
new file mode 100644
index 0000000000..41f9677029
--- /dev/null
+++ b/kubernetes/mso/values.yaml
@@ -0,0 +1,7 @@
+NS: onap-mso
+pullPolicy: IfNotPresent
+image:
+ readiness: oomk8s/readiness-check:1.0.0
+ mso: nexus3.onap.org:10001/openecomp/mso:1.0-STAGING-latest
+ mariadb: nexus3.onap.org:10001/mariadb:10.1.11
+
diff --git a/kubernetes/oneclick/createAll.bash b/kubernetes/oneclick/createAll.bash
index 5e5f2dc76e..82956b8e7b 100755
--- a/kubernetes/oneclick/createAll.bash
+++ b/kubernetes/oneclick/createAll.bash
@@ -2,6 +2,7 @@
. $(dirname "$0")/setenv.bash
+
usage() {
cat <<EOF
Usage: $0 [PARAMs]
@@ -31,13 +32,25 @@ create_service() {
mv ../$2/all-services.yaml-- ../$2/all-services.yaml
}
+
+create_onap_helm() {
+ helm install ../$2/ --name $2
+}
+
configure_app() {
# if previous configuration exists put back original template file
- for file in ../$2/*.yaml; do
+ for file in $3/*.yaml; do
if [ -e "$file-template" ]; then
mv "$file-template" "${file%}"
fi
done
+
+ if [ -e "$2/Chart.yaml" ]; then
+ sed -i -- 's/nodePort: [0-9]\{2\}[02468]\{1\}/nodePort: '"$4"'/g' $3/all-services.yaml
+ sed -i -- 's/nodePort: [0-9]\{2\}[13579]\{1\}/nodePort: '"$5"'/g' $3/all-services.yaml
+ sed -i "s/onap-/$1-/g" ../$2/values.yaml
+ fi
+
# replace the default 'onap' namespace qualification of K8s hostnames within
# the config files
@@ -45,11 +58,11 @@ configure_app() {
# this is not ideal and should be addressed (along with the replacement
# of sed commands for configuration) by the future configuration
# user stories (ie. OOM-51 to OOM-53)
- find ../$2 -type f -exec sed -i -template "s/onap-/$1-/g" {} \;
+ find $3 -type f -exec sed -i -- "s/onap-/$1-/g" {} \;
# replace the default '/dockerdata-nfs/onapdemo' volume mount paths
- find ../$2 -iname "*.yaml" -type f -exec sed -i -e 's/dockerdata-nfs\/[a-zA-Z0-9\\-]*\//dockerdata-nfs\/'"$1"'\//g' {} \;
- rm -f ../$2/*.yaml-e
+ find $3 -iname "*.yaml" -type f -exec sed -i -e 's/dockerdata-nfs\/[a-zA-Z0-9\\-]*\//dockerdata-nfs\/'"$1"'\//g' {} \;
+ rm -f $3/*.yaml-e
}
@@ -139,8 +152,25 @@ done
printf "\n\n********** Creating deployments for ${ONAP_APPS[*]} ********** \n"
for i in ${ONAP_APPS[@]}; do
- configure_app $NS $i
+ _FILES_PATH=$(echo ../$i)
+ configure_app $NS $i $_FILES_PATH $start $end
/bin/bash $i.sh $NS $i 'create'
done
+for i in ${HELM_APPS[@]}; do
+ printf "\nCreating namespace **********\n"
+ create_namespace $NS $i
+
+ printf "\nCreating registry secret **********\n"
+ create_registry_key $NS $i $ONAP_DOCKER_REGISTRY_KEY $ONAP_DOCKER_REGISTRY $DU $DP $ONAP_DOCKER_MAIL
+
+ printf "\nCreating deployments and services **********\n"
+ _FILES_PATH=$(echo ../$i/templates)
+ configure_app $NS $i $_FILES_PATH $start $end
+ create_onap_helm $NS $i
+
+ printf "\n"
+done
+
printf "\n**** Done ****\n"
+
diff --git a/kubernetes/oneclick/deleteAll.bash b/kubernetes/oneclick/deleteAll.bash
index 3d54aa80ae..ad7f060d12 100755
--- a/kubernetes/oneclick/deleteAll.bash
+++ b/kubernetes/oneclick/deleteAll.bash
@@ -20,6 +20,10 @@ delete_service() {
kubectl --namespace $1-$2 delete -f ../$2/all-services.yaml
}
+delete_app_helm() {
+ helm delete $1 --purge
+}
+
usage() {
cat <<EOF
Usage: $0 [PARAMs]
@@ -88,5 +92,12 @@ for i in ${ONAP_APPS[@]}; do
done
+for i in ${HELM_APPS[@]}; do
+
+ delete_app_helm $i
+ delete_namespace $NS $i
+
+done
+
printf "\n********** Gone **********\n"
diff --git a/kubernetes/oneclick/setenv.bash b/kubernetes/oneclick/setenv.bash
index 05a0d4760a..eb9bdb206c 100644
--- a/kubernetes/oneclick/setenv.bash
+++ b/kubernetes/oneclick/setenv.bash
@@ -1,6 +1,7 @@
#!/bin/bash
-ONAP_APPS=('sdc' 'aai' 'mso' 'message-router' 'robot' 'vid' 'sdnc' 'portal' 'policy' 'appc')
+HELM_APPS=('mso')
+ONAP_APPS=('sdc' 'aai' 'message-router' 'robot' 'vid' 'sdnc' 'portal' 'policy' 'appc')
ONAP_DOCKER_REGISTRY_KEY=${ONAP_DOCKER_REGISTRY_KEY:-onap-docker-registry-key}
ONAP_DOCKER_REGISTRY=${ONAP_DOCKER_REGISTRY:-nexus3.onap.org:10001}
ONAP_DOCKER_USER=${ONAP_DOCKER_USER:-docker}