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/05/15 17:52:47 UTC
airavata git commit: validating node count
Repository: airavata
Updated Branches:
refs/heads/master 769b905e1 -> d8054829b
validating node count
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/d8054829
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/d8054829
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/d8054829
Branch: refs/heads/master
Commit: d8054829b448ad2a754f9cbae6437d185bfdfbec
Parents: 769b905
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Fri May 15 11:52:42 2015 -0400
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Fri May 15 11:52:42 2015 -0400
----------------------------------------------------------------------
.../airavata/gfac/core/cpi/BetterGfacImpl.java | 2 +-
.../validator/impl/BatchQueueValidator.java | 22 ++++++++++++++++++++
2 files changed, 23 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/d8054829/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
index c3462ed..4e30bf5 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
@@ -554,7 +554,7 @@ public class BetterGfacImpl implements GFac,Watcher {
return cancel(jobExecutionContext);
} catch (Exception e) {
GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
- log.error("Error inovoking the job with experiment ID: " + experimentID);
+ log.error("Error cancelling the job with experiment ID: " + experimentID);
throw new GFacException(e);
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/d8054829/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/validator/impl/BatchQueueValidator.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/validator/impl/BatchQueueValidator.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/validator/impl/BatchQueueValidator.java
index 8cd88fa..a1b8e12 100644
--- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/validator/impl/BatchQueueValidator.java
+++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/validator/impl/BatchQueueValidator.java
@@ -91,6 +91,7 @@ public class BatchQueueValidator implements JobMetadataValidator {
if (computationalResourceScheduling != null){
String experimentQueueName = computationalResourceScheduling.getQueueName().trim();
int experimentWallTimeLimit = computationalResourceScheduling.getWallTimeLimit();
+ int experimentNodeCount = computationalResourceScheduling.getNodeCount();
ValidatorResult queueNameResult = new ValidatorResult();
//Set the validation to false. Once all the queue's are looped, if nothing matches, then this gets passed.
@@ -100,6 +101,7 @@ public class BatchQueueValidator implements JobMetadataValidator {
for (BatchQueue queue : batchQueues){
String resourceQueueName = queue.getQueueName();
int maxQueueRunTime = queue.getMaxRunTime();
+ int maxNodeCount = queue.getMaxNodes();
if (resourceQueueName != null && resourceQueueName.equals(experimentQueueName)){
queueNameResult.setResult(true);
queueNameResult.setErrorDetails("");
@@ -123,7 +125,27 @@ public class BatchQueueValidator implements JobMetadataValidator {
wallTimeResult.setErrorDetails("");
}
}
+ //validate max node count
+ ValidatorResult nodeCountResult = new ValidatorResult();
+ if (maxNodeCount == 0) {
+ nodeCountResult.setResult(true);
+ nodeCountResult.setErrorDetails("Max node count is not configured for the queue," +
+ "Validation is being skipped");
+ logger.info("Max node count is not configured for the queue" +
+ "Validation is being skipped");
+ } else {
+ if (maxNodeCount < experimentNodeCount){
+ nodeCountResult.setResult(false);
+ nodeCountResult.setErrorDetails("Job Execution node count " + experimentNodeCount +
+ "exceeds the allowable node count" + maxNodeCount +
+ "for queue " + resourceQueueName);
+ } else {
+ nodeCountResult.setResult(true);
+ nodeCountResult.setErrorDetails("");
+ }
+ }
validatorResultList.add(wallTimeResult);
+ validatorResultList.add(nodeCountResult);
}
}
validatorResultList.add(queueNameResult);