X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=ric-aux%2F80-Auxiliary-Functions%2Fbin%2Finstall;h=b10b044b14c2f08a99c71eace099b2d7905a4c8e;hb=refs%2Fchanges%2F34%2F1234%2F9;hp=eae092cfa1ea2490845b624c361995aaaa6106af;hpb=ef05762e72bf0af584301bf58b2035f7ac4e3842;p=it%2Fdep.git diff --git a/ric-aux/80-Auxiliary-Functions/bin/install b/ric-aux/80-Auxiliary-Functions/bin/install index eae092cf..b10b044b 100755 --- a/ric-aux/80-Auxiliary-Functions/bin/install +++ b/ric-aux/80-Auxiliary-Functions/bin/install @@ -17,68 +17,115 @@ ################################################################################ -OVERRIDEYAML=$1 +while [ -n "$1" ]; do # while loop starts + case "$1" in -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" + -f) OVERRIDEYAML=$2 + shift + ;; + -c) LIST_OF_COMPONENTS=$2 + shift + ;; + *) echo "Option $1 not recognized" ;; # In case you typed a different option other than a,b,c + esac -source $DIR/../etc/aux.conf + shift -if [ -z "$RICAUX_RELEASE_NAME" ];then - RELEASE_NAME=$helm_release_name -else - RELEASE_NAME=$RICAUX_RELEASE_NAME -fi +done -# Namespace configuration -if [ -z "$RICPLT_NAMESPACE" ];then - PLT_NAMESPACE=$plt_namespace -else - PLT_NAMESPACE=$RICPLT_NAMESPACE -fi -if [ -z "$RICXAPP_NAMESPACE" ];then - XAPP_NAMESPACE=$xapp_namespace -else - XAPP_NAMESPACE=$RICXAPP_NAMESPACE -fi -if [ -z "$RICAUX_NAMESPACE" ];then - AUX_NAMESPACE=$aux_namespace -else - AUX_NAMESPACE=$RICAUX_NAMESPACE -fi -if [ -z "$RICINFRA_NAMESPACE" ];then - INFRA_NAMESPACE=$infra_namespace -else - INFRA_NAMESPACE=$RICINFRA_NAMESPACE + +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 -if [ -z "$RIC_COMMON_OVERRIDE" ];then - COMMON_OVERRIDE="--set global.namespace.platform=$PLT_NAMESPACE --set global.namespace.xapp=$XAPP_NAMESPACE --set global.namespace.aux=$AUX_NAMESPACE --set global.namespace.infra=$INFRA_NAMESPACE" -else - COMMON_OVERRIDE=$RIC_COMMON_OVERRIDE +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" +GLOBAL_BLOCK=$(cat $OVERRIDEYAML | awk '/^global:/{getline; while ($0 ~ /^ +.*|^ *$/) {print $0; if (getline == 0) {break}}}') +NAMESPACE_BLOCK=$(cat $OVERRIDEYAML | awk '/^ namespace:/{getline; while ($0 ~ /^ .*|^ *$/) {print $0; if (getline == 0) {break}}}') +NAMESPACE=$(echo "$NAMESPACE_BLOCK" | awk '/^ *aux:/{print $2}') +RELEASE_PREFIX=$(echo "$GLOBAL_BLOCK" | awk '/^ *releasePrefix:/{print $2}') +COMPONENTS=${LIST_OF_COMPONENTS:-"dashboard ves message-router mrsub mc-stack portal aaf"} + + +NODENAME=$(kubectl get node | awk 'NR>1{print $1}') +LABELFOUND=false +for f in $NODENAME; do + LABEL=$(kubectl describe node $f | grep local-storage) + if [ ! -z "$LABEL" ]; then + LABELFOUND=true + fi +done + +FOUND_STORAGECLASS=$(grep storageclass $OVERRIDEYAML) + + +if ! $LABELFOUND && [ -z "$FOUND_STORAGECLASS" ]; then + echo "***********************************************************************************************" + echo "* ERROR!!!!!!!!!!!!! *" + echo "***********************************************************************************************" + echo "* Nodes label \"local-storage=enable\" is not found in any of the cluster node. *" + echo "* Please pick a node and label it using the following command. *" + echo "* kubectl label --overwrite nodes local-storage=enable *" + echo "***********************************************************************************************" + + exit 1 fi -RICAUX_COMPONENTS="dashboard ves message-router" -echo "Deploying RIC AUX components [$RICAUX_COMPONENTS]" -echo "Helm Release Name: $RELEASE_NAME" +if [ -z "$FOUND_STORAGECLASS" ] && $LABELFOUND; then + DATAPATH=$(cat $DIR/../helm/dashboard/values.yaml | grep datapath | awk '{ print $2}' ) -COMMON_CHART_VERSION=$(cat $DIR/../../../ric-common/Common-Template/helm/ric-common/Chart.yaml | grep version | awk '{print $2}') + if [ ! -z $OVERRIDEYAML ]; then + DATAPATHOVERRIDE=$(cat $OVERRIDEYAML | grep datapath | awk '{ print $2}' ) + fi + + if [ ! -z "$DATAPATHOVERRIDE" ]; then + DATAPATH=$DATAPATHOVERRIDE + fi -helm package -d /tmp $DIR/../../../ric-common/Common-Template/helm/ric-common/ + if [ ! -d "$DATAPATH" ]; then + mkdir -p $DATAPATH || { echo "Directory $DATAPATH does not exist and you don't have permission to create it. Please choose a different datapath." ; exit 1 ; } + fi + echo "***********************************************************************************************" + echo "* WARNING!!!!!!!!!!!!! *" + echo "***********************************************************************************************" + echo "* Dashboard will use local storage. Please make sure that directory *" + echo "* $DATAPATH *" + echo "* contains the proper files. *" + echo "***********************************************************************************************" -for component in $RICAUX_COMPONENTS; do - echo "Preparing chart for comonent $component" +fi + +echo "Deploying RIC infra components [$COMPONENTS]" + +COMMON_CHART_VERSION=$(cat $DIR/../../../ric-common/Common-Template/helm/ric-common/Chart.yaml | grep version | awk '{print $2}') +helm package -d /tmp $DIR/../../../ric-common/Common-Template/helm/ric-common + + +for component in $COMPONENTS; do + case "$component" in + dashboard | ves | message-router | mrsub | mc-stack | portal) + mkdir -p $DIR/../helm/$component/charts/ + cp /tmp/ric-common-$COMMON_CHART_VERSION.tgz $DIR/../helm/$component/charts/ + helm install -f $OVERRIDEYAML --namespace "${NAMESPACE}" --name "${RELEASE_PREFIX}-$component" $DIR/../helm/$component + ;; + aaf) + mkdir -p $DIR/../helm/$component/charts/ + cp /tmp/ric-common-$COMMON_CHART_VERSION.tgz $DIR/../helm/$component/charts/ + helm install -f $OVERRIDEYAML --namespace "onap" --name "${RELEASE_PREFIX}-$component" $DIR/../helm/$component + ;; + *) + helm install --namespace "${NAMESPACE}" --name "${RELEASE_PREFIX}-$component" $DIR/../helm/$component + + esac - mkdir -p $DIR/../helm/$component/charts/ - cp /tmp/ric-common-$COMMON_CHART_VERSION.tgz $DIR/../helm/$component/charts/ - if [ -z $OVERRIDEYAML ]; then - helm install --namespace $AUX_NAMESPACE --name "${RELEASE_NAME}-$component" $COMMON_OVERRIDE $DIR/../helm/$component - else - helm install -f $OVERRIDEYAML --namespace $AUX_NAMESPACE --name "${RELEASE_NAME}-$component" $COMMON_OVERRIDE $DIR/../helm/$component - fi done