#!/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 kong-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