-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclean-osh
executable file
·122 lines (109 loc) · 5.02 KB
/
clean-osh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#!/bin/bash
# Copyright 2017 Charter DNA Team (CTEC).
#
# 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.
#
### Declare colors to use during the running of this script:
declare -r GREEN="\033[0;32m"
declare -r RED="\033[0;31m"
declare -r YELLOW="\033[0;33m"
function echo_green {
echo -e "${GREEN}$1"; tput sgr0
}
function echo_red {
echo -e "${RED}$1"; tput sgr0
}
function echo_yellow {
echo -e "${YELLOW}$1"; tput sgr0
}
source /opt/demo/.bootkube_env
echo_yellow "\nDELETING INFRASTRUCTURE COMPONENTS:"
helm delete --purge osh-ingress
helm delete --purge osh-rabbitmq
helm delete --purge osh-etcd
helm delete --purge osh-libvirt
helm delete --purge osh-openvswitch
helm delete --purge osh-memcached
helm delete --purge ctec-grafana
helm delete --purge ctec-prometheus
helm delete --purge ceph-monitoring-config
echo_yellow "\nDELETING MONITORING PVC's:"
kubectl delete pvc/alertmanager-pvc
kubectl delete pvc/prometheus-pvc
echo_yellow "\nDELETING MONITORING STACK:"
kubectl delete pvc/alertmanager-pvc
kubectl delete pvc/prometheus-pvc
kubectl delete statefulset alertmanager --force=true --grace-period=0 --cascade=false
kubectl delete statefulset prometheus --force=true --grace-period=0 --cascade=false
kubectl delete pod alertmanager-0 --force=true --grace-period=0
kubectl delete pod prometheus-0 --force=true --grace-period=0
helm delete ctec-prometheus --purge
helm delete ctec-grafana --purge
echo_yellow "\nDELETING OPENSTACK COMPONENTS:"
helm delete --purge osh-horizon &
sleep 5
kubectl delete jobs/`(kubectl get jobs -n openstack | grep horizon-db-drop | cut -d " " -f1)` -n openstack
kubectl delete jobs/`(kubectl get jobs -n openstack | grep horizon-clean | cut -d " " -f1)` -n openstack
helm delete --purge osh-heat &
sleep 5
kubectl delete jobs/`(kubectl get jobs -n openstack | grep heat-db-drop | cut -d " " -f1)` -n openstack
kubectl delete jobs/`(kubectl get jobs -n openstack | grep heat-clean | cut -d " " -f1)` -n openstack
helm delete --purge osh-cinder &
sleep 5
kubectl delete jobs/`(kubectl get jobs -n openstack | grep cinder-db-drop | cut -d " " -f1)` -n openstack
kubectl delete jobs/`(kubectl get jobs -n openstack | grep cinder-clean | cut -d " " -f1)` -n openstack
helm delete --purge osh-glance &
sleep 5
kubectl delete jobs/`(kubectl get jobs -n openstack | grep glance-db-drop | cut -d " " -f1)` -n openstack
kubectl delete jobs/`(kubectl get jobs -n openstack | grep glance-clean | cut -d " " -f1)` -n openstack
helm delete --purge osh-keystone &
sleep 5
kubectl delete jobs/`(kubectl get jobs -n openstack | grep keystone-db-drop | cut -d " " -f1)` -n openstack
kubectl delete jobs/`(kubectl get jobs -n openstack | grep keystone-clean | cut -d " " -f1)` -n openstack
helm delete --purge osh-neutron &
sleep 5
kubectl delete jobs/`(kubectl get jobs -n openstack | grep neutron-db-drop | cut -d " " -f1)` -n openstack
kubectl delete jobs/`(kubectl get jobs -n openstack | grep neutron-clean | cut -d " " -f1)` -n openstack
helm delete --purge osh-nova &
sleep 5
kubectl delete jobs/`(kubectl get jobs -n openstack | grep nova-clean | cut -d " " -f1)` -n openstack
kubectl delete jobs/`(kubectl get jobs -n openstack | grep nova-db-drop | cut -d " " -f1)` -n openstack
echo_yellow "\nDELETING ANY REMAINING CRONJOBS:"
kubectl delete cronjob/`(kubectl get cronjob -n openstack | grep keystone-credential | cut -d " " -f1)` -n openstack
kubectl delete cronjob/`(kubectl get cronjob -n openstack | grep keystone-fernet | cut -d " " -f1)` -n openstack
kubectl delete cronjob/`(kubectl get cronjob -n openstack | grep cinder | cut -d " " -f1)` -n openstack
echo_yellow "\nDELETING DATABASE COMPONENTS:"
kubectl delete pvc mysql-data-mariadb-0 -n openstack
kubectl delete pvc mysql-data-mariadb-1 -n openstack
kubectl delete pvc mysql-data-mariadb-2 -n openstack
kubectl delete po/mariadb-0 --grace-period=0 --force -n openstack
kubectl delete po/mariadb-1 --grace-period=0 --force -n openstack
kubectl delete po/mariadb-2 --grace-period=0 --force -n openstack
helm delete --purge mariadb
echo_yellow "\nDELETING CEPH COMPONENTS:"
export job=`(kubectl get jobs -n ceph | cut -d " " -f1)`
for job in $job;do
kubectl delete job $job -n ceph
done
helm delete --purge ceph-openstack-config
helm delete --purge ceph
sudo rm -rf /var/lib/openstack-helm/ceph
echo_yellow "\nDELETING DEMO NAMESPACES:"
kubectl delete namespace openstack
kubectl delete namespace ceph
echo_yellow "\nDELETING NFS STORAGE:"
helm delete --purge default-nfs
echo_yellow "\nDELETING OPENSTACK-HELM LOCAL STORAGE DIRS:"
sudo rm -rf /var/lib/openstack-helm/nfs
sudo rm -rf /var/lib/openstack-helm/*
echo_green "\nDONE!"