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
}
/**