You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2015/11/03 20:47:59 UTC

[34/51] [abbrv] airavata git commit: get remote data location till we have data storage preferences saved

get remote data location till we have data storage preferences saved


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

Branch: refs/heads/master
Commit: 80ac14c356ea135a741261a08a85dfc8843bcc78
Parents: d071d8e
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Wed Oct 21 14:04:06 2015 -0400
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Wed Oct 21 14:04:06 2015 -0400

----------------------------------------------------------------------
 .../airavata/common/utils/ServerSettings.java   | 10 ++++++++
 .../main/resources/airavata-server.properties   |  3 +++
 .../cpi/impl/SimpleOrchestratorImpl.java        | 24 ++++++++++++--------
 3 files changed, 28 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/80ac14c3/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
----------------------------------------------------------------------
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
index becad00..6196c07 100644
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
+++ b/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
@@ -36,6 +36,8 @@ public class ServerSettings extends ApplicationSettings {
     private static final String DEFAULT_USER_PASSWORD = "default.registry.password";
     private static final String DEFAULT_USER_GATEWAY = "default.registry.gateway";
     private static final String LOCAL_DATA_DIR = "local.data.dir";
+    private static final String REMOTE_DATA_DIR = "remote.data.dir";
+    private static final String CLIENT_HOST_NAME = "client.host.name";
 
     public static final String IP = "ip";
 
@@ -378,4 +380,12 @@ public class ServerSettings extends ApplicationSettings {
     public static String getLocalDataLocation() {
         return getSetting(LOCAL_DATA_DIR, System.getProperty("java.io.tmpdir"));
     }
+
+    public static String getRemoteDataLocation() throws ApplicationSettingsException {
+        return getSetting(LOCAL_DATA_DIR);
+    }
+
+    public static String getClientHostName() throws ApplicationSettingsException {
+        return getSetting(CLIENT_HOST_NAME);
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/80ac14c3/modules/configuration/server/src/main/resources/airavata-server.properties
----------------------------------------------------------------------
diff --git a/modules/configuration/server/src/main/resources/airavata-server.properties b/modules/configuration/server/src/main/resources/airavata-server.properties
index cb4d93d..cf36a39 100644
--- a/modules/configuration/server/src/main/resources/airavata-server.properties
+++ b/modules/configuration/server/src/main/resources/airavata-server.properties
@@ -50,6 +50,9 @@ default.registry.password.hash.method=SHA
 default.registry.gateway=php_reference_gateway
 # this is the path used to store intermediate data, this will be removed with third party file transfer implementation.
 local.data.dir=/home/airavata/experimentData/
+# FIXME : These properties need to be removed once we start saving data transfer preferences
+remote.data.dir=/var/www/portal/experimentData/
+client.host.name=gw75.iu.xsede.org
 
 #ip=127.0.0.1
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/80ac14c3/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
index 92bd991..2bba23f 100644
--- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
+++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
@@ -20,7 +20,9 @@
 */
 package org.apache.airavata.orchestrator.cpi.impl;
 
+import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.AiravataUtils;
+import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.common.utils.ThriftUtils;
 import org.apache.airavata.gfac.core.task.TaskException;
 import org.apache.airavata.model.appcatalog.computeresource.*;
@@ -388,11 +390,7 @@ public class SimpleOrchestratorImpl extends AbstractOrchestrator{
             for (OutputDataObjectType processOutput : processOutputs) {
                 DataType type = processOutput.getType();
                 switch (type) {
-                    case STDERR:
-                        break;
-                    case STDOUT:
-                        break;
-                    case URI:
+                    case URI: case STDOUT : case STDERR:
                         try {
                             TaskModel outputDataStagingTask = getOutputDataStagingTask(processModel, processOutput, gatewayId);
                             String taskId = (String) orchestratorContext.getRegistry().getExperimentCatalog().add(ExpCatChildDataType.TASK, outputDataStagingTask,
@@ -400,7 +398,9 @@ public class SimpleOrchestratorImpl extends AbstractOrchestrator{
                             outputDataStagingTask.setTaskId(taskId);
                             dataStagingTaskIds.add(outputDataStagingTask.getTaskId());
                         } catch (TException e) {
-                            throw new RegistryException("Error while serializing data staging sub task model");
+                            throw new RegistryException("Error while serializing data staging sub task model", e);
+                        } catch (ApplicationSettingsException e) {
+                            throw new RegistryException("Error while reading airavata server properties", e);
                         }
                         break;
                     default:
@@ -485,7 +485,7 @@ public class SimpleOrchestratorImpl extends AbstractOrchestrator{
         return taskModel;
     }
 
-    private TaskModel getOutputDataStagingTask(ProcessModel processModel, OutputDataObjectType processOutput, String gatewayId) throws RegistryException, TException {
+    private TaskModel getOutputDataStagingTask(ProcessModel processModel, OutputDataObjectType processOutput, String gatewayId) throws RegistryException, TException, ApplicationSettingsException {
         try {
 
             // create new task model for this task
@@ -497,11 +497,15 @@ public class SimpleOrchestratorImpl extends AbstractOrchestrator{
             taskStatus.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
             taskModel.setTaskStatus(taskStatus);
             taskModel.setTaskType(TaskTypes.DATA_STAGING);
-            // create data staging sub task model
+            // We assume output location is set at data storage preference
             DataStoragePreference dataStoragePreference = OrchestratorUtils.getDateStoragePreference(orchestratorContext, processModel, gatewayId);
             ComputeResourcePreference computeResourcePreference = OrchestratorUtils.getComputeResourcePreference(orchestratorContext, processModel, gatewayId);
             ComputeResourceDescription computeResource = orchestratorContext.getRegistry().getAppCatalog().getComputeResource().getComputeResource(processModel.getComputeResourceId());
-            String remoteOutputDir = dataStoragePreference.getFileSystemRootLocation();
+            // FIXME : need to fix once we start saving data storage preferences
+            String remoteOutputDir = ServerSettings.getRemoteDataLocation();
+            if (dataStoragePreference != null){
+                remoteOutputDir = dataStoragePreference.getFileSystemRootLocation();
+            }
             remoteOutputDir = remoteOutputDir.endsWith("/") ? remoteOutputDir : remoteOutputDir + "/";
             DataStagingTaskModel submodel = new DataStagingTaskModel();
             submodel.setType(DataStageType.OUPUT);
@@ -523,6 +527,8 @@ public class SimpleOrchestratorImpl extends AbstractOrchestrator{
             return taskModel;
         } catch (AppCatalogException | TaskException e) {
            throw new RegistryException("Error occurred while retrieving data movement from app catalog", e);
+        } catch (ApplicationSettingsException e) {
+            throw new ApplicationSettingsException("Error occurred while reading airavata-server.properties", e);
         }
     }