You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2014/03/12 02:42:18 UTC
git commit: More changes to qstat monitor - AIRAVATA-1023
Repository: airavata
Updated Branches:
refs/heads/master 258b5a7dc -> 3a38bdfc3
More changes to qstat monitor - AIRAVATA-1023
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/3a38bdfc
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/3a38bdfc
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/3a38bdfc
Branch: refs/heads/master
Commit: 3a38bdfc3df85791deccc951e9b34b36fa04d92c
Parents: 258b5a7
Author: lahiru <la...@apache.org>
Authored: Tue Mar 11 21:42:08 2014 -0400
Committer: lahiru <la...@apache.org>
Committed: Tue Mar 11 21:42:08 2014 -0400
----------------------------------------------------------------------
.../gfac/provider/impl/GSISSHProvider.java | 2 +-
.../gsi/ssh/api/job/PBSOutputParser.java | 29 ++++++++++++++++----
.../gsi/ssh/impl/GSISSHAbstractCluster.java | 2 +-
3 files changed, 25 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/3a38bdfc/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/provider/impl/GSISSHProvider.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/provider/impl/GSISSHProvider.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/provider/impl/GSISSHProvider.java
index db5c29a..8610440 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/provider/impl/GSISSHProvider.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/provider/impl/GSISSHProvider.java
@@ -90,7 +90,7 @@ public class GSISSHProvider extends AbstractProvider implements GFacProvider{
}
// This installed path is a mandetory field, because this could change based on the computing resource
JobDescriptor jobDescriptor = new JobDescriptor();
- jobDescriptor.setWorkingDirectory(app.getStaticWorkingDirectory());
+ jobDescriptor.setWorkingDirectory(app.getScratchWorkingDirectory());
jobDescriptor.setShellName("/bin/bash");
Random random = new Random();
int i = random.nextInt();
http://git-wip-us.apache.org/repos/asf/airavata/blob/3a38bdfc/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 7c0a261..335bbf2 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
@@ -31,6 +31,7 @@ public class PBSOutputParser implements OutputParser {
private static final Logger log = LoggerFactory.getLogger(PBSOutputParser.class);
public void parse(JobDescriptor jobDescriptor, String rawOutput) {
+ log.info(rawOutput);
String[] info = rawOutput.split("\n");
String[] line;
for (int i = 0; i < info.length; i++) {
@@ -116,18 +117,34 @@ public class PBSOutputParser implements OutputParser {
}
public String parse(String rawOutput) {
- return rawOutput; //In PBS stdoutu is giong to be directly the jobID
+ log.info(rawOutput);
+ return rawOutput; //In PBS stdout is going to be directly the jobID
}
public JobStatus parse(String jobID, String rawOutput) {
+ boolean jobFount = false;
+ log.info(rawOutput);
String[] info = rawOutput.split("\n");
String[] line = null;
+ int index = 0;
for (String anInfo : info) {
- if (anInfo.contains("=")) {
- line = anInfo.split("=", 2);
- if (line.length != 0) {
- if (line[0].contains("job_state")) {
- return JobStatus.valueOf(line[1].replaceAll(" ", ""));
+ index++;
+ if (anInfo.contains("Job Id:")) {
+ if (anInfo.contains(jobID)) {
+ jobFount = true;
+ break;
+ }
+ }
+ }
+ if (jobFount) {
+ for (int i=index;i<info.length;i++) {
+ String anInfo = info[i];
+ if (anInfo.contains("=")) {
+ line = anInfo.split("=", 2);
+ if (line.length != 0) {
+ if (line[0].contains("job_state")) {
+ return JobStatus.valueOf(line[1].replaceAll(" ", ""));
+ }
}
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/3a38bdfc/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 ca9094e..1bd68d9 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
@@ -406,7 +406,7 @@ public class GSISSHAbstractCluster implements Cluster {
String stdOutputString = jobIDReaderCommandOutput.getStdOutputString();
String stdErrorString = jobIDReaderCommandOutput.getStdErrorString();
- if ((stdOutputString == null && "".equals(stdOutputString)) &&
+ if ((stdOutputString == null || "".equals(stdOutputString)) &&
((stdErrorString != null) && !("".equals(stdErrorString)))) {
log.error("Standard Error output : " + stdErrorString);
throw new SSHApiException(errorMsg + stdErrorString);