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
Loading
Loading
Loading
Loading
+34 −12
Original line number Diff line number Diff line
@@ -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}"

    DATABASES=$(
        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};"
            --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"
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 \
        "DROP DATABASE IF EXISTS ${CRDB_DATABASE};"
            ./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"