diff --git a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/init.sh b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/init.sh index fb86543cc0c5817a6de0dfcdbd571cf4f811e4b3..ab5f5b73d518f8a39130695e9eb1d4d4819c8267 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