Updated image tags for tests
[nonrtric.git] / test / common / clean_kube_ns.sh
1 #!/bin/bash
2
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
9 #
10 #       http://www.apache.org/licenses/LICENSE-2.0
11 #
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=================================================
18
19 # Script to clean all namespaces from kubernetes having the label 'autotest', i.e started by autotest
20
21 BOLD="\033[1m"
22 EBOLD="\033[0m"
23 RED="\033[31m\033[1m"
24 ERED="\033[0m"
25 GREEN="\033[32m\033[1m"
26 EGREEN="\033[0m"
27 YELLOW="\033[33m\033[1m"
28 EYELLOW="\033[0m"
29 SAMELINE="\033[0K\r"
30
31 KUBECONF=""
32
33 echo "Will remove all kube namespaces marked with label 'autotest'"
34
35 print_usage() {
36     echo "Usage: clean_kube_ns.sh [--kubeconfig <kube-config-file>]"
37 }
38
39 if [ $# -eq 0 ]; then
40 :
41 elif [ $# -eq 1 ]; then
42     print_usage
43     exit
44 elif [ $# -eq 2 ]; then
45     if [ $1 == "--kubeconfig" ]; then
46         if [ ! -f $2 ]; then
47             echo "File $2 for --kubeconfig is not found"
48             print_usage
49             exit
50         fi
51         KUBECONF="--kubeconfig $2"
52     else
53         print_usage
54         exit
55     fi
56 else
57     print_usage
58     exit
59 fi
60
61 indent1() { sed 's/^/ /'; }
62
63 nss=$(kubectl $KUBECONF get ns -o 'jsonpath={.items[?(@.metadata.labels.autotest)].metadata.name}')
64 if [ ! -z "$nss" ]; then
65         for ns in $nss; do
66                 echo "Deleting namespace: "$ns
67                 kubectl $KUBECONF delete ns $ns | indent1
68         done
69 fi
70 echo "Done"