Merge "Adding CustomResourceDefinition Job and StatefulSet."
[ric-plt/ric-dep.git] / bin / install
index eb95d93..3285d7f 100755 (executable)
@@ -2,6 +2,7 @@
 ################################################################################
 #   Copyright (c) 2019 AT&T Intellectual Property.                             #
 #   Copyright (c) 2019 Nokia.                                                  #
+#   Copyright (c) 2021 HCL Technologies Limited.                               #
 #                                                                              #
 #   Licensed under the Apache License, Version 2.0 (the "License");            #
 #   you may not use this file except in compliance with the License.           #
@@ -62,6 +63,7 @@ function wait_for_cats() {
 }
 
 KERNEL_OPTIMIZATION=false
+IS_HELM3=$(helm version --short|grep -e "^v3")
 
 while [ -n "$1" ]; do # while loop starts
 
@@ -92,7 +94,12 @@ if [ -z "$OVERRIDEYAML" ];then
     exit 1
 fi
 
-HAS_COMMON_PACKAGE=$(helm search local/ric-common | grep ric-common)
+if [ -z $IS_HELM3 ]
+then
+  HAS_COMMON_PACKAGE=$(helm search local/ric-common | grep ric-common)
+else 
+  HAS_COMMON_PACKAGE=$(helm search repo local/ric-common | grep ric-common)
+fi
 
 if [ -z "$HAS_COMMON_PACKAGE" ];then
     echo "****************************************************************************************************************"
@@ -112,11 +119,6 @@ XAPPNAMESPACE=$(echo "$NAMESPACE_BLOCK" | awk '/^ *xapp:/{print $2}')
 RELEASE_PREFIX=$(echo "$COMMON_BLOCK" | awk '/^ *releasePrefix:/{print $2}')
 LOCAL_REPOSITORY=$(echo "$COMMON_BLOCK" | awk '/^ *localregistry:/{print $2}')
 
-# replace the dbaasha with dbaas1 if deploying non HA DBaaS
-COMPONENTS=${LIST_OF_COMPONENTS:-"infrastructure dbaas xapp-onboarder appmgr rtmgr e2mgr e2term a1mediator submgr vespamgr jaegeradapter o1mediator alarmadapter"}
-echo "Deploying RIC infra components [$COMPONENTS]"
-
-
 if ! kubectl get ns ${PLTNAMESPACE:-ricplt}> /dev/null 2>&1; then
     kubectl create ns ${PLTNAMESPACE:-ricplt}
 fi
@@ -126,6 +128,32 @@ fi
 if ! kubectl get ns ${XAPPNAMESPACE:-ricxapp}> /dev/null 2>&1; then
     kubectl create ns ${XAPPNAMESPACE:-ricxapp}
 fi
+
+IS_INFLUX_PERSIST=$( kubectl get storageclass nfs 2>/dev/null | awk '{print $1}' | grep nfs)
+if [[ ${LIST_OF_COMPONENTS} == *"influxdb"* ]]; then
+       if [ -z "$IS_INFLUX_PERSIST" ]; then
+               echo  "nfs storage does not exist, create PersistentVolume through the storage class for the influxdb database"
+               LIST_OF_COMPONENTS=$(echo "$LIST_OF_COMPONENTS" | sed "s/influxdb//")
+            echo "skipping influxdb component"
+       else
+               echo "nfs storage exist"
+        fi
+fi
+
+# replace the dbaasha with dbaas1 if deploying non HA DBaaS
+COMPONENTS="infrastructure dbaas appmgr rtmgr e2mgr e2term a1mediator submgr vespamgr o1mediator alarmmanager $LIST_OF_COMPONENTS"
+
+echo "Deploying RIC infra components [$COMPONENTS]"
+if [[ ${COMPONENTS} != *"influxdb"* ]]; then
+        OPTIONAL_COMPONENTS="influxdb"
+fi
+if [[ ${COMPONENTS} != *"jaegeradapter"* ]]; then
+        OPTIONAL_COMPONENTS={"$OPTIONAL_COMPONENTS jaegeradapter"}
+fi
+if [ ! -z "$OPTIONAL_COMPONENTS" ]; then
+        echo "Note that the following optional components are NOT being deployed: $OPTIONAL_COMPONENTS. To deploy them add them with -c to the default component list of the install command"
+fi
+
 FOUND_RECIPE=$(kubectl get configmap -n ${PLTNAMESPACE:-ricplt} ricplt-recipe 2>/dev/null )
 if [ ! -z "$FOUND_RECIPE" ]; then
     kubectl delete configmap -n ${PLTNAMESPACE:-ricplt} ricplt-recipe
@@ -218,8 +246,12 @@ subjects:
     name: tiller
     namespace: kube-system
 EOF
-kubectl apply -f ricplt-role.yaml
-rm ricplt-role.yaml
+
+if [ -z $IS_HELM3 ]
+then
+   kubectl apply -f ricplt-role.yaml
+   rm ricplt-role.yaml
+fi
 
 
 # Add kernel optimization for radis services
@@ -275,10 +307,14 @@ kubectl delete -f kernel_optimizer.yaml
 rm kernel_optimizer.yaml
 fi
 
-
 for component in $COMPONENTS; do
     helm dep up $DIR/../helm/$component
-    helm install -f $OVERRIDEYAML --namespace "${PLTNAMESPACE:-ricplt}" --name "${RELEASE_PREFIX}-$component" $DIR/../helm/$component
+    COMPONENT="${RELEASE_PREFIX}-$component"
+    if [ -z $IS_HELM3 ]
+    then
+      COMPONENT=" --name $COMPONENT"
+    fi
+    helm install -f $OVERRIDEYAML --namespace "${PLTNAMESPACE:-ricplt}" $COMPONENT $DIR/../helm/$component
     sleep 8
 done