Add uninstallation scripts
[iec.git] / src / foundation / scripts / uninstall.sh
1 #!/bin/bash
2 set -x
3 #Uninstall the k8s-master & k8s-worker node from Mgnt node
4 #
5
6 # Get OS version
7 if grep -q -e rhel /etc/*-release; then
8   OS_ID_LIKE=${1:-rhel}
9 elif grep -q -e debian /etc/*-release; then
10   OS_ID_LIKE=${1:-debian}
11 fi
12
13 #
14 # Destroy k8s.
15 #
16 Destroy_k8s(){
17
18   KUBEADM_DESTROY_CMD="kubeadm reset -f"
19
20   for worker in "${K8S_WORKER_GROUP[@]}"
21   do
22     ip_addr="$(cut -d',' -f1 <<<${worker})"
23     passwd="$(cut -d',' -f2 <<<${worker})"
24     echo "Destroy k8s on ${ip_addr}. password:${passwd}"
25
26     sshpass -p ${passwd} ssh -o StrictHostKeyChecking=no ${HOST_USER}@${ip_addr} ${KUBEADM_DESTROY_CMD}
27     sleep 2
28   done
29
30   #Destroy master k8s env
31   sshpass -p ${K8S_MASTERPW} ssh -o StrictHostKeyChecking=no ${HOST_USER}@${K8S_MASTER_IP} ${KUBEADM_DESTROY_CMD}
32 }
33
34
35 #
36 # Uninstall software.
37 #
38 Uninstall () {
39   OS_VERSION=$1
40   case ${OS_VERSION:-} in
41   debian)
42     UNINSTALL_CMD="sudo apt purge -y kubernetes-cni kubeadm kubectl kubelet kube* docker-ce --allow-change-held-packages &&\
43               sudo apt -y autoremove"
44     ;;
45   rhel)
46     UNINSTALL_CMD="sudo yum remove -y kubeadm kubectl kubelet kubernetes-cni kube* docker-ce &&\
47                sudo yum -y autoremove"
48     ;;
49   *)
50     echo 'Unsupported distribution detected!'
51     exit 1
52     ;;
53   esac
54
55   for worker in "${K8S_WORKER_GROUP[@]}"
56   do
57     ip_addr="$(cut -d',' -f1 <<<${worker})"
58     passwd="$(cut -d',' -f2 <<<${worker})"
59     echo "Destroy k8s on ${ip_addr}. password:${passwd}"
60
61     sshpass -p ${passwd} ssh -o StrictHostKeyChecking=no ${HOST_USER}@${ip_addr} "${UNINSTALL_CMD}"
62     sleep 2
63   done
64
65   #master k8s env
66   sshpass -p ${K8S_MASTERPW} ssh -o StrictHostKeyChecking=no ${HOST_USER}@${K8S_MASTER_IP} "${UNINSTALL_CMD}"
67 }
68
69
70 #
71 # Recover system configuration.
72 #
73 Recover_conf(){
74
75   REC_CMD="sudo swapon -a"
76
77   for worker in "${K8S_WORKER_GROUP[@]}"
78   do
79     ip_addr="$(cut -d',' -f1 <<<${worker})"
80     passwd="$(cut -d',' -f2 <<<${worker})"
81     echo "Destroy k8s on ${ip_addr}. password:${passwd}"
82
83     sshpass -p ${passwd} ssh -o StrictHostKeyChecking=no ${HOST_USER}@${ip_addr} "${REC_CMD}"
84     sleep 2
85   done
86
87   #master k8s env
88   sshpass -p ${K8S_MASTERPW} ssh -o StrictHostKeyChecking=no ${HOST_USER}@${K8S_MASTER_IP} "${REC_CMD}"
89 }
90
91 # Read the configuration file
92 source config
93
94 Destroy_k8s ${OS_ID_LIKE}
95
96 Uninstall ${OS_ID_LIKE}
97 sleep 10
98
99 Recover_conf ${OS_ID_LIKE}
100 sleep 20