From 501e25ac5a0d9b64f0a15d599f8d7a0f9078519d Mon Sep 17 00:00:00 2001 From: Julien Leduc <julien.leduc@cern.ch> Date: Fri, 10 Feb 2017 12:14:37 +0100 Subject: [PATCH] Adding Database and Objectstore deletion feature: I merged the wrong commit when moving cta-orchestration in CTA repo. --- .../ctafrontend/cc7/opt/run/bin/init.sh | 59 ++++++++++++------- 1 file changed, 38 insertions(+), 21 deletions(-) diff --git a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/init.sh b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/init.sh index fb86543cc0..ab5f5b73d5 100755 --- a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/init.sh +++ b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/init.sh @@ -13,39 +13,56 @@ echo "Using this configuration for library:" cat /tmp/library-rc.sh . /tmp/library-rc.sh -echo "Creating objectstore" +echo "Configuring objectstore:" /opt/run/bin/init_objectstore.sh . /tmp/objectstore-rc.sh -if [ "$OBJECTSTORETYPE" == "file" ]; then - rm -fr $OBJECTSTOREURL - mkdir -p $OBJECTSTOREURL - cta-objectstore-initialize $OBJECTSTOREURL - chmod -R 777 $OBJECTSTOREURL -else - if [[ $(rados -p $OBJECTSTOREPOOL --id $OBJECTSTOREID --namespace $OBJECTSTORENAMESPACE ls | wc -l) -gt 0 ]]; then - echo "Rados objectstore ${OBJECTSTOREURL} is not empty: deleting content" - rados -p $OBJECTSTOREPOOL --id $OBJECTSTOREID --namespace $OBJECTSTORENAMESPACE ls | xargs -itoto rados -p $OBJECTSTOREPOOL --id $OBJECTSTOREID --namespace $OBJECTSTORENAMESPACE rm toto +if [ "$KEEP_OBJECTSTORE" == "0" ]; then + echo "Wiping objectstore" + if [ "$OBJECTSTORETYPE" == "file" ]; then + rm -fr $OBJECTSTOREURL + mkdir -p $OBJECTSTOREURL + cta-objectstore-initialize $OBJECTSTOREURL + chmod -R 777 $OBJECTSTOREURL + else + if [[ $(rados -p $OBJECTSTOREPOOL --id $OBJECTSTOREID --namespace $OBJECTSTORENAMESPACE ls | wc -l) -gt 0 ]]; then + echo "Rados objectstore ${OBJECTSTOREURL} is not empty: deleting content" + rados -p $OBJECTSTOREPOOL --id $OBJECTSTOREID --namespace $OBJECTSTORENAMESPACE ls | xargs -itoto rados -p $OBJECTSTOREPOOL --id $OBJECTSTOREID --namespace $OBJECTSTORENAMESPACE rm toto + fi + cta-objectstore-initialize $OBJECTSTOREURL + echo "Rados objectstore ${OBJECTSTOREURL} content:" + rados -p $OBJECTSTOREPOOL --id $OBJECTSTOREID --namespace $OBJECTSTORENAMESPACE ls fi - cta-objectstore-initialize $OBJECTSTOREURL - echo "Rados objectstore ${OBJECTSTOREURL} content:" - rados -p $OBJECTSTOREPOOL --id $OBJECTSTOREID --namespace $OBJECTSTORENAMESPACE ls +else + echo "Reusing objectstore (no check)" fi -echo "Creating DB" + +echo "Configuring database:" /opt/run/bin/init_database.sh . /tmp/database-rc.sh +echo ${DATABASEURL} >/etc/cta/cta_catalogue_db.conf + +if [ "$KEEP_DATABASE" == "0" ]; then + echo "Wiping database" + cta-catalogue-schema-unlock /etc/cta/cta_catalogue_db.conf + cta-catalogue-delete-all-data /etc/cta/cta_catalogue_db.conf + cta-catalogue-schema-status /etc/cta/cta_catalogue_db.conf + cta-catalogue-schema-drop /etc/cta/cta_catalogue_db.conf -if [ "$DATABASETYPE" == "sqlite" ]; then - mkdir -p $(dirname $(echo ${DATABASEURL} | cut -d: -f2)) - echo ${DATABASEURL} >/etc/cta/cta_catalogue_db.conf - cta-catalogue-schema-create /etc/cta/cta_catalogue_db.conf - chmod -R 777 $(dirname $(echo ${DATABASEURL} | cut -d: -f2)) # needed? + if [ "$DATABASETYPE" == "sqlite" ]; then + mkdir -p $(dirname $(echo ${DATABASEURL} | cut -d: -f2)) + cta-catalogue-schema-create /etc/cta/cta_catalogue_db.conf + chmod -R 777 $(dirname $(echo ${DATABASEURL} | cut -d: -f2)) # needed? + else + cta-catalogue-schema-create /etc/cta/cta_catalogue_db.conf + fi else - echo ${DATABASEURL} >/etc/cta/cta_catalogue_db.conf - cta-catalogue-schema-create /etc/cta/cta_catalogue_db.conf + echo "Reusing database (no check)" fi + + if [ ! $LIBRARYTYPE == "mhvtl" ]; then echo "Real tapes, not labelling"; else -- GitLab