summaryrefslogtreecommitdiffstats
path: root/kubernetes/oneclick
diff options
context:
space:
mode:
Diffstat (limited to 'kubernetes/oneclick')
-rwxr-xr-xkubernetes/oneclick/createAll.bash46
-rwxr-xr-xkubernetes/oneclick/deleteAll.bash23
-rw-r--r--kubernetes/oneclick/setenv.bash8
3 files changed, 66 insertions, 11 deletions
diff --git a/kubernetes/oneclick/createAll.bash b/kubernetes/oneclick/createAll.bash
index 6e62c6bec4..bc211eeb47 100755
--- a/kubernetes/oneclick/createAll.bash
+++ b/kubernetes/oneclick/createAll.bash
@@ -1,11 +1,14 @@
#!/bin/bash
+. $(dirname "$0")/setenv.bash
+
usage() {
cat <<EOF
Usage: $0 [PARAMs]
-u : Display usage
-n [NAMESPACE] : Kubernetes namespace (required)
-s false : Exclude services (default: true)
+-i [INSTANCE] : ONAP deployment instance # (default: 1)
-a [APP] : Specify a specific ONAP component (default: all)
from the following choices:
sdc, aai ,mso, message-router, robot,
@@ -17,16 +20,27 @@ create_namespace() {
kubectl create namespace $1-$2
}
+create_registry_key() {
+ kubectl --namespace $1-$2 create secret docker-registry $3 --docker-server=$4 --docker-username=$5 --docker-password=$6 --docker-email=$7
+}
+
create_service() {
+ sed -i -- 's/nodePort: [0-9]\{2\}[02468]\{1\}/nodePort: '"$3"'/g' ../$2/all-services.yaml
+ sed -i -- 's/nodePort: [0-9]\{2\}[13579]\{1\}/nodePort: '"$4"'/g' ../$2/all-services.yaml
kubectl --namespace $1-$2 create -f ../$2/all-services.yaml
+ mv ../$2/all-services.yaml-- ../$2/all-services.yaml
}
#MAINs
NS=
INCL_SVC=true
APP=
+INSTANCE=1
+MAX_INSTANCE=5
+DU=$ONAP_DOCKER_USER
+DP=$ONAP_DOCKER_PASS
-while getopts ":n:u:s:a:" PARAM; do
+while getopts ":n:u:s:i:a:du:dp:" PARAM; do
case $PARAM in
u)
usage
@@ -38,6 +52,9 @@ while getopts ":n:u:s:a:" PARAM; do
s)
INCL_SVC=${OPTARG}
;;
+ i)
+ INSTANCE=${OPTARG}
+ ;;
a)
APP=${OPTARG}
if [[ -z $APP ]]; then
@@ -45,6 +62,12 @@ while getopts ":n:u:s:a:" PARAM; do
exit 1
fi
;;
+ du)
+ DU=${OPTARG}
+ ;;
+ dp)
+ DP=${OPTARG}
+ ;;
?)
usage
exit
@@ -59,8 +82,20 @@ fi
if [[ ! -z "$APP" ]]; then
ONAP_APPS=($APP)
-else
- ONAP_APPS=('sdc' 'aai' 'mso' 'message-router' 'robot' 'vid' 'sdnc' 'portal' 'policy' 'appc')
+fi
+
+if [[ "$INCL_SVC" == true ]]; then
+
+ if [ "$INSTANCE" -gt "$MAX_INSTANCE" ];then
+ printf "\n********** You choose to create ${INSTANCE}th instance of ONAP \n"
+ printf "\n********** Due to port allocation only ${MAX_INSTANCE} instances of ONAP is allowed per kubernetes deployment\n"
+ exit 1
+ fi
+
+ start=$((300+2*INSTANCE))
+ end=$((start+1))
+ printf "\n********** Creating instance ${INSTANCE} of ONAP with port range ${start}00 and ${end}99\n"
+
fi
printf "\n********** Creating up ONAP: ${ONAP_APPS[*]}\n"
@@ -71,7 +106,7 @@ for i in ${ONAP_APPS[@]}; do
if [[ "$INCL_SVC" == true ]]; then
printf "\nCreating services **********\n"
- create_service $NS $i
+ create_service $NS $i $start $end
fi
printf "\n"
@@ -79,7 +114,8 @@ done
printf "\n\n********** Creating deployments for ${ONAP_APPS[*]} ********** \n"
for i in ${ONAP_APPS[@]}; do
+ create_registry_key $NS $i $ONAP_DOCKER_REGISTRY_KEY $ONAP_DOCKER_REGISTRY $DU $DP $ONAP_DOCKER_MAIL
/bin/bash $i.sh $NS $i 'create'
done
-printf "**** Done ****"
+printf "\n**** Done ****\n"
diff --git a/kubernetes/oneclick/deleteAll.bash b/kubernetes/oneclick/deleteAll.bash
index 8d145f945a..3d54aa80ae 100755
--- a/kubernetes/oneclick/deleteAll.bash
+++ b/kubernetes/oneclick/deleteAll.bash
@@ -1,6 +1,19 @@
#!/bin/bash
+
+. $(dirname "$0")/setenv.bash
+
delete_namespace() {
- kubectl delete namespace $1-$2
+ _NS=$1-$2
+ kubectl delete namespace $_NS
+ printf "Waiting for namespace $_NS termination...\n"
+ while kubectl get namespaces $_NS > /dev/null 2>&1; do
+ sleep 2
+ done
+ printf "Namespace $_NS deleted.\n\n"
+}
+
+delete_registry_key() {
+ kubectl --namespace $1-$2 delete secret onap-docker-registry-key
}
delete_service() {
@@ -58,23 +71,21 @@ fi
if [[ ! -z "$APP" ]]; then
ONAP_APPS=($APP)
-else
- ONAP_APPS=('sdc' 'aai' 'mso' 'message-router' 'robot' 'vid' 'sdnc' 'portal' 'policy' 'appc')
fi
printf "\n********** Cleaning up ONAP: ${ONAP_APPS[*]}\n"
for i in ${ONAP_APPS[@]}; do
+ # delete the deployments
+ /bin/bash $i.sh $NS $i 'delete'
+
if [[ "$INCL_SVC" == true ]]; then
printf "\nDeleting services **********\n"
delete_service $NS $i
delete_namespace $NS $i
fi
- # delete the deployments
- /bin/bash $i.sh $NS $i 'delete'
-
done
diff --git a/kubernetes/oneclick/setenv.bash b/kubernetes/oneclick/setenv.bash
new file mode 100644
index 0000000000..05a0d4760a
--- /dev/null
+++ b/kubernetes/oneclick/setenv.bash
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+ONAP_APPS=('sdc' 'aai' 'mso' '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}
+ONAP_DOCKER_PASS=${ONAP_DOCKER_PASS:-docker}
+ONAP_DOCKER_MAIL=${ONAP_DOCKER_MAIL:-$USERNAME@$USERDOMAIN}