1+
12# This Source Code Form is subject to the terms of the Mozilla Public
23# License, v. 2.0. If a copy of the MPL was not distributed with this
34# file, You can obtain one at https://mozilla.org/MPL/2.0/.
@@ -14,7 +15,8 @@ print_usage_and_exit () {
1415 echo ' Usage: ./clear-all-data.sh [-r REPLICAS] [-m MONGODB_HOST] [-e ELASTICSEARCH_HOST] [-n MINIO_HOST]'
1516 echo " "
1617 echo " Options:"
17- echo " -n NAMESPACE Kubernetes namespace (default: opencrvs-dev)"
18+ echo " -n NAMESPACE Kubernetes namespace with deployed dependencies (default: opencrvs-deps-dev)"
19+ echo " -o OPENCRVS_NAMESPACE Kubernetes namespace with deployed OpenCRVS (default: opencrvs-dev)"
1820 echo " -r REPLICAS Number of MongoDB replicas"
1921 echo " -m MONGODB_HOST MongoDB host (default: mongo)"
2022 echo " -e ELASTICSEARCH_HOST Elasticsearch host (default: elasticsearch:9200)"
@@ -29,22 +31,21 @@ print_usage_and_exit () {
2931 exit 1
3032}
3133
32- if [ -z " $1 " ] ; then
33- echo ' Error: Argument REPLICAS is required in position 1.'
34- print_usage_and_exit
35- fi
3634
3735# Default values
3836REPLICAS=" 0"
37+ NAMESPACE=" opencrvs-deps-dev"
38+ OPENCRVS_NAMESPACE=" opencrvs-dev"
3939MONGODB_HOST=" mongodb"
4040ELASTICSEARCH_HOST=" elasticsearch"
4141MINIO_HOST=" minio"
4242MINIO_ROOT_USER=minioadmin
4343MINIO_ROOT_PASSWORD=minioadmin
4444INFLUX_HOST=" influxdb"
45- while getopts " n:r:m:e:s:i:" opt; do
45+ while getopts " n:o: r:m:e:s:i:" opt; do
4646 case $opt in
4747 n) NAMESPACE=$OPTARG ;;
48+ o) OPENCRVS_NAMESPACE=$OPTARG ;;
4849 r) REPLICAS=$OPTARG ;;
4950 m) MONGODB_HOST=$OPTARG ;;
5051 e) ELASTICSEARCH_HOST=$OPTARG ;;
@@ -92,12 +93,15 @@ elasticsearch_host() {
9293
9394drop_database () {
9495 local database=${1}
95- kubectl run mongo-drop-job --rm -i --image=mongo:4.4 --restart=Never -- \
96+ kubectl run mongo-drop-job --namespace $NAMESPACE -- rm -i --image=mongo:4.4 --restart=Never -- \
9697 mongo $database $( mongo_credentials) --host $HOST --eval " db.dropDatabase()"
9798}
9899
99100# Delete all data from mongo
100101# ---------------------------
102+ echo " --------------------------"
103+ echo " 🧹 cleanup mongo databases on $HOST :"
104+ echo " --------------------------"
101105drop_database hearth-dev;
102106
103107drop_database openhim-dev;
@@ -112,24 +116,38 @@ drop_database performance;
112116
113117# Delete all data from elasticsearch
114118# -----------------------------------
115- # TODO: FIX CALL TO INDEX ALIAS
116- kubectl run elasticsearch-delete-job --rm -i --image=appropriate/curl --restart=Never -- \
117- curl -XDELETE " http://$( elasticsearch_host) /ocrvs" -v
119+
120+ indices=$( kubectl run elasticsearch-get-index-name --namespace $NAMESPACE --rm -i --image=appropriate/curl --restart=Never --command -- sh -c " curl -sS -XGET http://$( elasticsearch_host) /_cat/indices?h=index" | grep -v pod || true )
121+ echo " --------------------------"
122+ echo " 🧹 cleanup for indices from $( elasticsearch_host) : $indices "
123+ echo " --------------------------"
124+ for index in ${indices[@]} ; do
125+ echo " Delete index $index ..."
126+ kubectl run elasticsearch-get-index-name-` date +%s` --namespace $NAMESPACE --rm -i --image=appropriate/curl --restart=Never --command -- sh -c " curl -sS -XDELETE http://$( elasticsearch_host) /$index "
127+ done
128+
118129
119130# Delete all data from metrics
120131# -----------------------------
121- kubectl run influxdb-drop-job --rm -i --image=appropriate/curl --restart=Never -- \
132+ echo " --------------------------"
133+ echo " 🧹 cleanup influxdb (metrics) databases on $INFLUX_HOST :"
134+ echo " --------------------------"
135+ kubectl run influxdb-drop-job --namespace $NAMESPACE --rm -i --image=appropriate/curl --restart=Never -- \
122136 curl -X POST http://$INFLUX_HOST :8086/query? db=ocrvs --data-urlencode " q=DROP SERIES FROM /.*/" -v
123137
124138# Delete all data from minio
125139# -----------------------------
126- kubectl run minio-delete-job --rm -i --image=minio/mc --restart=Never --command -- sh -c " \
140+ echo " --------------------------"
141+ echo " 🧹 cleanup MinIO storage on $MINIO_HOST :"
142+ echo " --------------------------"
143+ kubectl run minio-delete-job --namespace $NAMESPACE --rm -i --image=minio/mc --restart=Never --command -- sh -c " \
127144 mc alias set myminio http://$MINIO_HOST :3535 $MINIO_ROOT_USER $MINIO_ROOT_PASSWORD && \
128145 mc rm --recursive --force myminio/ocrvs && \
129146 mc rb myminio/ocrvs && \
130147 mc mb myminio/ocrvs"
148+ echo " All data has been deleted"
131149
132- # Restart the metabase service
150+ # Restart the metabase and events services
133151# -----------------------------
134- # kubectl scale deployment opencrvs-dashboards --replicas=0
135- # kubectl scale deployment opencrvs-dashboards --replicas=1
152+ kubectl delete pod --namespace $OPENCRVS_NAMESPACE -lapp=dashboards
153+ kubectl delete pod --namespace $OPENCRVS_NAMESPACE -lapp=events
0 commit comments