Thrift module: application_deployment_model

This file describes the definitions of the Data Structures related to deployment of Application on computational resources.
ModuleServicesData typesConstants
application_deployment_model ApplicationDeploymentDescription
ApplicationModule
ApplicationParallelismType
CommandObject
SetEnvPaths

Enumerations

Enumeration: ApplicationParallelismType

Enumeration of application parallelism supported by Airavata SERIAL: Single processor applications without any parallelization. MPI: Messaging Passing Interface. OPENMP: Shared Memory Implementtaion. OPENMP_MPI: Hybrid Applications.

SERIAL0
MPI1
OPENMP2
OPENMP_MPI3
CCM4
CRAY_MPI5

Data structures

Struct: SetEnvPaths

KeyFieldTypeDescriptionRequirednessDefault value
1namestringrequired
2valuestringrequired
3envPathOrderi32optional

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 envPathOrder: The order of the setting of the env variables when there are multiple env variables

Struct: CommandObject

KeyFieldTypeDescriptionRequirednessDefault value
1commandstringrequired
2commandOrderi32optional

Job commands to be used in Pre Job, Post Job and Module Load Commands command: The actual command in string format commandOrder: Order of the command in the multiple command situation

Struct: ApplicationModule

KeyFieldTypeDescriptionRequirednessDefault value
1appModuleIdstringrequired"DO_NOT_SET_AT_CLIENTS"
2appModuleNamestringrequired
3appModuleVersionstringoptional
4appModuleDescriptionstringoptional

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: ApplicationDeploymentDescription

KeyFieldTypeDescriptionRequirednessDefault value
1appDeploymentIdstringrequired"DO_NOT_SET_AT_CLIENTS"
2appModuleIdstringrequired
3computeHostIdstringrequired
4executablePathstringrequired
5parallelismApplicationParallelismTyperequiredApplicationParallelismType.SERIAL
6appDeploymentDescriptionstringoptional
7moduleLoadCmdslist<CommandObject>optional
8libPrependPathslist<SetEnvPaths>optional
9libAppendPathslist<SetEnvPaths>optional
10setEnvironmentlist<SetEnvPaths>optional
11preJobCommandslist<CommandObject>optional
12postJobCommandslist<CommandObject>optional

Application Deployment Description appDeploymentId: Airavata Internal Unique Job ID. This is set by the registry. appModuleName: Application Module Name. This has to be precise describing the binary. computeHostId: This ID maps application deployment to a particular resource previously described within Airavata. Example: Stampede is first registered and refered when registering WRF. moduleLoadCmd: Command string to load modules. This will be placed in the job submisison Ex: module load amber libPrependPaths: prepend to a path variable the value libAppendPaths: append to a path variable the value setEnvironment: assigns to the environment variable "NAME" the value