X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=ric-infra%2F15-Chartmuseum%2Fbin%2Finstall;h=572ae3ee01eda3735c0a5a0ce9f3bb694b756751;hb=refs%2Ftags%2F0.0.1;hp=ae097feaa358af0d588ce4215abbdcd3cd614416;hpb=b0d610ef0ba334c963cac6e2f3423657fda803dd;p=it%2Fdep.git diff --git a/ric-infra/15-Chartmuseum/bin/install b/ric-infra/15-Chartmuseum/bin/install index ae097fea..572ae3ee 100755 --- a/ric-infra/15-Chartmuseum/bin/install +++ b/ric-infra/15-Chartmuseum/bin/install @@ -17,78 +17,104 @@ ################################################################################ -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 -source $DIR/../etc/chartmuseum.conf + esac -if [ -z "$RICINFRA_RELEASE_NAME" ];then - RELEASE_NAME=$helm_release_name -else - RELEASE_NAME=$RICINFRA_RELEASE_NAME -fi -# 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 + shift + +done + + +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 '/^ *infra:/{print $2}') +RELEASE_PREFIX=$(echo "$GLOBAL_BLOCK" | awk '/^ *releasePrefix:/{print $2}') +COMPONENTS=${LIST_OF_COMPONENTS:-"chartmuseum"} + + +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 +if [ -z "$FOUND_STORAGECLASS" ] && $LABELFOUND; then + DATAPATH=$(cat $DIR/../helm/chartmuseum/values.yaml | grep datapath | awk '{ print $2}' ) -NODENAME=$(kubectl get node | awk 'NR==2{print $1}') -kubectl label --overwrite nodes $NODENAME helm-node=enable + if [ ! -z $OVERRIDEYAML ]; then + DATAPATHOVERRIDE=$(cat $OVERRIDEYAML | grep datapath | awk '{ print $2}' ) + fi -DIRTEMP=$DIR -. "$DIR/clear_data_path" -DIR=$DIRTEMP + if [ ! -z "$DATAPATHOVERRIDE" ]; then + DATAPATH=$DATAPATHOVERRIDE + fi + 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 -RICINFRA_COMPONENTS="chartmuseum" -mkdir -p /tmp/chartmuseum-data + echo "***********************************************************************************************" + echo "* WARNING!!!!!!!!!!!!! *" + echo "***********************************************************************************************" + echo "* Chartmuseume will use local storage. Please make sure that directory *" + echo "* $DATAPATH *" + echo "* contains the proper files. *" + echo "***********************************************************************************************" +fi -echo "Deploying RIC infra components [$RICINFRA_COMPONENTS]" -echo "Helm Release Name: $RELEASE_NAME" +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 $RICINFRA_COMPONENTS; do +for component in $COMPONENTS; do mkdir -p $DIR/../helm/$component/charts/ - cp /tmp/ric-common-$COMMON_CHART_VERSION.tgz $DIR/../helm/$component/charts/ - - if [ -z $OVERRIDEYAML ]; then - helm install --debug --namespace "${INFRA_NAMESPACE}" --name "${RELEASE_NAME}-$component" $COMMON_OVERRIDE $DIR/../helm/$component - else - helm install -f $OVERRIDEYAML --namespace "${INFRA_NAMESPACE}" --name "${RELEASE_NAME}-$component" $COMMON_OVERRIDE $DIR/../helm/$component - fi + helm install -f $OVERRIDEYAML --namespace "${NAMESPACE}" --name "${RELEASE_PREFIX}-$component" $DIR/../helm/$component done