airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From scnakand...@apache.org
Subject [02/50] [abbrv] airavata git commit: moving data movement structs to common thrift file
Date Wed, 16 Dec 2015 03:50:49 GMT
moving data movement structs to common thrift file


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

Branch: refs/heads/master
Commit: 1f0337851990253fca055e1c1d8be7cd1a93b7ff
Parents: 77a7e77
Author: Chathuri Wimalasena <chathuri@apache.org>
Authored: Mon Nov 23 14:21:52 2015 -0500
Committer: scnakandala <supun.nakandala@gmail.com>
Committed: Tue Dec 15 21:08:33 2015 -0500

----------------------------------------------------------------------
 .../appcatalog/computeresource/DMType.java      |  62 --------
 .../airavata-api/data_movement_models.thrift    | 154 +++++++++++++++++++
 2 files changed, 154 insertions(+), 62 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/1f033785/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DMType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DMType.java
b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DMType.java
deleted file mode 100644
index 4cb727e..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DMType.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * 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.
- */
-
-/**
- * Autogenerated by Thrift Compiler (0.9.2)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.appcatalog.computeresource;
-
-
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
-public enum DMType implements org.apache.thrift.TEnum {
-  COMPUTE_RESOURCE(0),
-  STORAGE_RESOURCE(1);
-
-  private final int value;
-
-  private DMType(int value) {
-    this.value = value;
-  }
-
-  /**
-   * Get the integer value of this enum value, as defined in the Thrift IDL.
-   */
-  public int getValue() {
-    return value;
-  }
-
-  /**
-   * Find a the enum type by its integer value, as defined in the Thrift IDL.
-   * @return null if the value is not found.
-   */
-  public static DMType findByValue(int value) { 
-    switch (value) {
-      case 0:
-        return COMPUTE_RESOURCE;
-      case 1:
-        return STORAGE_RESOURCE;
-      default:
-        return null;
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/1f033785/thrift-interface-descriptions/airavata-api/data_movement_models.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/airavata-api/data_movement_models.thrift b/thrift-interface-descriptions/airavata-api/data_movement_models.thrift
new file mode 100644
index 0000000..677d790
--- /dev/null
+++ b/thrift-interface-descriptions/airavata-api/data_movement_models.thrift
@@ -0,0 +1,154 @@
+/*
+ * 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.
+ *
+ */
+
+include "airavata_commons.thrift"
+
+namespace java org.apache.airavata.model.data.movement
+namespace php Airavata.Model.Data.Movement
+namespace cpp apache.airavata.model.data.movement
+namespace py apache.airavata.model.data.movement
+
+enum DMType {
+    COMPUTE_RESOURCE,
+    STORAGE_RESOURCE
+}
+
+/**
+ * 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
+ *
+ * FIXME: Change GSI to a more precise generic security protocol - X509
+ *
+*/
+enum SecurityProtocol {
+    USERNAME_PASSWORD,
+    SSH_KEYS,
+    GSI,
+    KERBEROS,
+    OAUTH,
+    LOCAL
+}
+
+
+/**
+ * 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 {
+    LOCAL,
+    SCP,
+    SFTP,
+    GridFTP,
+    UNICORE_STORAGE_SERVICE
+}
+
+/**
+ * Data Movement through Secured Copy
+ *
+ * alternativeSCPHostName:
+ *  If the login to scp is different than the hostname itself, specify it here
+ *
+ * sshPort:
+ *  If a non-default port needs to used, specify it.
+*/
+struct SCPDataMovement {
+    1: required string dataMovementInterfaceId = airavata_commons.DEFAULT_ID,
+    2: required SecurityProtocol securityProtocol,
+    3: optional string alternativeSCPHostName,
+    4: optional i32 sshPort = 22
+}
+
+/**
+ * Data Movement through GridFTP
+ *
+ * alternativeSCPHostName:
+ *  If the login to scp is different than the hostname itself, specify it here
+ *
+ * sshPort:
+ *  If a non-default port needs to used, specify it.
+*/
+struct GridFTPDataMovement {
+    1: required string dataMovementInterfaceId = airavata_commons.DEFAULT_ID,
+    2: required SecurityProtocol securityProtocol,
+    3: required list<string>  gridFTPEndPoints
+}
+
+/**
+ * Data Movement through UnicoreStorage
+ *
+ * unicoreEndPointURL:
+ *  unicoreGateway End Point. The provider will query this service to fetch required service
end points.
+*/
+struct UnicoreDataMovement {
+    1: required string dataMovementInterfaceId = airavata_commons.DEFAULT_ID,
+    2: required SecurityProtocol securityProtocol,
+    3: required string unicoreEndPointURL
+}
+
+/**
+ * LOCAL
+ *
+ * alternativeSCPHostName:
+ *  If the login to scp is different than the hostname itself, specify it here
+ *
+ * sshPort:
+ *  If a non-defualt port needs to used, specify it.
+*/
+struct LOCALDataMovement {
+    1: required string dataMovementInterfaceId = airavata_commons.DEFAULT_ID,
+}
+
+/**
+ * Data Movement Interfaces
+ *
+ * dataMovementInterfaceId: The Data Movement Interface has to be previously registered and
referenced here.
+ *
+ * priorityOrder:
+ *  For resources with multiple interfaces, the priority order should be selected.
+ *   Lower the numerical number, higher the priority
+ *
+*/
+struct DataMovementInterface {
+    1: required string dataMovementInterfaceId,
+    2: required DataMovementProtocol dataMovementProtocol,
+    3: required i32 priorityOrder = 0,
+}
+
+
+


Mime
View raw message