Skip to content
Snippets Groups Projects
Commit 07b8adea authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Merge branch 'feat/213-cttc-implement-logic-to-remove-per-component-databases' into 'develop'

Resolve "(CTTC) Implement logic to remove per-component databases"

See merge request !281
parents 97a1c925 8ae43e79
No related branches found
No related tags found
2 merge requests!294Release TeraFlowSDN 4.0,!281Resolve "(CTTC) Implement logic to remove per-component databases"
......@@ -154,8 +154,8 @@ function crdb_undeploy_single() {
echo
}
function crdb_drop_database_single() {
echo "Drop database if exists"
function crdb_drop_databases_single() {
echo "Drop TFS databases, if exist"
if [[ -z "${GITLAB_CI}" ]]; then
#kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o yaml
......@@ -168,9 +168,20 @@ function crdb_drop_database_single() {
CRDB_CLIENT_URL="postgresql://${CRDB_USERNAME}:${CRDB_PASSWORD}@${CRDB_HOST}:${CRDB_PORT}/defaultdb?sslmode=require"
echo "CRDB_CLIENT_URL=${CRDB_CLIENT_URL}"
kubectl exec -i --namespace ${CRDB_NAMESPACE} cockroachdb-0 -- \
./cockroach sql --certs-dir=/cockroach/cockroach-certs --url=${CRDB_CLIENT_URL} \
--execute "DROP DATABASE IF EXISTS ${CRDB_DATABASE};"
DATABASES=$(
kubectl exec -i --namespace ${CRDB_NAMESPACE} cockroachdb-0 -- \
./cockroach sql --certs-dir=/cockroach/cockroach-certs --url=${CRDB_CLIENT_URL} \
--execute "SHOW DATABASES;" --format=tsv | awk '{print $1}' | grep "^tfs"
)
echo "Found TFS databases: ${DATABASES}" | tr '\n' ' '
for DB_NAME in $DATABASES; do
echo "Dropping TFS database: $DB_NAME"
kubectl exec -i --namespace ${CRDB_NAMESPACE} cockroachdb-0 -- \
./cockroach sql --certs-dir=/cockroach/cockroach-certs --url=${CRDB_CLIENT_URL} \
--execute="DROP DATABASE IF EXISTS $DB_NAME CASCADE;"
done
echo
}
......@@ -349,11 +360,22 @@ function crdb_undeploy_cluster() {
echo
}
function crdb_drop_database_cluster() {
echo "Drop database if exists"
kubectl exec -i --namespace ${CRDB_NAMESPACE} cockroachdb-client-secure -- \
./cockroach sql --certs-dir=/cockroach/cockroach-certs --host=cockroachdb-public --execute \
"DROP DATABASE IF EXISTS ${CRDB_DATABASE};"
function crdb_drop_databases_cluster() {
echo "Drop TFS databases, if exist"
DATABASES=$(
kubectl exec -i --namespace ${CRDB_NAMESPACE} cockroachdb-client-secure -- \
./cockroach sql --certs-dir=/cockroach/cockroach-certs --host=cockroachdb-public \
--execute "SHOW DATABASES;" --format=tsv | awk '{print $1}' | grep "^tfs"
)
echo "Found TFS databases: ${DATABASES}" | tr '\n' ' '
for DB_NAME in $DATABASES; do
echo "Dropping TFS database: $DB_NAME"
kubectl exec -i --namespace ${CRDB_NAMESPACE} cockroachdb-client-secure -- \
./cockroach sql --certs-dir=/cockroach/cockroach-certs --host=cockroachdb-public \
--execute="DROP DATABASE IF EXISTS $DB_NAME CASCADE;"
done
echo
}
......@@ -365,7 +387,7 @@ if [ "$CRDB_DEPLOY_MODE" == "single" ]; then
crdb_deploy_single
if [ "$CRDB_DROP_DATABASE_IF_EXISTS" == "YES" ]; then
crdb_drop_database_single
crdb_drop_databases_single
fi
elif [ "$CRDB_DEPLOY_MODE" == "cluster" ]; then
if [ "$CRDB_REDEPLOY" == "YES" ]; then
......@@ -375,7 +397,7 @@ elif [ "$CRDB_DEPLOY_MODE" == "cluster" ]; then
crdb_deploy_cluster
if [ "$CRDB_DROP_DATABASE_IF_EXISTS" == "YES" ]; then
crdb_drop_database_cluster
crdb_drop_databases_cluster
fi
else
echo "Unsupported value: CRDB_DEPLOY_MODE=$CRDB_DEPLOY_MODE"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment