diff --git a/ReleaseNotes.md b/ReleaseNotes.md index 20178a36949556c6b51dc971666cd55ad73ec628..53f28c0b8f440e803da41acfa04a7f509304ecd6 100644 --- a/ReleaseNotes.md +++ b/ReleaseNotes.md @@ -6,6 +6,7 @@ - cta/CTA#201 - Improve error message when oracle configured without oracle support - cta/CTA#203 - Refactor cta-restore-deletes-files by using the connection configuration class in standalone_cli_tools/common ### Bug fixes +- cta/CTA#13 - Fix `cta-catalogue-schema-verify` checking of NOT NULL constraints in Postgres - cta/CTA#209 - handle if $HOME is not defined when choosing config file for cta-admin # v4.7.13-3 diff --git a/catalogue/migrations/liquibase/postgres/4.6to10.0.sql b/catalogue/migrations/liquibase/postgres/4.6to10.0.sql index b253a16eaa8403e27b3cb273ce6725779c1182e6..d8eb7d103d9d5983b58bbefff7de38801ff9fd93 100644 --- a/catalogue/migrations/liquibase/postgres/4.6to10.0.sql +++ b/catalogue/migrations/liquibase/postgres/4.6to10.0.sql @@ -19,14 +19,14 @@ ALTER TABLE TAPE ADD LABEL_FORMAT CHAR(1); --rollback ALTER TABLE TAPE DROP COLUMN VERIFICATION_STATUS; --rollback ALTER TABLE TAPE DROP COLUMN LABEL_FORMAT; ---changeset mdavis:2 failOnError:true dbms:postgresql +--changeset mdavis:3 failOnError:true dbms:postgresql --preconditions onFail:MARK_RAN onError:MARK_RAN --precondition-sql-check expectedResult:"4.6" SELECT CONCAT(CONCAT(CAST(SCHEMA_VERSION_MAJOR as VARCHAR(10)),'.'), CAST(SCHEMA_VERSION_MINOR AS VARCHAR(10))) AS CATALOGUE_VERSION FROM CTA_CATALOGUE; --precondition-sql-check expectedResult:0 SELECT COUNT(*) FROM USER_INDEXES WHERE INDEX_NAME = 'ARCHIVE_FILE_SCI_IDX' CREATE INDEX ARCHIVE_FILE_SCI_IDX ON ARCHIVE_FILE(STORAGE_CLASS_ID); --rollback DROP INDEX ARCHIVE_FILE_SCI_IDX; ---changeset mdavis:3 failOnError:true dbms:postgresql +--changeset mdavis:4 failOnError:true dbms:postgresql --preconditions onFail:HALT onError:HALT --precondition-sql-check expectedResult:"4.6" SELECT CONCAT(CONCAT(CAST(SCHEMA_VERSION_MAJOR as VARCHAR(10)),'.'), CAST(SCHEMA_VERSION_MINOR AS VARCHAR(10))) AS CATALOGUE_VERSION FROM CTA_CATALOGUE; ALTER TABLE VIRTUAL_ORGANIZATION DROP CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN; @@ -102,10 +102,10 @@ ALTER TABLE LOGICAL_LIBRARY ADD DISABLED_REASON VARCHAR(1000); --preconditions onFail:HALT onError:HALT --precondition-sql-check expectedResult:"4.6" SELECT CONCAT(CONCAT(CAST(SCHEMA_VERSION_MAJOR as VARCHAR(10)),'.'), CAST(SCHEMA_VERSION_MINOR AS VARCHAR(10))) AS CATALOGUE_VERSION FROM CTA_CATALOGUE; --precondition-sql-check expectedResult:"0" SELECT COUNT(*) FROM VIRTUAL_ORGANIZATION WHERE DISK_INSTANCE_NAME NOT IN (SELECT DISK_INSTANCE_NAME FROM DISK_INSTANCE); -ALTER TABLE VIRTUAL_ORGANIZATION ADD CONSTRAINT VIRTUAL_ORGANIZATION_DIN_NN CHECK (DISK_INSTANCE_NAME IS NOT NULL); +ALTER TABLE VIRTUAL_ORGANIZATION ALTER COLUMN DISK_INSTANCE_NAME SET NOT NULL; ALTER TABLE VIRTUAL_ORGANIZATION ADD CONSTRAINT VIRTUAL_ORGANIZATION_DIN_FK FOREIGN KEY(DISK_INSTANCE_NAME) REFERENCES DISK_INSTANCE(DISK_INSTANCE_NAME); CREATE INDEX VIRTUAL_ORG_DIN_IDX ON VIRTUAL_ORGANIZATION(DISK_INSTANCE_NAME); ---rollback ALTER TABLE VIRTUAL_ORGANIZATION DROP CONSTRAINT VIRTUAL_ORGANIZATION_DIN_NN; +--rollback ALTER TABLE VIRTUAL_ORGANIZATION ALTER COLUMN DISK_INSTANCE_NAME DROP NOT NULL; --rollback ALTER TABLE VIRTUAL_ORGANIZATION DROP CONSTRAINT VIRTUAL_ORGANIZATION_DIN_FK; --rollback DROP INDEX VIRTUAL_ORG_DIN_IDX; @@ -148,17 +148,17 @@ ALTER TABLE ARCHIVE_FILE ADD CONSTRAINT ARCHIVE_FILE_DIN_FK FOREIGN KEY(DISK_INS --precondition-sql-check expectedResult:"4.6" SELECT CONCAT(CONCAT(CAST(SCHEMA_VERSION_MAJOR as VARCHAR(10)),'.'), CAST(SCHEMA_VERSION_MINOR AS VARCHAR(10))) AS CATALOGUE_VERSION FROM CTA_CATALOGUE; ALTER TABLE DISK_SYSTEM ALTER COLUMN FREE_SPACE_QUERY_URL DROP NOT NULL; ALTER TABLE DISK_SYSTEM ALTER COLUMN REFRESH_INTERVAL DROP NOT NULL; -ALTER TABLE DISK_SYSTEM ADD CONSTRAINT DISK_SYSTEM_DIN_NN CHECK (DISK_INSTANCE_NAME IS NOT NULL); -ALTER TABLE DISK_SYSTEM ADD CONSTRAINT DISK_SYSTEM_DISN_NN CHECK (DISK_INSTANCE_SPACE_NAME IS NOT NULL); +ALTER TABLE DISK_SYSTEM ALTER COLUMN DISK_INSTANCE_NAME SET NOT NULL; +ALTER TABLE DISK_SYSTEM ALTER COLUMN DISK_INSTANCE_SPACE_NAME SET NOT NULL; ALTER TABLE DISK_SYSTEM ADD CONSTRAINT DISK_SYSTEM_DIN_DISN_FK FOREIGN KEY(DISK_INSTANCE_NAME, DISK_INSTANCE_SPACE_NAME) REFERENCES DISK_INSTANCE_SPACE(DISK_INSTANCE_NAME, DISK_INSTANCE_SPACE_NAME); ---rollback ALTER TABLE DISK_SYSTEM ADD CONSTRAINT DISK_SYSTEM_FSQU_NN CHECK (FREE_SPACE_QUERY_URL IS NOT NULL); ---rollback ALTER TABLE DISK_SYSTEM ADD CONSTRAINT DISK_SYSTEM_RI_NN CHECK (REFRESH_INTERVAL IS NOT NULL); ---rollback ALTER TABLE DISK_SYSTEM DROP CONSTRAINT DISK_SYSTEM_DIN_NN; ---rollback ALTER TABLE DISK_SYSTEM DROP CONSTRAINT DISK_SYSTEM_DISN_NN; +--rollback ALTER TABLE DISK_SYSTEM ALTER COLUMN FREE_SPACE_QUERY_URL SET NOT NULL; +--rollback ALTER TABLE DISK_SYSTEM ALTER COLUMN REFRESH_INTERVAL SET NOT NULL; +--rollback ALTER TABLE DISK_SYSTEM ALTER COLUMN DISK_INSTANCE_NAME DROP NOT NULL; +--rollback ALTER TABLE DISK_SYSTEM ALTER COLUMN DISK_INSTANCE_SPACE_NAME DROP NOT NULL; --rollback ALTER TABLE DISK_SYSTEM DROP CONSTRAINT DISK_SYSTEM_DIN_DISN_FK; ---changeset mdavis:4 failOnError:true dbms:postgresql +--changeset mdavis:13 failOnError:true dbms:postgresql --preconditions onFail:HALT onError:HALT --precondition-sql-check expectedResult:"4.6" SELECT CONCAT(CONCAT(CAST(SCHEMA_VERSION_MAJOR as VARCHAR(10)),'.'), CAST(SCHEMA_VERSION_MINOR AS VARCHAR(10))) AS CATALOGUE_VERSION FROM CTA_CATALOGUE; DROP TABLE TAPE_DRIVE; @@ -218,7 +218,7 @@ DROP TABLE TAPE_DRIVE; --rollback 'MOUNTING', 'TRANSFERING', 'UNLOADING', 'UNMOUNTING', 'DRAININGTODISK', 'CLEANINGUP', 'SHUTDOWN', 'UNKNOWN')) --rollback ); ---changeset mvelosob:13 failOnError:true dbms:postgresql +--changeset mvelosob:14 failOnError:true dbms:postgresql --preconditions onFail:HALT onError:HALT --precondition-sql-check expectedResult:"4.6" SELECT CONCAT(CONCAT(CAST(SCHEMA_VERSION_MAJOR as VARCHAR(10)),'.'), CAST(SCHEMA_VERSION_MINOR AS VARCHAR(10))) AS CATALOGUE_VERSION FROM CTA_CATALOGUE; DROP TABLE ACTIVITIES_WEIGHTS; @@ -236,7 +236,7 @@ DROP TABLE ACTIVITIES_WEIGHTS; --rollback ); ---changeset mvelosob:14 failOnError:true dbms:postgresql +--changeset mvelosob:15 failOnError:true dbms:postgresql --preconditions onFail:HALT onError:HALT --precondition-sql-check expectedResult:"4.6" SELECT CONCAT(CONCAT(CAST(SCHEMA_VERSION_MAJOR as VARCHAR(10)),'.'), CAST(SCHEMA_VERSION_MINOR AS VARCHAR(10))) AS CATALOGUE_VERSION FROM CTA_CATALOGUE; UPDATE CTA_CATALOGUE SET SCHEMA_VERSION_MAJOR=10; diff --git a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/dbupdatetest.sh b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/dbupdatetest.sh index 9323b801373e5a8e0d7b0528a9e50990962dd02e..fa230c4b1e7df2871eec5ef5bb29f153432e74e4 100755 --- a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/dbupdatetest.sh +++ b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/dbupdatetest.sh @@ -43,8 +43,7 @@ yum install --assumeyes wget libaio; mkdir -p /shared/etc_cta; echo ${DATABASEURL} &> /shared/etc_cta/cta-catalogue.conf; -echo $CTA_VERSION - +cd /root if [[ $CTA_VERSION ]] then echo "CTA_VERSION" diff --git a/continuousintegration/orchestration/tests/update_db_test.sh b/continuousintegration/orchestration/tests/update_db_test.sh index 1e8cb812798e663c348d5966505a03ff8cb87863..0a6932fa3f9bddd63ab56c6302b0b76a5003e75f 100755 --- a/continuousintegration/orchestration/tests/update_db_test.sh +++ b/continuousintegration/orchestration/tests/update_db_test.sh @@ -22,6 +22,8 @@ EOF exit 1 } +die() { echo "$@" 1>&2 ; exit 1; } + CTA_VERSION="" while getopts "n:v:" o; do @@ -103,6 +105,9 @@ else exit 1 fi +# Check if cta-catalogue-schema-verify has a successing output +kubectl -n ${NAMESPACE} exec ctafrontend -- cta-catalogue-schema-verify /etc/cta/cta-catalogue.conf || die "Error verifying catalogue" + # If the previous and new schema has same major version, we can run a simple archive-retrieve test PREVIOUS_MAJOR=$(echo ${PREVIOUS_SCHEMA_VERSION} | cut -d. -f1) if [ "${MAJOR}" == "${PREVIOUS_MAJOR}" ] ; then