You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2014/06/26 21:46:48 UTC
[1/2] git commit: Sync'ing with new app catalog models.
Repository: airavata
Updated Branches:
refs/heads/master 3a84ee8c3 -> fdb3daa5e
Sync'ing with new app catalog models.
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/5662d5ca
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/5662d5ca
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/5662d5ca
Branch: refs/heads/master
Commit: 5662d5ca48d50115f7b511d267f4d1cd8338c20e
Parents: 6da674f
Author: Suresh Marru <sm...@apache.org>
Authored: Thu Jun 26 15:46:37 2014 -0400
Committer: Suresh Marru <sm...@apache.org>
Committed: Thu Jun 26 15:46:37 2014 -0400
----------------------------------------------------------------------
.../applicationDeploymentModel.thrift | 188 +------------------
.../applicationInterfaceModel.thrift | 177 ++++-------------
.../computeHostModel.thrift | 32 +---
.../gatewayProfileModel.thrift | 37 +---
4 files changed, 52 insertions(+), 382 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/5662d5ca/airavata-api/thrift-interface-descriptions/applicationDeploymentModel.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/applicationDeploymentModel.thrift b/airavata-api/thrift-interface-descriptions/applicationDeploymentModel.thrift
index f42515e..d4f54ae 100644
--- a/airavata-api/thrift-interface-descriptions/applicationDeploymentModel.thrift
+++ b/airavata-api/thrift-interface-descriptions/applicationDeploymentModel.thrift
@@ -18,187 +18,19 @@
*
*/
-namespace java org.apache.airavata.model.appcatalog
-namespace php Airavata.Model.AppCatalog
+namespace java org.apache.airavata.model.application.deployment
+namespace php Airavata.Model.Application.Deployment
const string DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS"
-/**
- * Enumeration of local resource job managers supported by Airavata
- *
- * FORK:
- * Forking of commands without any job manager
- *
- * PBS:
- * Job manager supporting the Portal Batch System (PBS) protocol. Some examples include TORQUE, PBSPro, Grid Engine.
- *
- * UGE:
- * Univa Grid Engine, a variation of PBS implementation.
- *
- * SLURM:
- * The Simple Linux Utility for Resource Management is a open source workload manager.
- *
-*/
-enum ResourceJobManager {
- FORK,
- PBS,
- UGE,
- SLURM
-}
-/**
- * Enumeration of Airavata supported Job Submission Mechanisms for High Perforamance Computing Clusters.
- *
- * SSH:
- * Execute remote job submission commands using via secure shell protocol.
- *
- * GRAM:
- * Execute remote jobs via Globus GRAM service.
- *
- * UNICORE:
- * Execute remote jobs via Unicore services
- *
-*/
-enum JobSubmissionProtocol {
- SSH,
- GSISSH,
- GRAM,
- UNICORE
+struct ApplicationDeploymentDescription {
+ 1: required string appDeploymentId = DEFAULT_ID,
+ 2: required string applicationName,
+ 3: optional string applicationDescription,
+ 4: optional string applicationVersion
+ 5: optional string moduleLoadString,
+ 6: optional list<string> libraryPrepandPath,
+ 7: optional list<string> libraryApendPath
}
-/**
- * Enumeration of data movement supported by Airavata
- *
- * SCP:
- * Job manager supporting the Portal Batch System (PBS) protocol. Some examples include TORQUE, PBSPro, Grid Engine.
- *
- * SFTP:
- * The Simple Linux Utility for Resource Management is a open source workload manager.
- *
- * GridFTP:
- * Globus File Transfer Protocol
- *
- * UNICORE_STORAGE_SERVICE:
- * Storage Service Provided by Unicore
- *
-*/
-enum DataMovementProtocol {
- SCP,
- SFTP,
- GridFTP,
- UNICORE_STORAGE_SERVICE
-}
-
-/**
- * Enumeration of security authentication and authorization mechanisms supported by Airavata. This enumeration just
- * describes the supported mechanism. The corresponding security credentials are registered with Airavata Credential
- * store.
- *
- * USERNAME_PASSWORD:
- * A User Name.
- *
- * SSH_KEYS:
- * SSH Keys
- *
-*/
-enum SecurityProtocol {
- USERNAME_PASSWORD,
- SSH_KEYS,
- GSI,
- KERBEROS,
- OAUTH
-}
-
-
-
-struct SCPDataMovement {
- 1: required string dataMovementDataID = DEFAULT_ID,
- 2: required SecurityProtocol securityProtocol,
- 3: optional i32 sshPort = 22
-}
-
-struct GridFTPDataMovement {
- 1: required string dataMovementDataID = DEFAULT_ID,
- 2: required SecurityProtocol securityProtocol,
- 3: required list<string> gridFTPEndPoint
-}
-
-struct SSHJobSubmission {
- 1: required string jobSubmissionDataID = DEFAULT_ID,
- 2: required ResourceJobManager resourceJobManager,
- 3: optional i32 sshPort = 22
-}
-
-struct GlobusJobSubmission {
- 1: required string jobSubmissionDataID = DEFAULT_ID,
- 2: required SecurityProtocol securityProtocol,
- 3: required ResourceJobManager resourceJobManager,
- 4: optional list<string> globusGateKeeperEndPoint
-}
-
-struct GSISSHJobSubmission {
- 1: required string jobSubmissionDataID = DEFAULT_ID,
- 2: required ResourceJobManager resourceJobManager,
- 3: optional i32 sshPort = 22,
- 4: optional set<string> exports,
- 5: optional list<string> preJobCommands,
- 6: optional list<string> postJobCommands,
- 7: optional string installedPath,
- 8: optional string monitorMode
-}
-
-/**
- * Computational Resource Description
- *
- * resourceId:
- *
- * hostName:
- * Fully Qualified Host Name.
- *
- * ipAddress:
- * IP Addresse of the Hostname.
- *
- * resourceDescription:
- * A user friendly description of the hostname.
- *
- * JobSubmissionProtocols:
- * A computational resources may have one or more ways of submitting Jobs. This structure
- * will hold all available mechanisms to interact with the resource.
- *
- * DataMovementProtocol:
- * Option to specify a prefered data movement mechanism of the available options.
- *
-*/
-struct ComputeResourceDescription {
- 1: required bool isEmpty = 0,
- 2: required string resourceId = DEFAULT_ID,
- 3: required string hostName,
- 4: optional set<string> hostAliases,
- 5: optional set<string> ipAddresses,
- 6: optional string resourceDescription,
- 7: optional string scratchLocation,
- 8: optional string preferredJobSubmissionProtocol,
- 9: required map<string, JobSubmissionProtocol> jobSubmissionProtocols,
- 10: required map<string, DataMovementProtocol> dataMovementProtocols
-}
-
-/**
- * Following structs are added for completeness of the application catalog
-*/
-
-struct ApplicationDescriptor {
- 1: required string applicationDescriptorId = DEFAULT_ID,
- 2: optional string applicationDescriptorData //serialized ApplicationDescriptor
-}
-
-struct ApplicationDeployment {
- 1: required string deploymentId = DEFAULT_ID,
- 2: required ComputeResourceDescription computeResourceDescription,
- 3: required ApplicationDescriptor applicationDescriptor,
-}
-
-struct ApplicationInterface {
- 1: required string applicationInterfaceId = DEFAULT_ID,
- 2: optional string applicationInterfaceData, //serialized ServiceDescriptor
- 3: optional list<ApplicationDeployment> applicationDeployments
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/5662d5ca/airavata-api/thrift-interface-descriptions/applicationInterfaceModel.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/applicationInterfaceModel.thrift b/airavata-api/thrift-interface-descriptions/applicationInterfaceModel.thrift
index f42515e..f9f3ca4 100644
--- a/airavata-api/thrift-interface-descriptions/applicationInterfaceModel.thrift
+++ b/airavata-api/thrift-interface-descriptions/applicationInterfaceModel.thrift
@@ -1,4 +1,4 @@
-/*
+ut/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -18,137 +18,50 @@
*
*/
-namespace java org.apache.airavata.model.appcatalog
-namespace php Airavata.Model.AppCatalog
+namespace java org.apache.airavata.model.application.interface
+namespace php Airavata.Model.Application.Interface
const string DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS"
-/**
- * Enumeration of local resource job managers supported by Airavata
- *
- * FORK:
- * Forking of commands without any job manager
- *
- * PBS:
- * Job manager supporting the Portal Batch System (PBS) protocol. Some examples include TORQUE, PBSPro, Grid Engine.
- *
- * UGE:
- * Univa Grid Engine, a variation of PBS implementation.
- *
- * SLURM:
- * The Simple Linux Utility for Resource Management is a open source workload manager.
- *
-*/
-enum ResourceJobManager {
- FORK,
- PBS,
- UGE,
- SLURM
-}
/**
- * Enumeration of Airavata supported Job Submission Mechanisms for High Perforamance Computing Clusters.
- *
- * SSH:
- * Execute remote job submission commands using via secure shell protocol.
- *
- * GRAM:
- * Execute remote jobs via Globus GRAM service.
+ * Data Types Supported in Airavata.
*
- * UNICORE:
- * Execute remote jobs via Unicore services
*
*/
-enum JobSubmissionProtocol {
- SSH,
- GSISSH,
- GRAM,
- UNICORE
+enum DataType{
+ STRING,
+ INTEGER,
+ FLOAT,
+ URI
}
/**
- * Enumeration of data movement supported by Airavata
- *
- * SCP:
- * Job manager supporting the Portal Batch System (PBS) protocol. Some examples include TORQUE, PBSPro, Grid Engine.
- *
- * SFTP:
- * The Simple Linux Utility for Resource Management is a open source workload manager.
- *
- * GridFTP:
- * Globus File Transfer Protocol
- *
- * UNICORE_STORAGE_SERVICE:
- * Storage Service Provided by Unicore
- *
+* Aplication Inputs
+*
*/
-enum DataMovementProtocol {
- SCP,
- SFTP,
- GridFTP,
- UNICORE_STORAGE_SERVICE
+struct InputDataObjectType {
+ 1: required string key,
+ 2: optional string value,
+ 3: optional DataType type,
+ 4: optional string metaData
+ 5: optional string applicationParameter,
+ 5: optional string applicationUIDescription
}
/**
- * Enumeration of security authentication and authorization mechanisms supported by Airavata. This enumeration just
- * describes the supported mechanism. The corresponding security credentials are registered with Airavata Credential
- * store.
- *
- * USERNAME_PASSWORD:
- * A User Name.
- *
- * SSH_KEYS:
- * SSH Keys
- *
+* Aplication Outputs
+*
*/
-enum SecurityProtocol {
- USERNAME_PASSWORD,
- SSH_KEYS,
- GSI,
- KERBEROS,
- OAUTH
-}
-
-
-
-struct SCPDataMovement {
- 1: required string dataMovementDataID = DEFAULT_ID,
- 2: required SecurityProtocol securityProtocol,
- 3: optional i32 sshPort = 22
-}
-
-struct GridFTPDataMovement {
- 1: required string dataMovementDataID = DEFAULT_ID,
- 2: required SecurityProtocol securityProtocol,
- 3: required list<string> gridFTPEndPoint
-}
-
-struct SSHJobSubmission {
- 1: required string jobSubmissionDataID = DEFAULT_ID,
- 2: required ResourceJobManager resourceJobManager,
- 3: optional i32 sshPort = 22
-}
-
-struct GlobusJobSubmission {
- 1: required string jobSubmissionDataID = DEFAULT_ID,
- 2: required SecurityProtocol securityProtocol,
- 3: required ResourceJobManager resourceJobManager,
- 4: optional list<string> globusGateKeeperEndPoint
-}
-
-struct GSISSHJobSubmission {
- 1: required string jobSubmissionDataID = DEFAULT_ID,
- 2: required ResourceJobManager resourceJobManager,
- 3: optional i32 sshPort = 22,
- 4: optional set<string> exports,
- 5: optional list<string> preJobCommands,
- 6: optional list<string> postJobCommands,
- 7: optional string installedPath,
- 8: optional string monitorMode
+struct OutputDataObjectType {
+ 1: required string key,
+ 2: optional string value,
+ 3: optional DataType type,
+ 4: optional string metaData
}
/**
- * Computational Resource Description
+ * Application Interface Description
*
* resourceId:
*
@@ -169,36 +82,10 @@ struct GSISSHJobSubmission {
* Option to specify a prefered data movement mechanism of the available options.
*
*/
-struct ComputeResourceDescription {
+struct ApplicationInterfaceDescription {
1: required bool isEmpty = 0,
- 2: required string resourceId = DEFAULT_ID,
- 3: required string hostName,
- 4: optional set<string> hostAliases,
- 5: optional set<string> ipAddresses,
- 6: optional string resourceDescription,
- 7: optional string scratchLocation,
- 8: optional string preferredJobSubmissionProtocol,
- 9: required map<string, JobSubmissionProtocol> jobSubmissionProtocols,
- 10: required map<string, DataMovementProtocol> dataMovementProtocols
-}
-
-/**
- * Following structs are added for completeness of the application catalog
-*/
-
-struct ApplicationDescriptor {
- 1: required string applicationDescriptorId = DEFAULT_ID,
- 2: optional string applicationDescriptorData //serialized ApplicationDescriptor
-}
-
-struct ApplicationDeployment {
- 1: required string deploymentId = DEFAULT_ID,
- 2: required ComputeResourceDescription computeResourceDescription,
- 3: required ApplicationDescriptor applicationDescriptor,
-}
-
-struct ApplicationInterface {
- 1: required string applicationInterfaceId = DEFAULT_ID,
- 2: optional string applicationInterfaceData, //serialized ServiceDescriptor
- 3: optional list<ApplicationDeployment> applicationDeployments
-}
+ 2: required string applicationInterfaceId = DEFAULT_ID,
+ 3: required string applicationName,
+ 7: optional list<InputDataObjectType> applicationInputs,
+ 8: optional list<outputDataObjectType> applicationOutputs,
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/5662d5ca/airavata-api/thrift-interface-descriptions/computeHostModel.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/computeHostModel.thrift b/airavata-api/thrift-interface-descriptions/computeHostModel.thrift
index f42515e..01754d8 100644
--- a/airavata-api/thrift-interface-descriptions/computeHostModel.thrift
+++ b/airavata-api/thrift-interface-descriptions/computeHostModel.thrift
@@ -18,8 +18,8 @@
*
*/
-namespace java org.apache.airavata.model.appcatalog
-namespace php Airavata.Model.AppCatalog
+namespace java org.apache.airavata.model.computehost
+namespace php Airavata.Model.ComputeHost
const string DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS"
@@ -109,8 +109,6 @@ enum SecurityProtocol {
OAUTH
}
-
-
struct SCPDataMovement {
1: required string dataMovementDataID = DEFAULT_ID,
2: required SecurityProtocol securityProtocol,
@@ -150,7 +148,7 @@ struct GSISSHJobSubmission {
/**
* Computational Resource Description
*
- * resourceId:
+ * resourceId: Airavata Internal Unique Job ID. This is set by the registry.
*
* hostName:
* Fully Qualified Host Name.
@@ -176,29 +174,7 @@ struct ComputeResourceDescription {
4: optional set<string> hostAliases,
5: optional set<string> ipAddresses,
6: optional string resourceDescription,
- 7: optional string scratchLocation,
8: optional string preferredJobSubmissionProtocol,
9: required map<string, JobSubmissionProtocol> jobSubmissionProtocols,
10: required map<string, DataMovementProtocol> dataMovementProtocols
-}
-
-/**
- * Following structs are added for completeness of the application catalog
-*/
-
-struct ApplicationDescriptor {
- 1: required string applicationDescriptorId = DEFAULT_ID,
- 2: optional string applicationDescriptorData //serialized ApplicationDescriptor
-}
-
-struct ApplicationDeployment {
- 1: required string deploymentId = DEFAULT_ID,
- 2: required ComputeResourceDescription computeResourceDescription,
- 3: required ApplicationDescriptor applicationDescriptor,
-}
-
-struct ApplicationInterface {
- 1: required string applicationInterfaceId = DEFAULT_ID,
- 2: optional string applicationInterfaceData, //serialized ServiceDescriptor
- 3: optional list<ApplicationDeployment> applicationDeployments
-}
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/5662d5ca/airavata-api/thrift-interface-descriptions/gatewayProfileModel.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/gatewayProfileModel.thrift b/airavata-api/thrift-interface-descriptions/gatewayProfileModel.thrift
index f42515e..b48f8b2 100644
--- a/airavata-api/thrift-interface-descriptions/gatewayProfileModel.thrift
+++ b/airavata-api/thrift-interface-descriptions/gatewayProfileModel.thrift
@@ -148,7 +148,7 @@ struct GSISSHJobSubmission {
}
/**
- * Computational Resource Description
+ * Gateway Profile
*
* resourceId:
*
@@ -169,36 +169,11 @@ struct GSISSHJobSubmission {
* Option to specify a prefered data movement mechanism of the available options.
*
*/
-struct ComputeResourceDescription {
- 1: required bool isEmpty = 0,
- 2: required string resourceId = DEFAULT_ID,
- 3: required string hostName,
- 4: optional set<string> hostAliases,
- 5: optional set<string> ipAddresses,
- 6: optional string resourceDescription,
- 7: optional string scratchLocation,
- 8: optional string preferredJobSubmissionProtocol,
- 9: required map<string, JobSubmissionProtocol> jobSubmissionProtocols,
- 10: required map<string, DataMovementProtocol> dataMovementProtocols
-}
-
-/**
- * Following structs are added for completeness of the application catalog
-*/
-struct ApplicationDescriptor {
- 1: required string applicationDescriptorId = DEFAULT_ID,
- 2: optional string applicationDescriptorData //serialized ApplicationDescriptor
-}
-
-struct ApplicationDeployment {
- 1: required string deploymentId = DEFAULT_ID,
- 2: required ComputeResourceDescription computeResourceDescription,
- 3: required ApplicationDescriptor applicationDescriptor,
-}
-struct ApplicationInterface {
- 1: required string applicationInterfaceId = DEFAULT_ID,
- 2: optional string applicationInterfaceData, //serialized ServiceDescriptor
- 3: optional list<ApplicationDeployment> applicationDeployments
+struct GatewayProfile {
+ 1: required string gatewayID = DEFAULT_ID,
+ 2: required string gatewayName,
+ 3: optional string gatewayDescription,
+ 4: optional string preferedResource
}
[2/2] git commit: Merge remote-tracking branch 'origin/master'
Posted by sm...@apache.org.
Merge remote-tracking branch 'origin/master'
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/fdb3daa5
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/fdb3daa5
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/fdb3daa5
Branch: refs/heads/master
Commit: fdb3daa5ef3a27b440f7f374943620c523eccc73
Parents: 5662d5c 3a84ee8
Author: Suresh Marru <sm...@apache.org>
Authored: Thu Jun 26 15:46:45 2014 -0400
Committer: Suresh Marru <sm...@apache.org>
Committed: Thu Jun 26 15:46:45 2014 -0400
----------------------------------------------------------------------
.../airavata/gfac/core/cpi/BetterGfacImpl.java | 8 +-
.../gsissh/handler/GSISSHOutputHandler.java | 103 ++++++++++++++-----
2 files changed, 84 insertions(+), 27 deletions(-)
----------------------------------------------------------------------