3 # ============LICENSE_START===============================================
4 # Copyright (C) 2021 Nordix Foundation. All rights reserved.
5 # ========================================================================
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
10 # http://www.apache.org/licenses/LICENSE-2.0
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 # ============LICENSE_END=================================================
19 # Script to clean all namespaces from kubernetes having the label 'autotest', i.e started by autotest
25 GREEN="\033[32m\033[1m"
27 YELLOW="\033[33m\033[1m"
33 echo "Will remove all kube namespaces marked with label 'autotest'"
36 echo "Usage: clean_kube_ns.sh [--kubeconfig <kube-config-file>] | [--kubecontext <context name>]"
41 elif [ $# -eq 1 ]; then
44 elif [ $# -eq 2 ]; then
45 if [ $1 == "--kubeconfig" ]; then
47 echo "File $2 for --kubeconfig is not found"
51 KUBECONF="--kubeconfig $2"
52 elif [ $1 == "--kubecontext" ]; then
54 echo "No context found for --kubecontext"
58 KUBECONF="--context $2"
68 indent1() { sed 's/^/ /'; }
70 nss=$(kubectl $KUBECONF get ns -o 'jsonpath={.items[?(@.metadata.labels.autotest)].metadata.name}')
71 if [ ! -z "$nss" ]; then
73 echo "Deleting namespace: "$ns
74 kubectl $KUBECONF delete ns $ns | indent1