airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sma...@apache.org
Subject [1/6] Updating ComputeResource Namespace to align with application descrrptions - AIRAVATA-1203
Date Thu, 03 Jul 2014 14:10:25 GMT
Repository: airavata
Updated Branches:
  refs/heads/master 1ae4201d1 -> 169e6f9d1


http://git-wip-us.apache.org/repos/asf/airavata/blob/169e6f9d/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift b/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
new file mode 100644
index 0000000..7c5c970
--- /dev/null
+++ b/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
@@ -0,0 +1,180 @@
+/*
+ * 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.
+ *
+ */
+
+namespace java org.apache.airavata.model.appcatalog.computeresource
+namespace php Airavata.Model.AppCatalog.ComputeResource
+
+const string DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS"
+
+/**
+ * Enumeration of local resource job managers supported by Airavata
+ *
+ * FORK:
+ *  Forking of commands without any job manager
+ *
+ * PBS:
+ *  Job manager supporting the Portal Batch System (PBS) protocol. Some examples include
TORQUE, PBSPro, Grid Engine.
+ *
+ * UGE:
+ *  Univa Grid Engine, a variation of PBS implementation.
+ *
+ * SLURM:
+ *  The Simple Linux Utility for Resource Management is a open source workload manager.
+ *
+*/
+enum ResourceJobManager {
+    FORK,
+    PBS,
+    UGE,
+    SLURM
+}
+
+/**
+ * Enumeration of Airavata supported Job Submission Mechanisms for High Perforamance Computing
Clusters.
+ *
+ * SSH:
+ *  Execute remote job submission commands using via secure shell protocol.
+ *
+ * GRAM:
+ *  Execute remote jobs via Globus GRAM service.
+ *
+ * UNICORE:
+ *  Execute remote jobs via Unicore services
+ *
+*/
+enum JobSubmissionProtocol {
+    SSH,
+    GSISSH,
+    GRAM,
+    UNICORE
+}
+
+/**
+ * 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 {
+    SCP,
+    SFTP,
+    GridFTP,
+    UNICORE_STORAGE_SERVICE
+}
+
+/**
+ * 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
+ *
+*/
+enum SecurityProtocol {
+    USERNAME_PASSWORD,
+    SSH_KEYS,
+    GSI,
+    KERBEROS,
+    OAUTH
+}
+
+struct SCPDataMovement {
+    1: required string dataMovementDataID = DEFAULT_ID,
+    2: required SecurityProtocol securityProtocol,
+    3: optional i32 sshPort = 22
+}
+
+struct GridFTPDataMovement {
+    1: required string dataMovementDataID = DEFAULT_ID,
+    2: required SecurityProtocol securityProtocol,
+    3: required list<string>  gridFTPEndPoint
+}
+
+struct SSHJobSubmission {
+    1: required string jobSubmissionDataID = DEFAULT_ID,
+    2: required ResourceJobManager resourceJobManager,
+    3: optional i32 sshPort = 22
+}
+
+struct GlobusJobSubmission {
+    1: required string jobSubmissionDataID = DEFAULT_ID,
+    2: required SecurityProtocol securityProtocol,
+    3: required ResourceJobManager resourceJobManager,
+    4: optional list<string> globusGateKeeperEndPoint
+}
+
+struct GSISSHJobSubmission {
+    1: required string jobSubmissionDataID = DEFAULT_ID,
+    2: required ResourceJobManager resourceJobManager,
+    3: optional i32 sshPort = 22,
+    4: optional set<string> exports,
+    5: optional list<string> preJobCommands,
+    6: optional list<string> postJobCommands,
+    7: optional string installedPath,
+    8: optional string monitorMode
+}
+
+/**
+ * Computational Resource Description
+ *
+ * resourceId: Airavata Internal Unique Job ID. This is set by the registry.
+ *
+ * hostName:
+ *   Fully Qualified Host Name.
+ *
+ * ipAddress:
+ *   IP Addresse of the Hostname.
+ *
+ * resourceDescription:
+ *  A user friendly description of the hostname.
+ *
+ * JobSubmissionProtocols:
+ *  A computational resources may have one or more ways of submitting Jobs. This structure
+ *  will hold all available mechanisms to interact with the resource.
+ *
+ * DataMovementProtocol:
+ *  Option to specify a prefered data movement mechanism of the available options.
+ *
+*/
+struct ComputeResourceDescription {
+    1: required bool isEmpty = 0,
+    2: required string resourceId = DEFAULT_ID,
+    3: required string hostName,
+    4: optional set<string> hostAliases,
+    5: optional set<string> ipAddresses,
+    6: optional string resourceDescription,
+    8: optional string preferredJobSubmissionProtocol,
+    9: required map<string, JobSubmissionProtocol> jobSubmissionProtocols,
+    10: required map<string, DataMovementProtocol> dataMovementProtocols
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/169e6f9d/airavata-api/thrift-interface-descriptions/experimentModel.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/experimentModel.thrift b/airavata-api/thrift-interface-descriptions/experimentModel.thrift
index 295720a..3f61123 100644
--- a/airavata-api/thrift-interface-descriptions/experimentModel.thrift
+++ b/airavata-api/thrift-interface-descriptions/experimentModel.thrift
@@ -18,7 +18,7 @@
  *
  */
 
-include "computeHostModel.thrift"
+include "computeResourceModel.thrift"
 
 namespace java org.apache.airavata.model.workspace.experiment
 namespace php Airavata.Model.Workspace.Experiment

http://git-wip-us.apache.org/repos/asf/airavata/blob/169e6f9d/modules/app-catalog/app-catalog-cpi/src/main/java/org/airavata/appcatalog/cpi/ComputeResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-cpi/src/main/java/org/airavata/appcatalog/cpi/ComputeResource.java
b/modules/app-catalog/app-catalog-cpi/src/main/java/org/airavata/appcatalog/cpi/ComputeResource.java
index e0766d5..dbe0bf7 100644
--- a/modules/app-catalog/app-catalog-cpi/src/main/java/org/airavata/appcatalog/cpi/ComputeResource.java
+++ b/modules/app-catalog/app-catalog-cpi/src/main/java/org/airavata/appcatalog/cpi/ComputeResource.java
@@ -1,6 +1,6 @@
 package org.airavata.appcatalog.cpi;
 
-import org.apache.airavata.model.computehost.*;
+import org.apache.airavata.model.appcatalog.computeresource.*;
 
 import java.util.List;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/airavata/blob/169e6f9d/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
index fc2f30a..7cdf362 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
@@ -26,7 +26,7 @@ import org.airavata.appcatalog.cpi.ComputeResource;
 import org.apache.aiaravata.application.catalog.data.resources.*;
 import org.apache.aiaravata.application.catalog.data.util.AppCatalogThriftConversion;
 import org.apache.aiaravata.application.catalog.data.util.AppCatalogUtils;
-import org.apache.airavata.model.computehost.*;
+import org.apache.airavata.model.appcatalog.computeresource.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/169e6f9d/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GSISSHExport.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GSISSHExport.java
b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GSISSHExport.java
index 1113859..d3896f6 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GSISSHExport.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GSISSHExport.java
@@ -21,7 +21,7 @@
 
 package org.apache.aiaravata.application.catalog.data.model;
 
-import org.apache.airavata.model.computehost.GSISSHJobSubmission;
+import org.apache.airavata.model.appcatalog.computeresource.GSISSHJobSubmission;
 
 import javax.persistence.*;
 import java.io.Serializable;

http://git-wip-us.apache.org/repos/asf/airavata/blob/169e6f9d/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GSISSHPostJobCommand.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GSISSHPostJobCommand.java
b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GSISSHPostJobCommand.java
index 75185f1..5d2582d 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GSISSHPostJobCommand.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GSISSHPostJobCommand.java
@@ -21,7 +21,7 @@
 
 package org.apache.aiaravata.application.catalog.data.model;
 
-import org.apache.airavata.model.computehost.GSISSHJobSubmission;
+import org.apache.airavata.model.appcatalog.computeresource.GSISSHJobSubmission;
 
 import javax.persistence.*;
 import java.io.Serializable;

http://git-wip-us.apache.org/repos/asf/airavata/blob/169e6f9d/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GSISSHPreJobCommand.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GSISSHPreJobCommand.java
b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GSISSHPreJobCommand.java
index 87c71a6..7e393b8 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GSISSHPreJobCommand.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GSISSHPreJobCommand.java
@@ -21,7 +21,7 @@
 
 package org.apache.aiaravata.application.catalog.data.model;
 
-import org.apache.airavata.model.computehost.GSISSHJobSubmission;
+import org.apache.airavata.model.appcatalog.computeresource.GSISSHJobSubmission;
 
 import javax.persistence.*;
 import java.io.Serializable;

http://git-wip-us.apache.org/repos/asf/airavata/blob/169e6f9d/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
index 4d0d3c4..027c313 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
@@ -32,7 +32,7 @@ import org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDes
 import org.apache.airavata.model.appcatalog.appinterface.DataType;
 import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
 import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
-import org.apache.airavata.model.computehost.*;
+import org.apache.airavata.model.appcatalog.computeresource.*;
 
 import java.util.*;
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/169e6f9d/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/AppDeploymentTest.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/AppDeploymentTest.java
b/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/AppDeploymentTest.java
index d0d84c6..68ec31c 100644
--- a/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/AppDeploymentTest.java
+++ b/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/AppDeploymentTest.java
@@ -29,7 +29,7 @@ import org.apache.airavata.common.utils.AiravataUtils;
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription;
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule;
 import org.apache.airavata.model.appcatalog.appdeployment.SetEnvPaths;
-import org.apache.airavata.model.computehost.ComputeResourceDescription;
+import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/airavata/blob/169e6f9d/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
b/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
index e658eaa..64c61e6 100644
--- a/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
+++ b/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
@@ -29,7 +29,7 @@ import org.apache.aiaravata.application.catalog.data.impl.AppCatalogFactory;
 import org.apache.aiaravata.application.catalog.data.resources.AbstractResource;
 import org.apache.airavata.app.catalog.test.util.Initialize;
 import org.apache.airavata.common.utils.AiravataUtils;
-import org.apache.airavata.model.computehost.*;
+import org.apache.airavata.model.appcatalog.computeresource.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/airavata/blob/169e6f9d/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
index 16a07e6..862a95f 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
@@ -74,13 +74,13 @@ import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentD
 import org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription;
 import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
 import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
-import org.apache.airavata.model.computehost.ComputeResourceDescription;
-import org.apache.airavata.model.computehost.DataMovementProtocol;
-import org.apache.airavata.model.computehost.GSISSHJobSubmission;
-import org.apache.airavata.model.computehost.GlobusJobSubmission;
-import org.apache.airavata.model.computehost.GridFTPDataMovement;
-import org.apache.airavata.model.computehost.JobSubmissionProtocol;
-import org.apache.airavata.model.computehost.SSHJobSubmission;
+import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
+import org.apache.airavata.model.appcatalog.computeresource.DataMovementProtocol;
+import org.apache.airavata.model.appcatalog.computeresource.GSISSHJobSubmission;
+import org.apache.airavata.model.appcatalog.computeresource.GlobusJobSubmission;
+import org.apache.airavata.model.appcatalog.computeresource.GridFTPDataMovement;
+import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol;
+import org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission;
 import org.apache.airavata.model.workspace.experiment.DataObjectType;
 import org.apache.airavata.model.workspace.experiment.Experiment;
 import org.apache.airavata.model.workspace.experiment.ExperimentState;

http://git-wip-us.apache.org/repos/asf/airavata/blob/169e6f9d/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/scheduler/HostScheduler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/scheduler/HostScheduler.java
b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/scheduler/HostScheduler.java
index c53fcae..39bca92 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/scheduler/HostScheduler.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/scheduler/HostScheduler.java
@@ -22,7 +22,7 @@ package org.apache.airavata.gfac.core.scheduler;
 
 import java.util.List;
 
-import org.apache.airavata.model.computehost.ComputeResourceDescription;
+import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
 
 public  interface HostScheduler {
     /**

http://git-wip-us.apache.org/repos/asf/airavata/blob/169e6f9d/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/scheduler/impl/SimpleHostScheduler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/scheduler/impl/SimpleHostScheduler.java
b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/scheduler/impl/SimpleHostScheduler.java
index 3f879c5..37aed30 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/scheduler/impl/SimpleHostScheduler.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/scheduler/impl/SimpleHostScheduler.java
@@ -23,7 +23,7 @@ package org.apache.airavata.gfac.core.scheduler.impl;
 import java.util.List;
 
 import org.apache.airavata.gfac.core.scheduler.HostScheduler;
-import org.apache.airavata.model.computehost.ComputeResourceDescription;
+import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
 
 public class SimpleHostScheduler implements HostScheduler {
     public ComputeResourceDescription schedule(List<ComputeResourceDescription> registeredHosts)
{

http://git-wip-us.apache.org/repos/asf/airavata/blob/169e6f9d/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
b/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
index 3dc0b91..d89a05a 100644
--- a/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
+++ b/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
@@ -45,7 +45,7 @@ import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.gfac.core.scheduler.HostScheduler;
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription;
 import org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription;
-import org.apache.airavata.model.computehost.ComputeResourceDescription;
+import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
 import org.apache.airavata.model.error.LaunchValidationException;
 import org.apache.airavata.model.workspace.experiment.Experiment;
 import org.apache.airavata.model.workspace.experiment.ExperimentState;


Mime
View raw message