| #!/bin/bash |
| ################################################################################ |
| # Copyright (c) 2023 Nordix Foundation. # |
| # Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved. # |
| # # |
| # Licensed under the Apache License, Version 2.0 (the "License"); # |
| # you may not use this file except in compliance with the License. # |
| # You may obtain a copy of the License at # |
| # # |
| # http://www.apache.org/licenses/LICENSE-2.0 # |
| # # |
| # Unless required by applicable law or agreed to in writing, software # |
| # distributed under the License is distributed on an "AS IS" BASIS, # |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # |
| # See the License for the specific language governing permissions and # |
| # limitations under the License. # |
| ################################################################################ |
| |
| # This script to undeploy the NONRTRIC |
| ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" |
| echo "** $ROOT_DIR" |
| |
| COMPONENTS=" |
| a1controller \ |
| a1simulator \ |
| capifcore \ |
| controlpanel \ |
| dmaapadapterservice \ |
| dmaapmediatorservice \ |
| dmeparticipant \ |
| helmmanager \ |
| informationservice \ |
| nonrtricgateway \ |
| orufhrecovery \ |
| policymanagementservice \ |
| ransliceassurance \ |
| rappcatalogueenhancedservice \ |
| rappcatalogueservice \ |
| rappmanager \ |
| servicemanager \ |
| " |
| |
| 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 |
| |
| if [ ! -s /tmp/recipe.yaml ]; then |
| echo "NONRTRIC recipe is not found. Are you sure it's deployed successfully?" |
| exit 0 |
| fi |
| |
| COMMON_BLOCK=$(cat /tmp/recipe.yaml | awk '/^common:/{getline; while ($0 ~ /^ +.*|^ *$/) {print $0; if (getline == 0) {break}}}') |
| NAMESPACE_BLOCK=$(cat /tmp/recipe.yaml | awk '/^ namespace:/{getline; while ($0 ~ /^ .*|^ *$/) {print $0; if (getline == 0) {break}}}') |
| NONRTRIC_NAMESPACE=$(echo "$NAMESPACE_BLOCK" | awk '/^ *nonrtric:/{print $2}') |
| RELEASE_PREFIX=$(echo "$COMMON_BLOCK" | awk '/^ *releasePrefix:/{print $2}') |
| INSTALL_KONG=$(cat /tmp/recipe.yaml | awk '/^ installKong:/{print $2}') |
| INSTALL_RANPM=$(cat /tmp/recipe.yaml | awk '/^ installRanpm:/{print $2}') |
| |
| if [ "$INSTALL_KONG" = true ];then |
| echo "Warning - deleting Kong routes and services for ServiceManager" |
| SERVICEMANAGER_POD=$(kubectl get pods -o custom-columns=NAME:.metadata.name -l app=nonrtric-servicemanager --no-headers -n ${NONRTRIC_NAMESPACE:-nonrtric}) |
| if [[ -n $SERVICEMANAGER_POD ]]; then |
| kubectl exec $SERVICEMANAGER_POD -n ${NONRTRIC_NAMESPACE:-nonrtric} -- ./kongclearup |
| else |
| echo "Error - Servicemanager pod not found, didn't delete Kong routes and services for ServiceManager" |
| fi |
| echo "Uninstalling kongstorage" |
| helm delete kongstorage -n "${NONRTRIC_NAMESPACE:-nonrtric}" |
| echo "Uninstalling Kong" |
| helm delete oran-nonrtric -n ${NONRTRIC_NAMESPACE:-nonrtric} |
| fi |
| |
| ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" |
| |
| if [ "$INSTALL_RANPM" = true ];then |
| echo "Running uninstall-ranpm.sh" |
| chmod +x ${ROOT_DIR}/../ranpm/install/uninstall-ranpm.sh |
| ${ROOT_DIR}/../ranpm/install/uninstall-ranpm.sh |
| kubectl delete ns ran |
| echo "uninstall-ranpm.sh completed" |
| fi |
| |
| echo "Undeploying NONRTRIC components [$COMPONENTS]" |
| |
| 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 |
| |
| kubectl delete ns ${NONRTRIC_NAMESPACE:-nonrtric} |
| |
| kubectl delete ns onap |
| |
| # Cleanup ChartMuseum |
| CM_PID_FILE="$ROOT_DIR/CM_PID.txt" |
| if [ -f $CM_PID_FILE ]; then |
| echo "Cleaning up ChartMuseum..." |
| PID=$(cat "$CM_PID_FILE") |
| echo "Killing ChartMuseum with PID $PID" |
| kill $PID |
| rm $CM_PID_FILE |
| echo "ChartMuseum cleanup completed" |
| fi |