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());