This is an automated email from the ASF dual-hosted git repository. machristie pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/airavata.git
commit b801135da78a5001ee467c8587d4df58baf4ce8f Merge: cd0f271 3fb981b Author: Marcus Christie <machris...@apache.org> AuthorDate: Wed Mar 25 15:45:59 2020 -0400 Merge branch 'AIRAVATA-3126--Implement-compute-resource-reservation-addition' into develop .../appcatalog/groupresourceprofile/ttypes.py | 217 +++++- .../ComputeResourcePolicy.java | 32 +- .../ComputeResourceReservation.java | 820 +++++++++++++++++++++ .../GroupComputeResourcePreference.java | 189 ++++- .../groupresourceprofile/GroupResourceProfile.java | 108 +-- airavata-api/airavata-model-utils/pom.xml | 6 + .../util/GroupComputeResourcePreferenceUtil.java | 44 ++ .../GroupComputeResourcePreferenceUtilTest.java | 116 +++ .../airavata/helix/impl/task/TaskContext.java | 9 + .../org/apache/airavata/common/utils/JPAUtils.java | 13 + .../src/main/resources/META-INF/persistence.xml | 1 + .../init/03-appcatalog-migrations.sql | 9 + modules/registry/registry-core/README.md | 13 + ....java => ComputeResourceReservationEntity.java} | 93 ++- .../appcatalog/GroupComputeResourcePrefEntity.java | 15 +- .../GroupSSHAccountProvisionerConfig.java | 2 +- .../core/repositories/AbstractRepository.java | 10 +- .../appcatalog/GroupResourceProfileRepository.java | 29 +- .../core/utils/JPAUtil/AppCatalogJPAUtils.java | 40 +- .../src/main/resources/META-INF/persistence.xml | 1 + .../src/main/resources/appcatalog-derby.sql | 6 + .../src/main/resources/appcatalog-mysql.sql | 8 + .../GroupResourceProfileRepositoryTest.java | 257 ++++++- .../next/DeltaScripts/appCatalog_schema_delta.sql | 9 + .../group_resource_profile_model.thrift | 13 +- 25 files changed, 1882 insertions(+), 178 deletions(-) diff --cc modules/ide-integration/src/main/resources/database_scripts/init/03-appcatalog-migrations.sql index 4022bf3,a07c0f0..f6978cb --- a/modules/ide-integration/src/main/resources/database_scripts/init/03-appcatalog-migrations.sql +++ b/modules/ide-integration/src/main/resources/database_scripts/init/03-appcatalog-migrations.sql @@@ -1,3 -1,10 +1,12 @@@ use app_catalog; +ALTER TABLE APPLICATION_INPUT ADD COLUMN OVERRIDE_FILENAME VARCHAR(255); ++ + -- AIRAVATA-3126 + CREATE TABLE IF NOT EXISTS COMPUTE_RESOURCE_RESERVATION -- ComputeResourceReservationEntity + (RESERVATION_ID VARCHAR(255) NOT NULL, END_TIME TIMESTAMP NOT NULL, RESERVATION_NAME VARCHAR(255) NOT NULL, START_TIME TIMESTAMP NOT NULL, RESOURCE_ID VARCHAR(255) NOT NULL, GROUP_RESOURCE_PROFILE_ID VARCHAR(255) NOT NULL, PRIMARY KEY (RESERVATION_ID) + )ENGINE=InnoDB DEFAULT CHARSET=latin1; + CREATE TABLE IF NOT EXISTS COMPUTE_RESOURCE_RESERVATION_QUEUE (RESERVATION_ID VARCHAR(255), QUEUE_NAME VARCHAR(255) NOT NULL + )ENGINE=InnoDB DEFAULT CHARSET=latin1; + CREATE INDEX I_CMPTN_Q_RESERVATION_ID ON COMPUTE_RESOURCE_RESERVATION_QUEUE (RESERVATION_ID); + ALTER TABLE COMPUTE_RESOURCE_RESERVATION ADD CONSTRAINT FK_COMPUTE_RESOURCE_RESERVATION FOREIGN KEY (RESOURCE_ID, GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_COMPUTE_RESOURCE_PREFERENCE (RESOURCE_ID, GROUP_RESOURCE_PROFILE_ID) ON DELETE CASCADE; diff --cc modules/registry/release-migration-scripts/next/DeltaScripts/appCatalog_schema_delta.sql index b9f4385,c25b3b1..6286a56 --- a/modules/registry/release-migration-scripts/next/DeltaScripts/appCatalog_schema_delta.sql +++ b/modules/registry/release-migration-scripts/next/DeltaScripts/appCatalog_schema_delta.sql @@@ -20,21 -20,11 +20,30 @@@ use app_catalog; +-- AIRAVATA-3276 Replace JSON configuration: "toggle": ["isRequired"] -> +-- "isRequired": true. Toggling requiredToAddedToCommandLine no longer needed. + +-- replace toggle with is isRequired +update APPLICATION_INPUT +set METADATA = REGEXP_REPLACE(METADATA, '"toggle": \\[[^}]+\\]', CONCAT('"isRequired": ', IF(IS_REQUIRED=1, 'true', 'false'))) +-- showOptions has "toggle" but not "isRequired" +where METADATA rlike '"showOptions": {"toggle": \\[[^}]+\\]' + and NOT METADATA rlike '"showOptions": {.*"isRequired": (true|false)' +; + +-- remove toggle since isRequired is already there +update APPLICATION_INPUT +set METADATA = REGEXP_REPLACE(METADATA, '(, )?"toggle": \\[[^}]+\\](, )?', '') +-- showOptions has BOTH "toggle" and "isRequired" +where METADATA rlike '"showOptions": {"toggle": \\[[^}]+\\]' + and METADATA rlike '"showOptions": {.*"isRequired": (true|false)' +; ++ + -- AIRAVATA-3126 + CREATE TABLE IF NOT EXISTS COMPUTE_RESOURCE_RESERVATION -- ComputeResourceReservationEntity + (RESERVATION_ID VARCHAR(255) NOT NULL, END_TIME TIMESTAMP NOT NULL DEFAULT 0, RESERVATION_NAME VARCHAR(255) NOT NULL, START_TIME TIMESTAMP NOT NULL DEFAULT 0, RESOURCE_ID VARCHAR(255) NOT NULL, GROUP_RESOURCE_PROFILE_ID VARCHAR(255) NOT NULL, PRIMARY KEY (RESERVATION_ID) + )ENGINE=InnoDB DEFAULT CHARSET=latin1; + CREATE TABLE IF NOT EXISTS COMPUTE_RESOURCE_RESERVATION_QUEUE (RESERVATION_ID VARCHAR(255), QUEUE_NAME VARCHAR(255) NOT NULL + )ENGINE=InnoDB DEFAULT CHARSET=latin1; + CREATE INDEX IF NOT EXISTS I_CMPTN_Q_RESERVATION_ID ON COMPUTE_RESOURCE_RESERVATION_QUEUE (RESERVATION_ID); + ALTER TABLE COMPUTE_RESOURCE_RESERVATION ADD CONSTRAINT FK_COMPUTE_RESOURCE_RESERVATION FOREIGN KEY IF NOT EXISTS (RESOURCE_ID, GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_COMPUTE_RESOURCE_PREFERENCE (RESOURCE_ID, GROUP_RESOURCE_PROFILE_ID) ON DELETE CASCADE;