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/01/21 22:22:06 UTC

svn commit: r1560195 - in /airavata/trunk/modules/thrift-interfaces: airavata-api.thrift execution-datastructures.thrift

Author: smarru
Date: Tue Jan 21 21:22:06 2014
New Revision: 1560195

URL: http://svn.apache.org/r1560195
Log:
draft data structures

Added:
    airavata/trunk/modules/thrift-interfaces/execution-datastructures.thrift
Modified:
    airavata/trunk/modules/thrift-interfaces/airavata-api.thrift

Modified: airavata/trunk/modules/thrift-interfaces/airavata-api.thrift
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/thrift-interfaces/airavata-api.thrift?rev=1560195&r1=1560194&r2=1560195&view=diff
==============================================================================
--- airavata/trunk/modules/thrift-interfaces/airavata-api.thrift (original)
+++ airavata/trunk/modules/thrift-interfaces/airavata-api.thrift Tue Jan 21 21:22:06 2014
@@ -271,7 +271,7 @@ service Airavata {
    * @param ExperimentConfigurationData
    *    The configuration information of the experiment with application input parameters, computational resouce scheduling
    *      information, special input output handling and additional quality of service paramaters.
-   *   
+   *
    * @param experimentMetada
    *    Optionally update the experiment metadata. If provided, this information will overide the metadata described during the 
    *      create experiment step.

Added: airavata/trunk/modules/thrift-interfaces/execution-datastructures.thrift
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/thrift-interfaces/execution-datastructures.thrift?rev=1560195&view=auto
==============================================================================
--- airavata/trunk/modules/thrift-interfaces/execution-datastructures.thrift (added)
+++ airavata/trunk/modules/thrift-interfaces/execution-datastructures.thrift Tue Jan 21 21:22:06 2014
@@ -0,0 +1,104 @@
+/*
+ * 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
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+/*
+ * This file describes the definations of the Airavata Execution Data Structures. Each of the
+ *   lagunage specific Airavata Client SDK's will translate this neutral data model into an 
+ *   appropriate form for passing to the Airavata Server Execution API Calls.
+*/
+
+/**
+ * A structure holding the experimemt metadata.
+ *
+ * userName:
+ *   The user name of the targetted gateway end user on whos behalf the experiment is being created.
+ *     the associated gateway identity can only be infered from the security hand-shake so as to avoid
+ *     authorized Airavata Clients mimicing an unauthorized request. If a gateway is not registered with
+ *     Airavata, an authorization exception is thrown.
+ *
+ * experimentName:
+ *   The name of the expeiment as defined by the user. The name need not be unique as uniqueness is enforced
+ *      by the generated experiment id.
+ *
+ * experimentDescription:
+ *    The verbose description of the experiment. This is an optional parameter.
+*/
+struct ExperimentMetadata {
+  1: required string userName,
+  2: required string experimentName,
+  3: optional string experimentDescription,
+  4: optional bool shareExperimentPublicly = "false"
+}
+
+/**
+ * A structure holding the required Security Information to execute expriements.
+ *
+ * airavataCredStoreToken:
+ *   A requirement to execute experiments within Airavata is to first register the targetted remote computational account
+ *     credentials with Airavata Credential Store. The administrative API (related to credential store) will return a 
+ *     generated token associated with the registered credentials. The client has to securily posses this token id and is 
+ *     required to pass it to Airavata Server for all execution requests.
+*/
+struct ExecutionSecurityParameters {
+  1:optional string airavataCredStoreToken
+}
+
+
+/**
+ * A structure holding the Computational Resource Scheduling.
+ *
+*/
+struct ComputationalResourceScheduling {
+  1:required bool airavataAutoSchedule = "true"
+  2:required bool overrideManualScheduledParams = "false",
+  3:optional string resourceHostId,
+  4:optional i32 cpuCount,
+  4:optional i32 nodeCount,
+  5:optional string queueName,
+  6:optional i32 maxWalltime
+}
+
+/**
+ * A structure holding specified input data handling.
+ *
+*/
+struct InputDataHandling {
+    1:optional bool stageInputFilesToWorkingDir = "false"
+}
+
+/**
+ * A structure holding specified output data handling.
+ *
+*/
+struct OutputDataHandling {
+    2:optional string outputdataDir,
+    3:optional string dataRegistryURL,
+    4:optional bool persistOutputData = "true"
+}
+
+/**
+ * A structure holding the configuration data of an experimemt.
+ *
+*/
+struct ExperimentConfigurationData {
+  1: required ComputationalResourceScheduling computationalResourceScheduling,
+  2: optional InputDataHandling inputDataHandling,
+  2: optional OutputDataHandling OutputDataHandling
+}