You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sh...@apache.org on 2015/06/09 18:17:22 UTC

airavata git commit: reverted 919e6d657ca3da7954 and f4d8fb9a1096a2c647 which substring the jobId, then add backlight computer resouce to email based monitor code

Repository: airavata
Updated Branches:
  refs/heads/airavata-0.15-release-branch df5b46459 -> 5200ce5ca


reverted 919e6d657ca3da7954 and f4d8fb9a1096a2c647 which substring the jobId, then add backlight computer resouce to email based monitor code


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

Branch: refs/heads/airavata-0.15-release-branch
Commit: 5200ce5ca65c7ff4befed645d28bab006a3f1c61
Parents: df5b464
Author: Shameera Rathanyaka <sh...@gmail.com>
Authored: Tue Jun 9 12:17:16 2015 -0400
Committer: Shameera Rathanyaka <sh...@gmail.com>
Committed: Tue Jun 9 12:17:16 2015 -0400

----------------------------------------------------------------------
 .../gfac/monitor/email/EmailBasedMonitor.java   |  7 ++-
 .../gfac/ssh/provider/impl/SSHProvider.java     | 52 +++++++++-----------
 .../gsi/ssh/api/job/PBSOutputParser.java        |  3 ++
 .../gsi/ssh/impl/GSISSHAbstractCluster.java     |  9 ----
 4 files changed, 28 insertions(+), 43 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/5200ce5c/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
index fd9d536..a9363cb 100644
--- a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
+++ b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
@@ -157,10 +157,9 @@ public class EmailBasedMonitor implements Runnable{
             default:
                 if (addressStr.contains("ls4.tacc.utexas.edu>")) { // lonestar
                     return ResourceJobManagerType.UGE;
-                } else if (addressStr.contains("blacklight.psc.xsede.org")){
-                	 return ResourceJobManagerType.PBS;
-                }
-                	else {
+                } else if (addressStr.contains("blacklight.psc.xsede.org")) {
+                    return ResourceJobManagerType.PBS;
+                } else {
                     throw new AiravataException("[EJM]: Couldn't identify Resource job manager type from address " + addressStr);
                 }
         }

http://git-wip-us.apache.org/repos/asf/airavata/blob/5200ce5c/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/provider/impl/SSHProvider.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/provider/impl/SSHProvider.java b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/provider/impl/SSHProvider.java
index 27708c7..a9eaae2 100644
--- a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/provider/impl/SSHProvider.java
+++ b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/provider/impl/SSHProvider.java
@@ -21,18 +21,6 @@
 
 package org.apache.airavata.gfac.ssh.provider.impl;
 
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.Calendar;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-import java.util.Set;
-
 import org.airavata.appcatalog.cpi.AppCatalogException;
 import org.apache.airavata.common.exception.AiravataException;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
@@ -72,15 +60,19 @@ import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManagerTy
 import org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission;
 import org.apache.airavata.model.workspace.experiment.CorrectiveAction;
 import org.apache.airavata.model.workspace.experiment.ErrorCategory;
+import org.apache.airavata.model.workspace.experiment.ExperimentState;
 import org.apache.airavata.model.workspace.experiment.JobDetails;
 import org.apache.airavata.model.workspace.experiment.JobState;
 import org.apache.airavata.model.workspace.experiment.TaskState;
 import org.apache.xmlbeans.XmlException;
+import org.apache.zookeeper.KeeperException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-
 import sun.reflect.generics.reflectiveObjects.NotImplementedException;
 
+import java.io.*;
+import java.util.*;
+
 /**
  * Execute application using remote SSH
  */
@@ -178,27 +170,27 @@ public class SSHProvider extends AbstractProvider {
                         monitorPublisher.publish(new GfacExperimentStateChangeRequest(new MonitorID(jobExecutionContext)
                                 , GfacExperimentState.JOBSUBMITTED));
                         jobExecutionContext.setJobDetails(jobDetails);
-                        try {
-							boolean verifyJobSubmissionByJobId = verifyJobSubmissionByJobId(cluster, jobID);
-							if (verifyJobSubmissionByJobId) {
-							    monitorPublisher.publish(new GfacExperimentStateChangeRequest(new MonitorID(jobExecutionContext)
-							            , GfacExperimentState.JOBSUBMITTED));
-							    GFacUtils.saveJobStatus(jobExecutionContext, jobDetails, JobState.QUEUED, monitorPublisher);
-							}
-						} catch (SSHApiException e) {
-							log.error("Not able to find job " + jobID , e);
-						}
-                    } else {
-                        jobExecutionContext.setJobDetails(jobDetails);
-                        String verifyJobId = verifyJobSubmission(cluster, jobDetails);
-                        if (verifyJobId != null && !verifyJobId.isEmpty()) {
-                            // JobStatus either changed from SUBMITTED to QUEUED or directly to QUEUED
-                            jobID = verifyJobId;
-                            jobDetails.setJobID(jobID);
+                        if (verifyJobSubmissionByJobId(cluster, jobID)) {
                             monitorPublisher.publish(new GfacExperimentStateChangeRequest(new MonitorID(jobExecutionContext)
                                     , GfacExperimentState.JOBSUBMITTED));
                             GFacUtils.saveJobStatus(jobExecutionContext, jobDetails, JobState.QUEUED, monitorPublisher);
                         }
+                    } else {
+                        jobExecutionContext.setJobDetails(jobDetails);
+                        int verificationTryCount = 0;
+                        while (verificationTryCount++ < 3) {
+                            String verifyJobId = verifyJobSubmission(cluster, jobDetails);
+                            if (verifyJobId != null && !verifyJobId.isEmpty()) {
+                                // JobStatus either changed from SUBMITTED to QUEUED or directly to QUEUED
+                                jobID = verifyJobId;
+                                jobDetails.setJobID(jobID);
+                                monitorPublisher.publish(new GfacExperimentStateChangeRequest(new MonitorID(jobExecutionContext)
+                                        , GfacExperimentState.JOBSUBMITTED));
+                                GFacUtils.saveJobStatus(jobExecutionContext, jobDetails, JobState.QUEUED, monitorPublisher);
+                                break;
+                            }
+                            Thread.sleep(verificationTryCount*1000);
+                        }
                     }
 
                     if (jobID == null || jobID.isEmpty()) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/5200ce5c/tools/gsissh/src/main/java/org/apache/airavata/gsi/ssh/api/job/PBSOutputParser.java
----------------------------------------------------------------------
diff --git a/tools/gsissh/src/main/java/org/apache/airavata/gsi/ssh/api/job/PBSOutputParser.java b/tools/gsissh/src/main/java/org/apache/airavata/gsi/ssh/api/job/PBSOutputParser.java
index 81f241d..6bc5cde 100644
--- a/tools/gsissh/src/main/java/org/apache/airavata/gsi/ssh/api/job/PBSOutputParser.java
+++ b/tools/gsissh/src/main/java/org/apache/airavata/gsi/ssh/api/job/PBSOutputParser.java
@@ -124,6 +124,9 @@ public class PBSOutputParser implements OutputParser {
 
     public String parseJobSubmission(String rawOutput) {
         log.debug(rawOutput);
+        if(rawOutput.contains(".")){
+        	 rawOutput = rawOutput.substring(0, rawOutput.indexOf("."));
+        } 
         return rawOutput;  //In PBS stdout is going to be directly the jobID
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/5200ce5c/tools/gsissh/src/main/java/org/apache/airavata/gsi/ssh/impl/GSISSHAbstractCluster.java
----------------------------------------------------------------------
diff --git a/tools/gsissh/src/main/java/org/apache/airavata/gsi/ssh/impl/GSISSHAbstractCluster.java b/tools/gsissh/src/main/java/org/apache/airavata/gsi/ssh/impl/GSISSHAbstractCluster.java
index a858ada..f8b46c8 100644
--- a/tools/gsissh/src/main/java/org/apache/airavata/gsi/ssh/impl/GSISSHAbstractCluster.java
+++ b/tools/gsissh/src/main/java/org/apache/airavata/gsi/ssh/impl/GSISSHAbstractCluster.java
@@ -242,9 +242,6 @@ public class GSISSHAbstractCluster implements Cluster {
             log.info("Validation before cancel is failed, couldn't found job in remote host to cancel. Job may be already completed|failed|canceled");
             return null;
         }
-        if(jobID.contains(".")){
-    		jobID = jobID.substring(0, jobID.indexOf("."));
-    	}
         RawCommandInfo rawCommandInfo = jobManagerConfiguration.getCancelCommand(jobID);
 
         StandardOutReader stdOutReader = new StandardOutReader();
@@ -411,9 +408,6 @@ public class GSISSHAbstractCluster implements Cluster {
 
 
     public synchronized JobDescriptor getJobDescriptorById(String jobID) throws SSHApiException {
-    	if(jobID.contains(".")){
-    		jobID = jobID.substring(0, jobID.indexOf("."));
-    	}
         RawCommandInfo rawCommandInfo = jobManagerConfiguration.getMonitorCommand(jobID);
         StandardOutReader stdOutReader = new StandardOutReader();
         log.info("Executing RawCommand : " + rawCommandInfo.getCommand());
@@ -425,9 +419,6 @@ public class GSISSHAbstractCluster implements Cluster {
     }
 
     public synchronized JobStatus getJobStatus(String jobID) throws SSHApiException {
-    	if(jobID.contains(".")){
-    		jobID = jobID.substring(0, jobID.indexOf("."));
-    	}
         RawCommandInfo rawCommandInfo = jobManagerConfiguration.getMonitorCommand(jobID);
         StandardOutReader stdOutReader = new StandardOutReader();
         log.info("Executing RawCommand : " + rawCommandInfo.getCommand());