X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Fk8s%2Funinstall_osm_k8s_monitoring.sh;fp=installers%2Fk8s%2Funinstall_osm_k8s_monitoring.sh;h=1a3c77397893ec02e564af1eef0d54dc68ceff9a;hb=e366b1a9f5405252757890bcbaa392d269fafad0;hp=0000000000000000000000000000000000000000;hpb=6ad812eafdd40741b596a8aee93dd88e9232a162;p=osm%2Fdevops.git diff --git a/installers/k8s/uninstall_osm_k8s_monitoring.sh b/installers/k8s/uninstall_osm_k8s_monitoring.sh new file mode 100644 index 00000000..1a3c7739 --- /dev/null +++ b/installers/k8s/uninstall_osm_k8s_monitoring.sh @@ -0,0 +1,108 @@ +#!/bin/bash + +# Copyright 2019 Minsait - Indra S.A. +# +# 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. +# Author: Jose Manuel Palacios (jmpalacios@minsait.com) +# Author: Jose Antonio Martinez (jamartinezv@minsait.com) + +function usage(){ + echo -e "usage: $0 [OPTIONS]" + echo -e "Uninstall OSM Monitoring" + echo -e " OPTIONS" + echo -e " -n : use specified kubernetes namespace - default: monitoring" + echo -e " --helm : uninstall tiller" + echo -e " --debug : debug script" + echo -e " -h / --help : print this help" +} + +NAMESPACE=monitoring +HELM="" +DEBUG="" +while getopts ":h-:n:" o; do + case "${o}" in + h) + usage && exit 0 + ;; + n) + NAMESPACE="${OPTARG}" + ;; + + -) + [ "${OPTARG}" == "help" ] && usage && exit 0 + [ "${OPTARG}" == "helm" ] && HELM="y" && continue + [ "${OPTARG}" == "debug" ] && DEBUG="y" && continue + echo -e "Invalid option: '--$OPTARG'\n" >&2 + usage && exit 1 + ;; + + \?) + echo -e "Invalid option: '-$OPTARG'\n" >&2 + usage && exit 1 + ;; + *) + usage && exit 1 + ;; + esac +done + +function dump_vars(){ + echo "NAMESPACE=$NAMESPACE" + echo "HELM=$NOTILLER" + echo "DEBUG=$DEBUG" +} + +if [ -n "$DEBUG" ] ; then + set -x +fi + + + +# remove dashboards +echo "Deleting dashboards...." +kubectl -n $NAMESPACE delete configmap osm-monitoring-prometheus-summary-grafana > /dev/null 2>&1 +kubectl -n $NAMESPACE delete configmap osm-monitoring-prometheus-kafka-exporter-grafana > /dev/null 2>&1 +kubectl -n $NAMESPACE delete configmap osm-monitoring-prometheus-mysql-exporter-grafana > /dev/null 2>&1 +kubectl -n $NAMESPACE delete configmap osm-monitoring-prometheus-mongodb-exporter-grafana > /dev/null 2>&1 + +# remove exporters +echo "Deleting exporters...." +helm delete --purge osm-kafka-exporter > /dev/null 2>&1 +helm delete --purge osm-mysql-exporter > /dev/null 2>&1 +helm delete --purge osm-mongodb-exporter > /dev/null 2>&1 + +# remove prometheus-operator +echo "Deleting prometheus-operator...." +helm delete --purge osm-monitoring > /dev/null 2>&1 + +# Delete CRDs +kubectl delete crd prometheusrules.monitoring.coreos.com > /dev/null 2>&1 +kubectl delete crd servicemonitors.monitoring.coreos.com > /dev/null 2>&1 +kubectl delete crd alertmanagers.monitoring.coreos.com > /dev/null 2>&1 +kubectl delete crd prometheuses.monitoring.coreos.com > /dev/null 2>&1 +kubectl delete crd alertmanagers.monitoring.coreos.com > /dev/null 2>&1 +kubectl delete crd podmonitors.monitoring.coreos.com > /dev/null 2>&1 + +# Delete monitoring namespace +echo "Deleting monitoring namespace...." +kubectl delete namespace $NAMESPACE + +if [ -n "$HELM" ] ; then + sudo helm reset --force + kubectl delete --namespace kube-system serviceaccount tiller + kubectl delete clusterrolebinding tiller-cluster-rule + sudo rm /usr/local/bin/helm + rm -rf $HOME/.helm +fi + +