You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2020/04/23 00:39:03 UTC

[airavata] 02/02: Merge branch 'AIRAVATA-3126--Implement-compute-resource-reservation-addition'

This is an automated email from the ASF dual-hosted git repository.

machristie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit 56b3f0ab77b7b68e3ebb4179a66eb4189b8d66fb
Merge: e78ff86 6f35091
Author: Marcus Christie <ma...@iu.edu>
AuthorDate: Wed Apr 22 20:30:52 2020 -0400

    Merge branch 'AIRAVATA-3126--Implement-compute-resource-reservation-addition'

 .../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 | 146 +++-
 .../src/main/resources/META-INF/persistence.xml    |   1 +
 .../init/03-appcatalog-migrations.sql              |   8 +
 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     |  11 +-
 .../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  |   8 +
 .../group_resource_profile_model.thrift            |  13 +-
 25 files changed, 1981 insertions(+), 181 deletions(-)

diff --cc modules/ide-integration/src/main/resources/database_scripts/init/03-appcatalog-migrations.sql
index 4022bf3,a07c0f0..cf6f9c7
--- 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,11 @@@
  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..6dacaa4
--- 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,29 @@@
  
  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;