Merge "Add helm chart for NONRTRIC rAPP Catalogue"
authorZhe Huang <zhehuang@research.att.com>
Fri, 11 Dec 2020 01:32:36 +0000 (01:32 +0000)
committerGerrit Code Review <gerrit@o-ran-sc.org>
Fri, 11 Dec 2020 01:32:36 +0000 (01:32 +0000)
1  2 
bin/deploy-nonrtric
nonrtric/bin/install
nonrtric/bin/uninstall

diff --combined bin/deploy-nonrtric
@@@ -50,62 -50,25 +50,62 @@@ f
  
  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
 -    nohup helm serve >& /dev/null &
 +    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
  
 +
  $ROOT_DIR/prepare-common-templates
  
- COMPONENTS=${LIST_OF_COMPONENTS:-"controlpanel a1controller a1simulator policymanagementservice enrichmentservice"}
+ COMPONENTS=${LIST_OF_COMPONENTS:-"controlpanel a1controller a1simulator policymanagementservice enrichmentservice rappcatalogueservice"}
  echo "Packaging NONRTRIC components [$COMPONENTS]"
 +# Package common templates and serve it using Helm local repo
 +HELM_LOCAL_REPO=""
 +if [ $IS_HELM3 ]
 +then
 +  eval $(helm env |grep HELM_REPOSITORY_CACHE)
 +  HELM_LOCAL_REPO="${HELM_REPOSITORY_CACHE}/local/"
 +else
 +  HELM_HOME=$(helm home)
 +  HELM_LOCAL_REPO="${HELM_HOME}/repository/local/"
 +fi
  
  for component in $COMPONENTS; do
      helm dep up $ROOT_DIR/../nonrtric/helm/$component
      VERSION=$(cat $ROOT_DIR/../nonrtric/helm/$component/Chart.yaml | grep version | awk '{print $2}')
      helm package -d /tmp $ROOT_DIR/../nonrtric/helm/$component
 -    cp /tmp/$component-$VERSION.tgz $HELM_HOME/repository/local/
 +    cp /tmp/$component-$VERSION.tgz ${HELM_LOCAL_REPO}
  done
  
 -helm repo index $HELM_HOME/repository/local/
 +helm repo index ${HELM_LOCAL_REPO}
  
  # Make sure that helm local repo is added
  helm repo remove local
diff --combined nonrtric/bin/install
@@@ -15,7 -15,7 +15,7 @@@
  #   limitations under the License.                                             #
  ################################################################################
  
 -
 +IS_HELM3=$(helm version -c --short|grep -e "^v3")
  while [ -n "$1" ]; do # while loop starts
  
      case "$1" in
@@@ -52,7 -52,7 +52,7 @@@ NAMESPACE_BLOCK=$(cat $OVERRIDEYAML | a
  NONRTRIC_NAMESPACE=$(echo "$NAMESPACE_BLOCK" | awk '/^ *nonrtric:/{print $2}')
  RELEASE_PREFIX=$(echo "$COMMON_BLOCK" | awk '/^ *releasePrefix:/{print $2}')
  PARENT_CHART=$(cat $OVERRIDEYAML | awk '/^ *component:/{print $2}')
- COMPONENTS=${LIST_OF_COMPONENTS:-"controlpanel a1controller a1simulator policymanagementservice enrichmentservice nonrtric"}
+ COMPONENTS=${LIST_OF_COMPONENTS:-"controlpanel a1controller a1simulator policymanagementservice enrichmentservice nonrtric rappcatalogueservice"}
  echo "Chart name- $PARENT_CHART"
  
  if ! kubectl get ns ${NONRTRIC_NAMESPACE:-nonrtric}> /dev/null 2>&1; then
@@@ -69,10 -69,5 +69,10 @@@ echo "Deploying NONRTRIC components [$C
  echo "Updating the Parent Chart [$PARENT_CHART]"
  helm dep up $DIR/../helm/$PARENT_CHART
  
 -helm install $DIR/../helm/"${PARENT_CHART}" -f $OVERRIDEYAML --namespace "${NONRTRIC_NAMESPACE:-nonrtric}" --name "${RELEASE_PREFIX}"
 +HELM_NAME_OPT=""
 +if [ -z $IS_HELM3 ];then
 +   HELM_NAME_OPT="--name"
 +fi    
 +
 +helm install $DIR/../helm/"${PARENT_CHART}" -f $OVERRIDEYAML --namespace "${NONRTRIC_NAMESPACE:-nonrtric}" ${HELM_NAME_OPT} "${RELEASE_PREFIX}"
  
diff --combined nonrtric/bin/uninstall
@@@ -16,7 -16,7 +16,7 @@@
  ################################################################################
  
  
- COMPONENTS="controlpanel a1controller a1simulator policymanagementservice enrichmentservice"
+ COMPONENTS="controlpanel a1controller a1simulator policymanagementservice enrichmentservice rappcatalogueservice"
  RECIPE_NAMESPACE=$(kubectl get cm --all-namespaces | grep nonrtric-recipe | awk '{print $1}')
  kubectl get configmap  -n $RECIPE_NAMESPACE nonrtric-recipe  -o jsonpath='{.data.recipe}' > /tmp/recipe.yaml
  
@@@ -32,16 -32,7 +32,16 @@@ RELEASE_PREFIX=$(echo "$COMMON_BLOCK" 
  
  echo "Undeploying NONRTRIC components [$COMPONENTS]"
  
 -helm delete --purge ${RELEASE_PREFIX}
 +IS_HELM3=$(helm version -c --short|grep -e "^v3")
 +HELM_FLAG=''
 +if [ $IS_HELM3 ]
 +then
 +  HELM_FLAG=' -n '${NONRTRIC_NAMESPACE:-nonrtric}
 +else
 +  HELM_FLAG='--purge'
 +fi
 +
 +helm delete ${HELM_FLAG} ${RELEASE_PREFIX}
  
  kubectl delete cm -n ${NONRTRIC_NAMESPACE:-nonrtric} nonrtric-recipe