This is an automated email from the ASF dual-hosted git repository.

machristie pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit f13c17fe41bfdd1a4c8e35a88ab16f534190b523
Author: [email protected] <Dimu@1234>
AuthorDate: Wed Jan 17 11:30:10 2018 -0500

    Fixing AIRAVATA-2621
---
 .../airavata/gfac/core/context/ProcessContext.java | 33 +++++++++++++++++++++-
 .../apache/airavata/gfac/impl/GFacEngineImpl.java  |  2 +-
 2 files changed, 33 insertions(+), 2 deletions(-)

diff --git 
a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/ProcessContext.java
 
b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/ProcessContext.java
index 6ca29e3..3f45ff4 100644
--- 
a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/ProcessContext.java
+++ 
b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/ProcessContext.java
@@ -43,6 +43,7 @@ import org.apache.airavata.model.status.ProcessState;
 import org.apache.airavata.model.status.ProcessStatus;
 import org.apache.airavata.model.task.TaskModel;
 import org.apache.airavata.registry.cpi.AppCatalog;
+import org.apache.airavata.registry.cpi.AppCatalogException;
 import org.apache.airavata.registry.cpi.ExperimentCatalog;
 import org.apache.curator.framework.CuratorFramework;
 import org.slf4j.Logger;
@@ -620,7 +621,37 @@ public class ProcessContext {
                }
        }
 
-       public ServerInfo getComputeResourceServerInfo(){
+       public ServerInfo getComputeResourceServerInfo() throws GFacException {
+
+               if (this.jobSubmissionProtocol  == JobSubmissionProtocol.SSH) {
+                       Optional<JobSubmissionInterface> 
firstJobSubmissionIface = getComputeResourceDescription()
+                                       .getJobSubmissionInterfaces().stream()
+                                       .filter(iface -> 
iface.getJobSubmissionProtocol() == JobSubmissionProtocol.SSH)
+                                       .findFirst();
+
+                       if (firstJobSubmissionIface.isPresent()) {
+
+                               try {
+                    SSHJobSubmission sshJobSubmission = 
appCatalog.getComputeResource()
+                            
.getSSHJobSubmission(firstJobSubmissionIface.get().getJobSubmissionInterfaceId());
+
+                                       String alternateHostName = 
sshJobSubmission.getAlternativeSSHHostName();
+                                       String hostName = !(alternateHostName 
== null || alternateHostName.length() == 0) ? alternateHostName :
+                                                               
getComputeResourceDescription().getHostName();
+
+                                       return new ServerInfo(
+                                                       
getComputeResourceLoginUserName(),
+                                                       hostName,
+                                                       
getComputeResourceCredentialToken(),
+                                                       
sshJobSubmission.getSshPort());
+
+                               } catch (AppCatalogException e) {
+                                       throw new GFacException("Failed to 
fetch ssh job submission for interface " +
+                            
firstJobSubmissionIface.get().getJobSubmissionInterfaceId(), e);
+                               }
+                       }
+               }
+
                return new ServerInfo(getComputeResourceLoginUserName(),
                                getComputeResourceDescription().getHostName(),
                                getComputeResourceCredentialToken());
diff --git 
a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
 
b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
index ac3e755..e81f164 100644
--- 
a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
+++ 
b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
@@ -848,7 +848,7 @@ public class GFacEngineImpl implements GFacEngine {
     }
 
     private TaskContext getDataStagingTaskContext(ProcessContext 
processContext, OutputDataObjectType processOutput)
-            throws TException, TaskException {
+            throws TException, TaskException, GFacException {
         TaskContext taskCtx = new TaskContext();
         taskCtx.setParentProcessContext(processContext);
         // create new task model for this task

-- 
To stop receiving notification emails like this one, please contact
"[email protected]" <[email protected]>.

Reply via email to