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/27 04:20:32 UTC

git commit: Adding comments to descriptions.

Repository: airavata
Updated Branches:
  refs/heads/master bb958aadc -> ffb186f0a


Adding comments to descriptions.


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/ffb186f0
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/ffb186f0
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/ffb186f0

Branch: refs/heads/master
Commit: ffb186f0a69ca6efa7bdaf7d20e64381981ad09d
Parents: bb958aa
Author: Suresh Marru <sm...@apache.org>
Authored: Thu Jun 26 22:20:23 2014 -0400
Committer: Suresh Marru <sm...@apache.org>
Committed: Thu Jun 26 22:20:23 2014 -0400

----------------------------------------------------------------------
 .../applicationCatalogAPI.thrift                | 30 ++++++-
 .../applicationDeploymentModel.thrift           | 61 ++++++++++----
 .../applicationInterfaceModel.thrift            | 84 ++++++++++++++++----
 3 files changed, 142 insertions(+), 33 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/ffb186f0/airavata-api/thrift-interface-descriptions/applicationCatalogAPI.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/applicationCatalogAPI.thrift b/airavata-api/thrift-interface-descriptions/applicationCatalogAPI.thrift
index 99bb75b..383aafd 100644
--- a/airavata-api/thrift-interface-descriptions/applicationCatalogAPI.thrift
+++ b/airavata-api/thrift-interface-descriptions/applicationCatalogAPI.thrift
@@ -27,6 +27,7 @@
 include "airavataErrors.thrift"
 include "airavataDataModel.thrift"
 include "computeHostModel.thrift"
+include "applicationDeploymentModel.thrift"
 
 namespace java org.apache.airavata.api.appcatalog
 namespace php Airavata.API.AppCatalog
@@ -156,8 +157,35 @@ service ApplicationCatalogAPI {
             3: airavataErrors.AiravataSystemException ase)  
 
   /**
-   * Manage application deployments
+   * Manage application modules
   */
+
+  string registerAppicationModule(1: required applicationDeploymentModel.ApplicationModule applicationModule,
+            2:optional bool publish)
+    	throws (1: airavataErrors.InvalidRequestException ire,
+              2: airavataErrors.AiravataClientException ace,
+              3: airavataErrors.AiravataSystemException ase)
+
+  applicationDeploymentModel.ApplicationModule getAppicationModule(1: required string appModuleId)
+      	throws (1: airavataErrors.InvalidRequestException ire,
+                2: airavataErrors.AiravataClientException ace,
+                3: airavataErrors.AiravataSystemException ase)
+
+  bool updateAppicationModule(1: required string appModuleId,
+            2: required applicationDeploymentModel.ApplicationModule applicationModule)
+      	throws (1: airavataErrors.InvalidRequestException ire,
+                2: airavataErrors.AiravataClientException ace,
+                3: airavataErrors.AiravataSystemException ase)
+
+  bool deleteAppicationModule(1: required string appModuleId)
+         	throws (1: airavataErrors.InvalidRequestException ire,
+                   2: airavataErrors.AiravataClientException ace,
+                   3: airavataErrors.AiravataSystemException ase)
+
+  /**
+   * Manage application modules
+  */
+
   string addApplicationDeployment(1: required string applicationInterfaceId, 2: required computeHostModel.ApplicationDeployment applicationDeployment)
   	throws (1: airavataErrors.InvalidRequestException ire,
             2: airavataErrors.AiravataClientException ace,

http://git-wip-us.apache.org/repos/asf/airavata/blob/ffb186f0/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 bda709a..b368b41 100644
--- a/airavata-api/thrift-interface-descriptions/applicationDeploymentModel.thrift
+++ b/airavata-api/thrift-interface-descriptions/applicationDeploymentModel.thrift
@@ -18,21 +18,52 @@
  *
  */
 
+/**
+ * This file describes the definitions of the Data Structures related to deployment of Application on
+ *  computational resources.
+ *
+*/
+
 namespace java org.apache.airavata.model.application.deployment
 namespace php Airavata.Model.Application.Deployment
 
 const string DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS"
 
+/**
+ * Key Value pairs to be used to set environments
+ *
+ * name:
+ *   Name of the environment variable such as PATH, LD_LIBRARY_PATH, NETCDF_HOME.
+ *
+ * value:
+ *   Value of the environment variable to set
+*/
 struct SetEnvPaths {
     1: required string name,
     2: required string value
 }
 
+/**
+ * Application Module Information. A module has to be registered before registering a deployment.
+ *
+ * appModuleId: Airavata Internal Unique Job ID. This is set by the registry.
+ *
+ * appModuleName:
+ *   Name of the application module.
+ *
+ * appModuleVersion:
+ *   Version of the application.
+ *
+ * appModuleDescription:
+ *    Descriprion of the Module
+ *
+*/
 struct ApplicationModule {
-    1: required string appModuleId = DEFAULT_ID,
-    2: required string appModuleName,
-    3: optional string appModuleVersion,
-    4: optional string appModuleDescription
+    1: required bool isEmpty = 0,
+    2: required string appModuleId = DEFAULT_ID,
+    3: required string appModuleName,
+    4: optional string appModuleVersion,
+    5: optional string appModuleDescription
 }
 
 /**
@@ -47,7 +78,7 @@ struct ApplicationModule {
  *   This ID maps application deployment to a particular resource previously described within Airavata.
  *   Example: Stampede is first registered and refered when registering WRF.
  *
- * envModuleLoadCmd:
+ * moduleLoadCmd:
  *  Command string to load modules. This will be placed in the job submisison
  *  Ex: module load amber
  *
@@ -62,14 +93,14 @@ struct ApplicationModule {
  *
 */
 struct ApplicationDeploymentDescription {
-    1: required string appDeploymentId = DEFAULT_ID,
-    2: required string appModuleId,
-    3: required string computeHostId,
-    4: required string executablePath,
-	5: optional string appDeploymentDescription,
-	6: optional string envModuleLoadCmd,
-	7: optional list<SetEnvPaths> libPrependPaths,
-	8: optional list<SetEnvPaths> libAppendPaths,
-	9: optional list<SetEnvPaths> setEnvironment,
+    1: required bool isEmpty = 0,
+    2: required string appDeploymentId = DEFAULT_ID,
+    3: required string appModuleId,
+    4: required string computeHostId,
+    5: required string executablePath,
+	6: optional string appDeploymentDescription,
+	7: optional string moduleLoadCmd,
+	8: optional list<SetEnvPaths> libPrependPaths,
+	9: optional list<SetEnvPaths> libAppendPaths,
+	10: optional list<SetEnvPaths> setEnvironment,
 }
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/ffb186f0/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 5381feb..1a89380 100644
--- a/airavata-api/thrift-interface-descriptions/applicationInterfaceModel.thrift
+++ b/airavata-api/thrift-interface-descriptions/applicationInterfaceModel.thrift
@@ -18,15 +18,19 @@ ut/*
  *
  */
 
+/**
+ * This file describes the definitions of the Data Structures of Application interfaces. These interfaces are mapped
+ *  to application mapping on various resources.
+ *
+*/
+
 namespace java org.apache.airavata.model.application.interface
 namespace php Airavata.Model.Application.Interface
 
 const string DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS"
 
-
 /**
- * Data Types Supported in Airavata.
- *
+ * Data Types supported in Airavata. The primitive data types
  *
 */
 enum DataType{
@@ -37,27 +41,73 @@ enum DataType{
 }
 
 /**
-* Aplication Inputs
-*
+ * Application Inputs. The paramters describe how inputs are passed to the application.
+ *
+ * name:
+ *   Name of the parameter.
+ *
+ * value:
+ *   Value of the parameter. A default value could be set during registration.
+ *
+ * type:
+ *   Data type of the parameter
+ *
+ * applicationArguement:
+ *   The argument flag sent to the application. Such as -p pressure.
+ *
+ * standardInput:
+ *   When this value is set, the parameter is sent as standard input rather than a parameter.
+ *   Typically this is passed using redirection operator ">".
+ *
+ * userFriendlyDescription:
+ *   Description to be displayed at the user interface.
+ *
+ * metaData:
+ *   Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
+ *
 */
 struct InputDataObjectType {
-    1: required string key,
-    2: optional string value,
-    3: optional DataType type,
-    4: optional string metaData
-    5: optional string applicationParameter,
-    6: optional string applicationUIDescription
+    1: required bool isEmpty = 0,
+    2: required string name,
+    3: optional string value,
+    4: optional DataType type,
+    5: optional string applicationArguement,
+    6: optional bool standardInput = 0,
+    7: optional string userFriendlyDescription,
+    8: optional string metaData
 }
 
 /**
-* Aplication Outputs
-*
+ * Application Outputs. The paramters describe how outputs generated by the application.
+ *
+ * name:
+ *   Name of the parameter.
+ *
+ * value:
+ *   Value of the parameter.
+ *
+ * type:
+ *   Data type of the parameter
+ *
+ * applicationArguement:
+ *   The argument flag sent to the application. Such as -p pressure.
+ *
+ * standardInput:
+ *   When this value is set, the parameter is sent as standard input rather than a parameter.
+ *   Typically this is passed using redirection operator ">".
+ *
+ * userFriendlyDescription:
+ *   Description to be displayed at the user interface.
+ *
+ * metaData:
+ *   Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
+ *
 */
 struct OutputDataObjectType {
-    1: required string key,
-    2: optional string value,
-    3: optional DataType type,
-    4: optional string metaData
+    1: required bool isEmpty = 0,
+    2: required string name,
+    3: optional string value,
+    4: optional DataType type
 }
 
 /**