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(-)
----------------------------------------------------------------------