Merge "NONRTRIC-980: Service Manager - SMO deployment"
[it/dep.git] / bin / deploy-ric-platform
index b19a471..bce3726 100755 (executable)
 
 # This script deploys RIC platform components automatically
 
-OVERRIDEYAML=$1
+if [ "$#" -eq 1 ]; then
+    OVERRIDEYAML=$1
+else
 
-if [ -z "$OVERRIDEYAML" ];then
-echo "****************************************************************************************************************"
-echo "                                                     WARNING                                                    "
-echo "****************************************************************************************************************"
-echo "Deploying RIC platform without deployment recipe. Default configurations are used."
-echo "****************************************************************************************************************"
+    while [ -n "$1" ]; do # while loop starts
+
+        case "$1" in
+
+        -f) OVERRIDEYAML=$2
+            shift
+            ;;
+        *) echo "Option $1 not recognized" ;; # In case you typed a different option other than a,b,c
 
+        esac
 
+        shift
+
+    done
 fi
 
 
-ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
+if [ -z "$OVERRIDEYAML" ];then
+    echo "****************************************************************************************************************"
+    echo "                                                     ERROR                                                      "
+    echo "****************************************************************************************************************"
+    echo "RIC deployment without deployment recipe is currently disabled. Please specify an recipe with the -f option."
+    echo "****************************************************************************************************************"
+    exit 1
+fi
 
-source $ROOT_DIR/../etc/ric.conf
 
 
-export RICPLT_RELEASE_NAME=$helm_release_name
+ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
+#Check for helm3
+IS_HELM3=$(helm version -c --short|grep -e "^v3")
+
+if [ $IS_HELM3 ]
+then
+  # Check for servcm plugin
+  helm plugin list | grep -q "^servecm"
+  if [ $? -eq "1" ]
+  then
+    helm plugin install https://github.com/jdolitsky/helm-servecm
+  fi
+fi
+
+# Start Helm local repo if there isn't one
+HELM_REPO_PID=$(ps -x | grep  "helm serve" | grep -v "grep" | awk '{print $1}')
+if [ -z "$HELM_REPO_PID" ]; then
+    if [ -z $IS_HELM3 ]
+    then
+      nohup helm serve >& /dev/null &
+    else
+      echo EUID:$EUID
+      if [ $EUID -ne "0" ]
+         then 
+           echo "Error: Please run the command with sudo as helm servecm needs to copy a file in location needing privilege"
+           exit;
+         fi
+      eval $(helm env |grep HELM_REPOSITORY_CACHE)
+      echo yes > /tmp/ric-yes
+      nohup sudo sh -c "helm servecm --port=8879 --context-path=/charts  --storage local --storage-local-rootdir $HELM_REPOSITORY_CACHE/local/  < /tmp/ric-yes " &
+    fi
+fi
 
-export RICPLT_NAMESPACE=$plt_namespace
-export RICXAPP_NAMESPACE=$xapp_namespace
-export RICAUX_NAMESPACE=$aux_namespace
-export RICINFRA_NAMESPACE=$infra_namespace
+$ROOT_DIR/prepare-common-templates
 
-for component in $ROOT_DIR/../ric-platform/*/; do
-    # Will print */ if no directories are available
-    . $component/bin/install $OVERRIDEYAML
+$ROOT_DIR/../ric-dep/bin/install -f $OVERRIDEYAML
 
-done