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/04/15 21:11:46 UTC
airavata git commit: save detailed error when saving error details,
convert testframework.properties to json - AIRAVATA-1672, AIRAVATA-1656
Repository: airavata
Updated Branches:
refs/heads/master 2710f99ab -> 4e3fde8f7
save detailed error when saving error details, convert testframework.properties to json - AIRAVATA-1672, AIRAVATA-1656
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/4e3fde8f
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/4e3fde8f
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/4e3fde8f
Branch: refs/heads/master
Commit: 4e3fde8f7f30f10a93c19a7fcdd7ae394bdd2888
Parents: 2710f99
Author: Chathuri Wimalasena <ka...@gmail.com>
Authored: Wed Apr 15 15:11:40 2015 -0400
Committer: Chathuri Wimalasena <ka...@gmail.com>
Committed: Wed Apr 15 15:11:40 2015 -0400
----------------------------------------------------------------------
.../gfac/bes/handlers/AbstractSMSHandler.java | 2 +-
.../airavata/gfac/core/cpi/BetterGfacImpl.java | 14 +-
.../gfac/core/utils/OutHandlerWorker.java | 2 +-
.../handler/GSISSHDirectorySetupHandler.java | 6 +-
.../gfac/gsissh/handler/GSISSHInputHandler.java | 4 +-
.../gsissh/handler/GSISSHOutputHandler.java | 4 +-
.../gsissh/handler/NewGSISSHOutputHandler.java | 4 +-
.../gsissh/provider/impl/GSISSHProvider.java | 6 +-
.../ssh/handler/AdvancedSCPInputHandler.java | 2 +-
.../ssh/handler/AdvancedSCPOutputHandler.java | 6 +-
.../gfac/ssh/handler/NewSSHOutputHandler.java | 2 +-
.../ssh/handler/SSHDirectorySetupHandler.java | 5 +-
.../gfac/ssh/handler/SSHInputHandler.java | 4 +-
.../gfac/ssh/handler/SSHOutputHandler.java | 4 +-
.../gfac/ssh/provider/impl/SSHProvider.java | 8 +-
.../airavata/gfac/ssh/util/GFACSSHUtils.java | 2 +-
.../gfac.cpi.service.thrift | 3 +-
.../registry/jpa/impl/ExperimentRegistry.java | 4 +
.../jpa/resources/ErrorDetailResource.java | 5 +-
.../registry/jpa/resources/Utils.java | 4 +-
.../test-suite/multi-tenanted-airavata/pom.xml | 5 +
.../ApplicationRegister.java | 10 +-
.../ComputeResourceRegister.java | 31 +--
.../ExperimentExecution.java | 58 +++--
.../FrameworkBootstrapping.java | 10 +-
.../multitenantedairavata/FrameworkSetup.java | 39 +++-
.../multitenantedairavata/GatewayRegister.java | 24 +-
.../TestFrameworkProps.java | 222 +++++++++++++++++++
.../utils/FrameworkUtils.java | 16 +-
.../utils/PropertyFileType.java | 4 +-
.../utils/PropertyReader.java | 8 -
.../utils/TestFrameworkConstants.java | 1 +
.../src/main/resources/test-framework.json | 63 ++++++
.../src/main/resources/test-framework.yaml | 49 ++++
34 files changed, 496 insertions(+), 135 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/handlers/AbstractSMSHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/handlers/AbstractSMSHandler.java b/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/handlers/AbstractSMSHandler.java
index c1c13be..a21706e 100644
--- a/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/handlers/AbstractSMSHandler.java
+++ b/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/handlers/AbstractSMSHandler.java
@@ -116,7 +116,7 @@ public abstract class AbstractSMSHandler implements BESConstants, GFacHandler{
}catch (Exception e) {
log.error(e.getMessage());
try {
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
} catch (GFacException e1) {
log.error(e1.getLocalizedMessage());
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/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 19c77ac..30b76ff 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
@@ -209,7 +209,7 @@ public class BetterGfacImpl implements GFac,Watcher {
return submitJob(jobExecutionContext);
} catch (Exception e) {
log.error("Error inovoking the job with experiment ID: " + experimentID);
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR );
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR );
throw new GFacException(e);
}
}
@@ -504,13 +504,13 @@ public class BetterGfacImpl implements GFac,Watcher {
}
return true;
} catch (ApplicationSettingsException e) {
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR );
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR );
throw new GFacException("Error launching the Job",e);
} catch (KeeperException e) {
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR );
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR );
throw new GFacException("Error launching the Job",e);
} catch (InterruptedException e) {
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR );
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR );
throw new GFacException("Error launching the Job",e);
}
}
@@ -521,7 +521,7 @@ public class BetterGfacImpl implements GFac,Watcher {
jobExecutionContext = createJEC(experimentID, taskID, gatewayID);
return cancel(jobExecutionContext);
} catch (Exception e) {
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR );
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR );
log.error("Error inovoking the job with experiment ID: " + experimentID);
throw new GFacException(e);
}
@@ -678,7 +678,7 @@ public class BetterGfacImpl implements GFac,Watcher {
jobExecutionContext.getExperimentID(),
jobExecutionContext.getGatewayID());
monitorPublisher.publish(new JobStatusChangeEvent(JobState.FAILED, jobIdentity));
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR );
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR );
} catch (NullPointerException e1) {
log.error("Error occured during updating the statuses of Experiments,tasks or Job statuses to failed, "
+ "NullPointerException occurred because at this point there might not have Job Created", e1, e);
@@ -690,7 +690,7 @@ public class BetterGfacImpl implements GFac,Watcher {
jobExecutionContext.getExperimentID(),
jobExecutionContext.getGatewayID());
monitorPublisher.publish(new TaskStatusChangeEvent(TaskState.FAILED, taskIdentity));
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR );
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR );
}
jobExecutionContext.setProperty(ERROR_SENT, "true");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/OutHandlerWorker.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/OutHandlerWorker.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/OutHandlerWorker.java
index 62d8689..143bb8c 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/OutHandlerWorker.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/OutHandlerWorker.java
@@ -66,7 +66,7 @@ public class OutHandlerWorker implements Runnable {
//FIXME this is a case where the output retrieving fails even if the job execution was a success. Thus updating the task status
monitorPublisher.publish(new TaskStatusChangeRequestEvent(TaskState.FAILED, taskIdentifier));
try {
- GFacUtils.saveErrorDetails(monitorID.getJobExecutionContext(), e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(monitorID.getJobExecutionContext(), e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
} catch (GFacException e1) {
logger.error("Error while persisting error details", e);
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHDirectorySetupHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHDirectorySetupHandler.java b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHDirectorySetupHandler.java
index 968f159..3d60d6d 100644
--- a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHDirectorySetupHandler.java
+++ b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHDirectorySetupHandler.java
@@ -46,7 +46,7 @@ public class GSISSHDirectorySetupHandler extends AbstractRecoverableHandler {
}
} catch (Exception e) {
try {
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
} catch (GFacException e1) {
log.error(e1.getLocalizedMessage());
}
@@ -91,12 +91,12 @@ public class GSISSHDirectorySetupHandler extends AbstractRecoverableHandler {
} catch (Exception e) {
DataTransferDetails detail = new DataTransferDetails();
TransferStatus status = new TransferStatus();
- detail.setTransferDescription(e.getLocalizedMessage());
+ detail.setTransferDescription("Working directory = " + jobExecutionContext.getWorkingDir());
status.setTransferState(TransferState.FAILED);
detail.setTransferStatus(status);
try {
registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID());
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.FILE_SYSTEM_FAILURE);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.FILE_SYSTEM_FAILURE);
} catch (Exception e1) {
throw new GFacHandlerException("Error persisting status", e1, e1.getLocalizedMessage());
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHInputHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHInputHandler.java b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHInputHandler.java
index 5ba3bf4..70706ae 100644
--- a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHInputHandler.java
+++ b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHInputHandler.java
@@ -102,7 +102,7 @@ public class GSISSHInputHandler extends AbstractRecoverableHandler {
} catch (ApplicationSettingsException e) {
log.error(e.getMessage());
try {
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
} catch (GFacException e1) {
log.error(e1.getLocalizedMessage());
}
@@ -164,7 +164,7 @@ public class GSISSHInputHandler extends AbstractRecoverableHandler {
detail.setTransferDescription(e.getLocalizedMessage());
detail.setTransferStatus(status);
try {
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.FILE_SYSTEM_FAILURE);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.FILE_SYSTEM_FAILURE);
registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID());
} catch (Exception e1) {
throw new GFacHandlerException("Error persisting status", e1, e1.getLocalizedMessage());
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHOutputHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHOutputHandler.java b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHOutputHandler.java
index e28d0af..1064e1c 100644
--- a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHOutputHandler.java
+++ b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHOutputHandler.java
@@ -68,7 +68,7 @@ public class GSISSHOutputHandler extends AbstractRecoverableHandler {
}
} catch (Exception e) {
try {
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
} catch (GFacException e1) {
log.error(e1.getLocalizedMessage());
}
@@ -305,7 +305,7 @@ public class GSISSHOutputHandler extends AbstractRecoverableHandler {
detail.setTransferStatus(status);
detail.setTransferDescription(e.getLocalizedMessage());
registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID());
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.FILE_SYSTEM_FAILURE);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.FILE_SYSTEM_FAILURE);
} catch (Exception e1) {
throw new GFacHandlerException("Error persisting status", e1, e1.getLocalizedMessage());
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/NewGSISSHOutputHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/NewGSISSHOutputHandler.java b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/NewGSISSHOutputHandler.java
index 77c6a8e..f4aaf72 100644
--- a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/NewGSISSHOutputHandler.java
+++ b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/NewGSISSHOutputHandler.java
@@ -32,7 +32,7 @@ public class NewGSISSHOutputHandler extends AbstractHandler{
}
} catch (Exception e) {
try {
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
} catch (GFacException e1) {
log.error(e1.getLocalizedMessage());
}
@@ -53,7 +53,7 @@ public class NewGSISSHOutputHandler extends AbstractHandler{
} catch (Exception e) {
log.error(e.getMessage());
try {
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
} catch (GFacException e1) {
log.error(e1.getLocalizedMessage());
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/provider/impl/GSISSHProvider.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/provider/impl/GSISSHProvider.java b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/provider/impl/GSISSHProvider.java
index 8cbafc1..99a9e77 100644
--- a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/provider/impl/GSISSHProvider.java
+++ b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/provider/impl/GSISSHProvider.java
@@ -132,7 +132,7 @@ public class GSISSHProvider extends AbstractRecoverableProvider {
log.error(error);
jobDetails.setJobID("none");
GFacUtils.saveJobStatus(jobExecutionContext, jobDetails, JobState.FAILED);
- GFacUtils.saveErrorDetails(jobExecutionContext, error, CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
throw new GFacProviderException(error, e);
} finally {
log.info("Saving data for future recovery: ");
@@ -266,14 +266,14 @@ public class GSISSHProvider extends AbstractRecoverableProvider {
log.error(error);
jobDetails.setJobID("none");
GFacUtils.saveJobStatus(jobExecutionContext, jobDetails, JobState.FAILED);
- GFacUtils.saveErrorDetails(jobExecutionContext, error, CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
throw new GFacProviderException(error, e);
} catch (Exception e) {
String error = "Error submitting the job to host " + jobExecutionContext.getHostName() + " message: " + e.getMessage();
log.error(error);
jobDetails.setJobID("none");
GFacUtils.saveJobStatus(jobExecutionContext, jobDetails, JobState.FAILED);
- GFacUtils.saveErrorDetails(jobExecutionContext, error, CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
throw new GFacProviderException(error, e);
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/AdvancedSCPInputHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/AdvancedSCPInputHandler.java b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/AdvancedSCPInputHandler.java
index f3dd193..a300063 100644
--- a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/AdvancedSCPInputHandler.java
+++ b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/AdvancedSCPInputHandler.java
@@ -200,7 +200,7 @@ public class AdvancedSCPInputHandler extends AbstractRecoverableHandler {
} catch (Exception e) {
log.error(e.getMessage());
try {
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
} catch (GFacException e1) {
log.error(e1.getLocalizedMessage());
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/AdvancedSCPOutputHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/AdvancedSCPOutputHandler.java b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/AdvancedSCPOutputHandler.java
index e81979d..d1739c5 100644
--- a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/AdvancedSCPOutputHandler.java
+++ b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/AdvancedSCPOutputHandler.java
@@ -108,7 +108,7 @@ public class AdvancedSCPOutputHandler extends AbstractHandler {
} catch (ApplicationSettingsException e) {
log.error(e.getMessage());
try {
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
} catch (GFacException e1) {
log.error(e1.getLocalizedMessage());
}
@@ -189,7 +189,7 @@ public class AdvancedSCPOutputHandler extends AbstractHandler {
registry.add(ChildDataType.EXPERIMENT_OUTPUT, outputArray, jobExecutionContext.getExperimentID());
} catch (SSHApiException e) {
try {
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
} catch (GFacException e1) {
log.error(e1.getLocalizedMessage());
}
@@ -198,7 +198,7 @@ public class AdvancedSCPOutputHandler extends AbstractHandler {
throw new GFacHandlerException(e);
} catch (Exception e) {
try {
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
} catch (GFacException e1) {
log.error(e1.getLocalizedMessage());
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/NewSSHOutputHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/NewSSHOutputHandler.java b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/NewSSHOutputHandler.java
index 5b754f9..5a64521 100644
--- a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/NewSSHOutputHandler.java
+++ b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/NewSSHOutputHandler.java
@@ -42,7 +42,7 @@ public class NewSSHOutputHandler extends AbstractHandler{
} catch (Exception e) {
log.error(e.getMessage());
try {
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
} catch (GFacException e1) {
log.error(e1.getLocalizedMessage());
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHDirectorySetupHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHDirectorySetupHandler.java b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHDirectorySetupHandler.java
index 90dc70b..6ba4f75 100644
--- a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHDirectorySetupHandler.java
+++ b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHDirectorySetupHandler.java
@@ -47,7 +47,7 @@ public class SSHDirectorySetupHandler extends AbstractHandler {
} catch (Exception e) {
log.error(e.getMessage());
try {
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
} catch (GFacException e1) {
log.error(e1.getLocalizedMessage());
}
@@ -89,9 +89,10 @@ public class SSHDirectorySetupHandler extends AbstractHandler {
TransferStatus status = new TransferStatus();
status.setTransferState(TransferState.FAILED);
detail.setTransferStatus(status);
+ detail.setTransferDescription("Working directory = " + jobExecutionContext.getWorkingDir());
try {
registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID());
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.FILE_SYSTEM_FAILURE);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.FILE_SYSTEM_FAILURE);
} catch (Exception e1) {
throw new GFacHandlerException("Error persisting status", e1, e1.getLocalizedMessage());
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHInputHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHInputHandler.java b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHInputHandler.java
index 4d47128..13090eb 100644
--- a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHInputHandler.java
+++ b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHInputHandler.java
@@ -67,7 +67,7 @@ public class SSHInputHandler extends AbstractHandler {
} catch (ApplicationSettingsException e) {
log.error(e.getMessage());
try {
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
} catch (GFacException e1) {
log.error(e1.getLocalizedMessage());
}
@@ -136,7 +136,7 @@ public class SSHInputHandler extends AbstractHandler {
status.setTransferState(TransferState.FAILED);
detail.setTransferStatus(status);
try {
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.FILE_SYSTEM_FAILURE);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.FILE_SYSTEM_FAILURE);
registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID());
} catch (Exception e1) {
throw new GFacHandlerException("Error persisting status", e1, e1.getLocalizedMessage());
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHOutputHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHOutputHandler.java b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHOutputHandler.java
index b574540..1210c83 100644
--- a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHOutputHandler.java
+++ b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHOutputHandler.java
@@ -61,7 +61,7 @@ public class SSHOutputHandler extends AbstractHandler {
} catch (Exception e) {
log.error(e.getMessage());
try {
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
} catch (GFacException e1) {
log.error(e1.getLocalizedMessage());
}
@@ -227,7 +227,7 @@ public class SSHOutputHandler extends AbstractHandler {
status.setTransferState(TransferState.FAILED);
detail.setTransferStatus(status);
registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID());
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.FILE_SYSTEM_FAILURE);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.FILE_SYSTEM_FAILURE);
} catch (Exception e1) {
throw new GFacHandlerException("Error persisting status", e1, e1.getLocalizedMessage());
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/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 b2fbcd2..70fec1f 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
@@ -182,14 +182,14 @@ public class SSHProvider extends AbstractProvider {
log.error(error);
jobDetails.setJobID("none");
GFacUtils.saveJobStatus(jobExecutionContext, jobDetails, JobState.FAILED);
- GFacUtils.saveErrorDetails(jobExecutionContext, error, CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
throw new GFacProviderException(error, e);
} catch (Exception e) {
String error = "Error submitting the job to host " + jobExecutionContext.getHostName() + " message: " + e.getMessage();
log.error(error);
jobDetails.setJobID("none");
GFacUtils.saveJobStatus(jobExecutionContext, jobDetails, JobState.FAILED);
- GFacUtils.saveErrorDetails(jobExecutionContext, error, CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
throw new GFacProviderException(error, e);
}
} catch (GFacException e) {
@@ -234,14 +234,14 @@ public class SSHProvider extends AbstractProvider {
log.error(error);
jobDetails.setJobID("none");
GFacUtils.saveJobStatus(jobExecutionContext, jobDetails, JobState.FAILED);
- GFacUtils.saveErrorDetails(jobExecutionContext, error, CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
throw new GFacProviderException(error, e);
} catch (Exception e) {
String error = "Error submitting the job to host " + jobExecutionContext.getHostName() + " message: " + e.getMessage();
log.error(error);
jobDetails.setJobID("none");
GFacUtils.saveJobStatus(jobExecutionContext, jobDetails, JobState.FAILED);
- GFacUtils.saveErrorDetails(jobExecutionContext, error, CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
throw new GFacProviderException(error, e);
}
// we know this host is type GsiSSHHostType
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/util/GFACSSHUtils.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/util/GFACSSHUtils.java b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/util/GFACSSHUtils.java
index 9628585..f4b3387 100644
--- a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/util/GFACSSHUtils.java
+++ b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/util/GFACSSHUtils.java
@@ -504,7 +504,7 @@ public class GFACSSHUtils {
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage());
try {
- GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
+ GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);
} catch (GFacException e1) {
logger.error(e1.getLocalizedMessage());
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/gfac/gfac-thrift-descriptions/gfac.cpi.service.thrift
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-thrift-descriptions/gfac.cpi.service.thrift b/modules/gfac/gfac-thrift-descriptions/gfac.cpi.service.thrift
index 3c3fa51..30f19a6 100644
--- a/modules/gfac/gfac-thrift-descriptions/gfac.cpi.service.thrift
+++ b/modules/gfac/gfac-thrift-descriptions/gfac.cpi.service.thrift
@@ -61,5 +61,6 @@ service GfacService {
*
**/
bool cancelJob (1: required string experimentId,
- 2: required string taskId)
+ 2: required string taskId,
+ 3: required string gatewayId)
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
index 113a966..ec2c081 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
@@ -1268,12 +1268,16 @@ public class ExperimentRegistry {
public String addDataTransferDetails(DataTransferDetails transferDetails, String taskId) throws RegistryException {
try {
+ if (transferDetails.getTransferDescription() == null){
+ throw new RegistryException("Data transfer description cannot be empty");
+ }
ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
TaskDetailResource taskDetail = workflowNode.getTaskDetail(taskId);
DataTransferDetailResource resource = (DataTransferDetailResource) taskDetail.create(ResourceType.DATA_TRANSFER_DETAIL);
resource.setTaskDetailResource(taskDetail);
resource.setTransferId(getDataTransferID(taskId));
+
resource.setTransferDescription(transferDetails.getTransferDescription());
resource.setCreationTime(AiravataUtils.getTime(transferDetails.getCreationTime()));
resource.save();
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ErrorDetailResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ErrorDetailResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ErrorDetailResource.java
index 95804bd..9299bad 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ErrorDetailResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ErrorDetailResource.java
@@ -200,7 +200,10 @@ public class ErrorDetailResource extends AbstractResource {
errorDetail.setNodeId(workflowNodeDetail.getNodeId());
}
errorDetail.setCreationTime(creationTime);
- errorDetail.setActualErrorMsg(actualErrorMsg.toCharArray());
+ if (actualErrorMsg != null){
+ errorDetail.setActualErrorMsg(actualErrorMsg.toCharArray());
+ }
+
errorDetail.setUserFriendlyErrorMsg(userFriendlyErrorMsg);
errorDetail.setTransientPersistent(transientPersistent);
errorDetail.setErrorCategory(errorCategory);
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
index 7bf6cfd..a9e4a62 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
@@ -564,7 +564,9 @@ public class Utils {
errorDetailResource.setErrorId(o.getErrorID());
errorDetailResource.setJobId(o.getJobId());
errorDetailResource.setCreationTime(o.getCreationTime());
- errorDetailResource.setActualErrorMsg(new String(o.getActualErrorMsg()));
+ if (o.getActualErrorMsg() != null){
+ errorDetailResource.setActualErrorMsg(new String(o.getActualErrorMsg()));
+ }
errorDetailResource.setUserFriendlyErrorMsg(o.getUserFriendlyErrorMsg());
errorDetailResource.setTransientPersistent(o.isTransientPersistent());
errorDetailResource.setErrorCategory(o.getErrorCategory());
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/test-suite/multi-tenanted-airavata/pom.xml
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/pom.xml b/modules/test-suite/multi-tenanted-airavata/pom.xml
index a853d35..7af2864 100644
--- a/modules/test-suite/multi-tenanted-airavata/pom.xml
+++ b/modules/test-suite/multi-tenanted-airavata/pom.xml
@@ -74,6 +74,11 @@
<artifactId>airavata-credential-store</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ <version>2.3.1</version>
+ </dependency>
<!--<dependency>-->
<!--<groupId>mysql</groupId>-->
<!--<artifactId>mysql-connector-java</artifactId>-->
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ApplicationRegister.java
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ApplicationRegister.java b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ApplicationRegister.java
index 0a92f2e..7f0a3d3 100644
--- a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ApplicationRegister.java
+++ b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ApplicationRegister.java
@@ -52,13 +52,13 @@ public class ApplicationRegister {
private List<String> gatewaysToAvoid;
- public ApplicationRegister(Airavata.Client airavata) throws Exception {
+ public ApplicationRegister(Airavata.Client airavata, TestFrameworkProps props) throws Exception {
this.airavata = airavata;
allGateways = getAllGateways(airavata);
applicationInterfaceListPerGateway = new HashMap<String, String>();
applicationDeployementListPerGateway = new HashMap<String, String>();
FrameworkUtils frameworkUtils = FrameworkUtils.getInstance();
- gatewaysToAvoid = frameworkUtils.getGatewayListToAvoid();
+ gatewaysToAvoid = frameworkUtils.getGatewayListToAvoid(props.getSkippedGateways());
}
public List<Gateway> getAllGateways(Airavata.Client client) throws Exception{
@@ -140,13 +140,13 @@ public class ApplicationRegister {
List<String> appModules = new ArrayList<String>();
appModules.add(amberModuleId);
- InputDataObjectType input1 = createAppInput("Heat_Restart_File", null,
+ InputDataObjectType input1 = createAppInput("heatRst", null,
DataType.URI, "-c", 1, true, true,false, "Heating up the system equilibration stage - 02_Heat.rst", null);
- InputDataObjectType input2 = createAppInput("Production_Control_File", null,
+ InputDataObjectType input2 = createAppInput("prodIn", null,
DataType.URI, "-i ", 2, true, true, false, "Constant pressure and temperature for production stage - 03_Prod.in", null);
- InputDataObjectType input3 = createAppInput("Parameter_Topology_File", null,
+ InputDataObjectType input3 = createAppInput("prmtop", null,
DataType.URI, "-p", 3, true, true, false, "Parameter and Topology coordinates - prmtop", null);
List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ComputeResourceRegister.java
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ComputeResourceRegister.java b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ComputeResourceRegister.java
index c6e2513..1127212 100644
--- a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ComputeResourceRegister.java
+++ b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ComputeResourceRegister.java
@@ -38,43 +38,26 @@ import java.util.*;
public class ComputeResourceRegister {
private Airavata.Client airavata;
private List<String> computeResourceIds;
- private PropertyReader propertyReader;
private Map<String, String> loginNamesWithResourceMap;
private Map<String, String> loginNamesWithResourceIds;
private final static Logger logger = LoggerFactory.getLogger(ComputeResourceRegister.class);
+ private TestFrameworkProps properties;
- public ComputeResourceRegister(Airavata.Client airavata) throws Exception {
+ public ComputeResourceRegister(Airavata.Client airavata, TestFrameworkProps props) throws Exception {
this.airavata = airavata;
+ this.properties = props;
computeResourceIds = new ArrayList<String>();
- propertyReader = new PropertyReader();
loginNamesWithResourceMap = getLoginNamesMap();
}
public Map<String, String> getLoginNamesMap() throws Exception {
loginNamesWithResourceMap = new HashMap<String, String>();
- List<String> loginNameList = new ArrayList<String>();
- List<String> computerResources = new ArrayList<String>();
- String loginNames = propertyReader.readProperty(TestFrameworkConstants.FrameworkPropertiesConstants.LOGIN_USERNAME_LIST, PropertyFileType.TEST_FRAMEWORK);
- if (loginNames != null && !loginNames.isEmpty()){
- String[] names = loginNames.split(",");
- loginNameList = Arrays.asList(names);
- }
- String clist = propertyReader.readProperty(TestFrameworkConstants.FrameworkPropertiesConstants.COMPUTE_RESOURCE_LIST, PropertyFileType.TEST_FRAMEWORK);
- if (clist != null && !clist.isEmpty()) {
- String[] resources = clist.split(",");
- computerResources = Arrays.asList(resources);
- }
-
- if (computerResources.size() == loginNameList.size()){
- for (int i=0; i < computerResources.size(); i++){
- loginNamesWithResourceMap.put(computerResources.get(i), loginNameList.get(i));
+ TestFrameworkProps.Resource[] resourcesWithloginName = properties.getResources();
+ if (resourcesWithloginName != null){
+ for (TestFrameworkProps.Resource resource : resourcesWithloginName){
+ loginNamesWithResourceMap.put(resource.getName(), resource.getLoginUser());
}
- }else {
- logger.error("Each compute resource should have a login user name. Please check whether you specified them correctly " +
- "in test-framework.properties files..");
- throw new Exception("Each compute resource should have a login user name. Please check whether you specified them correctly " +
- "in test-framework.properties files..");
}
return loginNamesWithResourceMap;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ExperimentExecution.java
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ExperimentExecution.java b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ExperimentExecution.java
index cc6bca6..17afc0b 100644
--- a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ExperimentExecution.java
+++ b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/ExperimentExecution.java
@@ -65,22 +65,30 @@ public class ExperimentExecution {
private PrintWriter resultWriter;
private String testUser;
private List<String> gatewaysToAvoid;
+ private TestFrameworkProps properties;
public ExperimentExecution(Airavata.Client airavata,
- Map<String, String> tokenMap ) throws Exception {
+ Map<String, String> tokenMap,
+ TestFrameworkProps props) throws Exception {
this.airavata = airavata;
this.csTokens = tokenMap;
this.appInterfaceMap = getApplicationMap(tokenMap);
this.propertyReader = new PropertyReader();
+ this.properties = props;
FrameworkUtils frameworkUtils = FrameworkUtils.getInstance();
- testUser = frameworkUtils.getTestUserName();
- gatewaysToAvoid = frameworkUtils.getGatewayListToAvoid();
+ testUser = props.getTestUserName();
+ gatewaysToAvoid = frameworkUtils.getGatewayListToAvoid(properties.getSkippedGateways());
this.projectsMap = getProjects(tokenMap);
this.experimentsWithTokens = new HashMap<String, String>();
this.experimentsWithGateway = new HashMap<String, String>();
- String resultFileLocation = propertyReader.readProperty(TestFrameworkConstants.FrameworkPropertiesConstants.RESULT_WRITE_LOCATION, PropertyFileType.TEST_FRAMEWORK);
- String resultFileName = getResultFileName();
- File resultFile = new File(resultFileLocation + resultFileName);
+ String resultFileLocation = properties.getResultFileLoc();
+ String resultFileName = resultFileLocation + getResultFileName();
+
+ File resultFolder = new File(resultFileLocation);
+ if (!resultFolder.exists()){
+ resultFolder.mkdir();
+ }
+ File resultFile = new File(resultFileName);
resultWriter = new PrintWriter(resultFile, "UTF-8");
resultWriter.println("Test Framework Results");
resultWriter.println("========================================");
@@ -228,12 +236,15 @@ public class ExperimentExecution {
System.out.println("################ Experiment : " + expId + " FAILED ###################");
Experiment experiment = airavata.getExperiment(expId);
List<ErrorDetails> errors = experiment.getErrors();
- for (ErrorDetails errorDetails : errors) {
- System.out.println(errorDetails.getActualErrorMessage());
- resultWriter.println("Actual Error : " + j + " : " + errorDetails.getActualErrorMessage());
- resultWriter.println("User Friendly Message : " + j + " : " + errorDetails.getUserFriendlyMessage());
- resultWriter.println("Corrective Action : " + j + " : " + errorDetails.getCorrectiveAction());
+ if (errors != null && !errors.isEmpty()){
+ for (ErrorDetails errorDetails : errors) {
+ System.out.println(errorDetails.getActualErrorMessage());
+ resultWriter.println("Actual Error : " + j + " : " + errorDetails.getActualErrorMessage());
+ resultWriter.println("User Friendly Message : " + j + " : " + errorDetails.getUserFriendlyMessage());
+ resultWriter.println("Corrective Action : " + j + " : " + errorDetails.getCorrectiveAction());
+ }
}
+
resultWriter.println("End of Results for Experiment : " + expId );
resultWriter.println("=====================================================================");
resultWriter.println();
@@ -272,6 +283,14 @@ public class ExperimentExecution {
public void createAmberExperiment () throws Exception{
try {
+ TestFrameworkProps.Application[] applications = properties.getApplications();
+ Map<String, String> userGivenAmberInputs = new HashMap<>();
+ for (TestFrameworkProps.Application application : applications){
+ if (application.getName().equals(TestFrameworkConstants.AppcatalogConstants.AMBER_APP_NAME)){
+ userGivenAmberInputs = application.getInputs();
+ }
+ }
+
for (String gatewayId : csTokens.keySet()){
String token = csTokens.get(gatewayId);
Map<String, String> appsWithNames = appInterfaceMap.get(gatewayId);
@@ -280,20 +299,13 @@ public class ExperimentExecution {
List<OutputDataObjectType> appOutputs = airavata.getApplicationOutputs(appId);
String appName = appsWithNames.get(appId);
if (appName.equals(TestFrameworkConstants.AppcatalogConstants.AMBER_APP_NAME)){
- String heatRSTFile = propertyReader.readProperty(TestFrameworkConstants.AppcatalogConstants.AMBER_HEAT_RST_LOCATION, PropertyFileType.TEST_FRAMEWORK);
- String prodInFile = propertyReader.readProperty(TestFrameworkConstants.AppcatalogConstants.AMBER_PROD_IN_LOCATION, PropertyFileType.TEST_FRAMEWORK);
- String prmTopFile = propertyReader.readProperty(TestFrameworkConstants.AppcatalogConstants.AMBER_PRMTOP_LOCATION, PropertyFileType.TEST_FRAMEWORK);
-
- for (InputDataObjectType inputDataObjectType : applicationInputs) {
- if (inputDataObjectType.getName().equalsIgnoreCase("Heat_Restart_File")) {
- inputDataObjectType.setValue(heatRSTFile);
- } else if (inputDataObjectType.getName().equalsIgnoreCase("Production_Control_File")) {
- inputDataObjectType.setValue(prodInFile);
- } else if (inputDataObjectType.getName().equalsIgnoreCase("Parameter_Topology_File")) {
- inputDataObjectType.setValue(prmTopFile);
+ for (String inputName : userGivenAmberInputs.keySet()){
+ for (InputDataObjectType inputDataObjectType : applicationInputs) {
+ if (inputDataObjectType.getName().equalsIgnoreCase(inputName)) {
+ inputDataObjectType.setValue(userGivenAmberInputs.get(inputName));
+ }
}
}
-
List<Project> projectsPerGateway = projectsMap.get(gatewayId);
String projectID = null;
if (projectsPerGateway != null && !projectsPerGateway.isEmpty()){
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/FrameworkBootstrapping.java
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/FrameworkBootstrapping.java b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/FrameworkBootstrapping.java
index a3b3825..002f316 100644
--- a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/FrameworkBootstrapping.java
+++ b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/FrameworkBootstrapping.java
@@ -37,7 +37,7 @@ public class FrameworkBootstrapping {
private static boolean runAll = false;
private static boolean regApps = false;
private static boolean expExec = false;
- private static PropertyReader propertyReader;
+ private static TestFrameworkProps properties;
private static Map<String, String> tokens;
private static ExperimentExecution experimentExecution;
@@ -45,7 +45,7 @@ public class FrameworkBootstrapping {
parseArguments(args);
try {
FrameworkSetup setup = FrameworkSetup.getInstance();
- propertyReader = new PropertyReader();
+ properties = setup.getTestFrameworkProps();
if (runAll){
setup.getGatewayRegister().createGateways();
@@ -57,7 +57,7 @@ public class FrameworkBootstrapping {
setup.getComputeResourceRegister().registerGatewayResourceProfile();
setup.getApplicationRegister().addApplications();
logger.info("Applications registered for each each gateway...");
- experimentExecution = new ExperimentExecution(setup.getAiravata(), tokens);
+ experimentExecution = new ExperimentExecution(setup.getAiravata(), tokens, properties);
experimentExecution.createEchoExperiment();
experimentExecution.createAmberExperiment();
experimentExecution.launchExperiments();
@@ -74,7 +74,7 @@ public class FrameworkBootstrapping {
logger.info("Applications registered for each each gateway...");
}else if (expExec){
tokens = readTokens();
- experimentExecution = new ExperimentExecution(setup.getAiravata(), tokens);
+ experimentExecution = new ExperimentExecution(setup.getAiravata(), tokens, setup.getTestFrameworkProps());
experimentExecution.createEchoExperiment();
experimentExecution.createAmberExperiment();
experimentExecution.launchExperiments();
@@ -87,7 +87,7 @@ public class FrameworkBootstrapping {
public static Map<String, String> readTokens () throws Exception{
Map<String, String> tokens = new HashMap<String, String>();
- String fileLocation = propertyReader.readProperty(TestFrameworkConstants.FrameworkPropertiesConstants.TOKEN_WRITE_LOCATION, PropertyFileType.TEST_FRAMEWORK);
+ String fileLocation = properties.getTokenFileLoc();
String fileName = TestFrameworkConstants.CredentialStoreConstants.TOKEN_FILE_NAME;
String path = fileLocation + File.separator + fileName;
File tokenFile = new File(path);
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/FrameworkSetup.java
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/FrameworkSetup.java b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/FrameworkSetup.java
index 306a601..edad95e 100644
--- a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/FrameworkSetup.java
+++ b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/FrameworkSetup.java
@@ -21,16 +21,26 @@
package org.apache.airavata.testsuite.multitenantedairavata;
+import com.google.gson.Gson;
+import com.google.gson.JsonElement;
import org.apache.airavata.api.Airavata;
+import org.apache.airavata.testsuite.multitenantedairavata.utils.TestFrameworkConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.URL;
+
public class FrameworkSetup {
private static FrameworkSetup instance = new FrameworkSetup();
private GatewayRegister gatewayRegister;
private ComputeResourceRegister computeResourceRegister;
private ApplicationRegister applicationRegister;
private Airavata.Client airavata;
+ private TestFrameworkProps testFrameworkProps;
private final static Logger logger = LoggerFactory.getLogger(FrameworkSetup.class);
public static FrameworkSetup getInstance() {
@@ -41,14 +51,29 @@ public class FrameworkSetup {
try {
AiravataClient airavataClient = AiravataClient.getInstance();
this.airavata = airavataClient.getAiravataClient();
- gatewayRegister = new GatewayRegister(airavata);
- applicationRegister = new ApplicationRegister(airavata);
- computeResourceRegister = new ComputeResourceRegister(airavata);
+ Gson gson = new Gson();
+ testFrameworkProps = gson.fromJson(getTestFrameworkJSON(), TestFrameworkProps.class);
+
+ gatewayRegister = new GatewayRegister(airavata, testFrameworkProps);
+ applicationRegister = new ApplicationRegister(airavata, testFrameworkProps);
+ computeResourceRegister = new ComputeResourceRegister(airavata, testFrameworkProps);
} catch (Exception e) {
logger.error("Error while creating airavata client instance", e);
}
}
+ private String getTestFrameworkJSON () throws IOException {
+ InputStream inputStream = FrameworkSetup.class.getClassLoader().getResourceAsStream(TestFrameworkConstants.TEST_FREAMEWORK_JSON);
+ BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
+ String line;
+ String content = "";
+ while ((line = reader.readLine()) != null) {
+ content += line;
+ }
+ System.out.println(content);
+ return content;
+ }
+
public GatewayRegister getGatewayRegister() {
return gatewayRegister;
}
@@ -80,4 +105,12 @@ public class FrameworkSetup {
public void setComputeResourceRegister(ComputeResourceRegister computeResourceRegister) {
this.computeResourceRegister = computeResourceRegister;
}
+
+ public TestFrameworkProps getTestFrameworkProps() {
+ return testFrameworkProps;
+ }
+
+ public void setTestFrameworkProps(TestFrameworkProps testFrameworkProps) {
+ this.testFrameworkProps = testFrameworkProps;
+ }
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/GatewayRegister.java
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/GatewayRegister.java b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/GatewayRegister.java
index 7f40976..ebf1c80 100644
--- a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/GatewayRegister.java
+++ b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/GatewayRegister.java
@@ -59,17 +59,19 @@ public class GatewayRegister {
private String testUser;
private String testProject;
private List<String> gatewaysToAvoid;
+ private TestFrameworkProps properties;
- public GatewayRegister(Airavata.Client client) throws Exception{
+ public GatewayRegister(Airavata.Client client, TestFrameworkProps props) throws Exception{
try {
this.airavata = client;
this.tokenMap = new HashMap<String, String>();
this.projectMap = new HashMap<String, String>();
propertyReader = new PropertyReader();
- testUser = propertyReader.readProperty(TestFrameworkConstants.FrameworkPropertiesConstants.TEST_USER, PropertyFileType.TEST_FRAMEWORK);
- testProject = propertyReader.readProperty(TestFrameworkConstants.FrameworkPropertiesConstants.TEST_PROJECT, PropertyFileType.TEST_FRAMEWORK);
+ properties = props;
+ testUser = properties.getTestUserName();
+ testProject = properties.getTestProjectName();
FrameworkUtils frameworkUtils = FrameworkUtils.getInstance();
- gatewaysToAvoid = frameworkUtils.getGatewayListToAvoid();
+ gatewaysToAvoid = frameworkUtils.getGatewayListToAvoid(properties.getSkippedGateways());
}catch (Exception e){
logger.error("Error while initializing setup step", e);
throw new Exception("Error while initializing setup step", e);
@@ -79,9 +81,9 @@ public class GatewayRegister {
public void createGateways() throws Exception{
try {
// read gateway count from properties file
- gatewayCount = Integer.valueOf(propertyReader.readProperty(TestFrameworkConstants.FrameworkPropertiesConstants.NUMBER_OF_GATEWAYS, PropertyFileType.TEST_FRAMEWORK));
- String genericGatewayName = propertyReader.readProperty(TestFrameworkConstants.GatewayConstants.GENERIC_GATEWAY_NAME, PropertyFileType.TEST_FRAMEWORK);
- String genericGatewayDomain = propertyReader.readProperty(TestFrameworkConstants.GatewayConstants.GENERIC_GATEWAY_DOMAIN, PropertyFileType.TEST_FRAMEWORK);
+ gatewayCount = properties.getGcount();
+ String genericGatewayName = properties.getGname();
+ String genericGatewayDomain = properties.getGdomain();
for (int i = 0; i < gatewayCount; i++){
Gateway gateway = new Gateway();
String gatewayId = genericGatewayName + (i + 1);
@@ -121,7 +123,7 @@ public class GatewayRegister {
public void registerSSHKeys () throws Exception{
try {
// write tokens to file
- String tokenWriteLocation = propertyReader.readProperty(TestFrameworkConstants.FrameworkPropertiesConstants.TOKEN_WRITE_LOCATION, PropertyFileType.TEST_FRAMEWORK);
+ String tokenWriteLocation = properties.getTokenFileLoc();
String fileName = tokenWriteLocation + File.separator + TestFrameworkConstants.CredentialStoreConstants.TOKEN_FILE_NAME;
PrintWriter tokenWriter = new PrintWriter(fileName, "UTF-8");
@@ -131,9 +133,9 @@ public class GatewayRegister {
String jdbcDriver = propertyReader.readProperty(TestFrameworkConstants.AiravataClientConstants.CS_JBDC_DRIVER, PropertyFileType.AIRAVATA_CLIENT);
String userName = propertyReader.readProperty(TestFrameworkConstants.AiravataClientConstants.CS_DB_USERNAME, PropertyFileType.AIRAVATA_CLIENT);
String password = propertyReader.readProperty(TestFrameworkConstants.AiravataClientConstants.CS_DB_PWD, PropertyFileType.AIRAVATA_CLIENT);
- String privateKeyPath = propertyReader.readProperty(TestFrameworkConstants.FrameworkPropertiesConstants.SSH_PRIKEY_LOCATION, PropertyFileType.TEST_FRAMEWORK);
- String pubKeyPath = propertyReader.readProperty(TestFrameworkConstants.FrameworkPropertiesConstants.SSH_PUBKEY_LOCATION, PropertyFileType.TEST_FRAMEWORK);
- String keyPassword = propertyReader.readProperty(TestFrameworkConstants.FrameworkPropertiesConstants.SSH_PWD, PropertyFileType.TEST_FRAMEWORK);
+ String privateKeyPath = properties.getSshPrivateKeyLoc();
+ String pubKeyPath = properties.getSshPubKeyLoc();
+ String keyPassword = properties.getSshPassword();
DBUtil dbUtil = new DBUtil(jdbcURL, userName, password, jdbcDriver);
SSHCredentialWriter writer = new SSHCredentialWriter(dbUtil);
List<Gateway> allGateways = airavata.getAllGateways();
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/TestFrameworkProps.java
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/TestFrameworkProps.java b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/TestFrameworkProps.java
index cc7f7ea..c9b06bc 100644
--- a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/TestFrameworkProps.java
+++ b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/TestFrameworkProps.java
@@ -21,6 +21,228 @@
package org.apache.airavata.testsuite.multitenantedairavata;
+import java.util.Map;
+
public class TestFrameworkProps {
+ private int gcount;
+ private String gname;
+ private String gdomain;
+ private String testUserName;
+ private String testProjectName;
+ private String sshPubKeyLoc;
+ private String sshPrivateKeyLoc;
+ private String sshPassword;
+ private String sshUsername;
+ private String tokenFileLoc;
+ private String resultFileLoc;
+ private String skippedGateways;
+ private Resource[] resources;
+ private Application[] applications;
+ private Error[] errors;
+
+ public TestFrameworkProps() {
+ }
+
+ public int getGcount() {
+ return gcount;
+ }
+
+ public void setGcount(int gcount) {
+ this.gcount = gcount;
+ }
+
+ public String getGname() {
+ return gname;
+ }
+
+ public void setGname(String gname) {
+ this.gname = gname;
+ }
+
+ public String getGdomain() {
+ return gdomain;
+ }
+
+ public void setGdomain(String gdomain) {
+ this.gdomain = gdomain;
+ }
+
+ public String getTestUserName() {
+ return testUserName;
+ }
+
+ public void setTestUserName(String testUserName) {
+ this.testUserName = testUserName;
+ }
+
+ public String getTestProjectName() {
+ return testProjectName;
+ }
+
+ public void setTestProjectName(String testProjectName) {
+ this.testProjectName = testProjectName;
+ }
+
+ public String getSshPubKeyLoc() {
+ return sshPubKeyLoc;
+ }
+
+ public void setSshPubKeyLoc(String sshPubKeyLoc) {
+ this.sshPubKeyLoc = sshPubKeyLoc;
+ }
+
+ public String getSshPrivateKeyLoc() {
+ return sshPrivateKeyLoc;
+ }
+
+ public void setSshPrivateKeyLoc(String sshPrivateKeyLoc) {
+ this.sshPrivateKeyLoc = sshPrivateKeyLoc;
+ }
+
+ public String getSshPassword() {
+ return sshPassword;
+ }
+
+ public void setSshPassword(String sshPassword) {
+ this.sshPassword = sshPassword;
+ }
+
+ public String getSshUsername() {
+ return sshUsername;
+ }
+
+ public void setSshUsername(String sshUsername) {
+ this.sshUsername = sshUsername;
+ }
+
+ public String getTokenFileLoc() {
+ return tokenFileLoc;
+ }
+
+ public void setTokenFileLoc(String tokenFileLoc) {
+ this.tokenFileLoc = tokenFileLoc;
+ }
+
+ public String getResultFileLoc() {
+ return resultFileLoc;
+ }
+
+ public void setResultFileLoc(String resultFileLoc) {
+ this.resultFileLoc = resultFileLoc;
+ }
+
+ public String getSkippedGateways() {
+ return skippedGateways;
+ }
+
+ public void setSkippedGateways(String skippedGateways) {
+ this.skippedGateways = skippedGateways;
+ }
+
+ public Resource[] getResources() {
+ return resources;
+ }
+ public void setResources(Resource[] resources) {
+ this.resources = resources;
+ }
+
+ public Application[] getApplications() {
+ return applications;
+ }
+
+ public void setApplications(Application[] applications) {
+ this.applications = applications;
+ }
+
+ public Error[] getErrors() {
+ return errors;
+ }
+
+ public void setErrors(Error[] errors) {
+ this.errors = errors;
+ }
+
+ public class Resource {
+ private String name;
+ private String loginUser;
+
+ public Resource() {
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getLoginUser() {
+ return loginUser;
+ }
+
+ public void setLoginUser(String loginUser) {
+ this.loginUser = loginUser;
+ }
+ }
+
+ public class Application {
+ private String name;
+ private Map<String, String> inputs;
+
+ public Application() {
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Map<String, String> getInputs() {
+ return inputs;
+ }
+
+ public void setInputs(Map<String, String> inputs) {
+ this.inputs = inputs;
+ }
+ }
+
+ public class Error {
+ private String name;
+ private String application;
+ private Map<String, String> errorFeeds;
+
+ public Error() {
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getApplication() {
+ return application;
+ }
+
+ public void setApplication(String application) {
+ this.application = application;
+ }
+
+ public Map<String, String> getErrorFeeds() {
+ return errorFeeds;
+ }
+
+ public void setErrorFeeds(Map<String, String> errorFeeds) {
+ this.errorFeeds = errorFeeds;
+ }
+ }
}
+
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/FrameworkUtils.java
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/FrameworkUtils.java b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/FrameworkUtils.java
index cdc1304..a02fe97 100644
--- a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/FrameworkUtils.java
+++ b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/FrameworkUtils.java
@@ -21,12 +21,10 @@
package org.apache.airavata.testsuite.multitenantedairavata.utils;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class FrameworkUtils {
- private static PropertyReader propertyReader;
private static FrameworkUtils ourInstance = new FrameworkUtils();
@@ -35,20 +33,10 @@ public class FrameworkUtils {
}
public FrameworkUtils() {
- propertyReader = new PropertyReader();
}
- public List<String> getGatewayListToAvoid (){
- String listOfGateways = propertyReader.readProperty(TestFrameworkConstants.FrameworkPropertiesConstants.GATEWAYS_TOSKIP, PropertyFileType.TEST_FRAMEWORK);
- String[] gateways = listOfGateways.split(",");
+ public List<String> getGatewayListToAvoid (String gatewayList){
+ String[] gateways = gatewayList.split(",");
return Arrays.asList(gateways);
}
-
- public String getTestUserName (){
- return propertyReader.readProperty(TestFrameworkConstants.FrameworkPropertiesConstants.TEST_USER, PropertyFileType.TEST_FRAMEWORK);
- }
-
- public String getTesProjectName (){
- return propertyReader.readProperty(TestFrameworkConstants.FrameworkPropertiesConstants.TEST_PROJECT, PropertyFileType.TEST_FRAMEWORK);
- }
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/PropertyFileType.java
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/PropertyFileType.java b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/PropertyFileType.java
index 0437c4e..1db022f 100644
--- a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/PropertyFileType.java
+++ b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/PropertyFileType.java
@@ -23,6 +23,6 @@ package org.apache.airavata.testsuite.multitenantedairavata.utils;
public enum PropertyFileType {
- AIRAVATA_CLIENT,
- TEST_FRAMEWORK
+ AIRAVATA_CLIENT
+// TEST_FRAMEWORK
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/PropertyReader.java
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/PropertyReader.java b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/PropertyReader.java
index 1ef2851..f7b8e1f 100644
--- a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/PropertyReader.java
+++ b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/PropertyReader.java
@@ -31,7 +31,6 @@ import java.util.Properties;
public class PropertyReader {
private final static Logger logger = LoggerFactory.getLogger(PropertyReader.class);
private static Properties airavataClientProperties = new Properties();
- private static Properties testFrameworkroperties = new Properties();
public PropertyReader() {
try {
@@ -43,22 +42,15 @@ public class PropertyReader {
protected void loadProperties() throws IOException {
URL airavataURL = PropertyFileType.class.getClassLoader().getResource(TestFrameworkConstants.AIRAVATA_CLIENT_PROPERTIES);
- URL frameworkPropUrl = PropertyFileType.class.getClassLoader().getResource(TestFrameworkConstants.TEST_FREAMEWORK_PROPERTIES);
if (airavataURL != null){
airavataClientProperties.load(airavataURL.openStream());
}
- if (frameworkPropUrl != null){
- testFrameworkroperties.load(frameworkPropUrl.openStream());
- }
-
}
public String readProperty (String propertyName, PropertyFileType type){
switch (type){
case AIRAVATA_CLIENT:
return airavataClientProperties.getProperty(propertyName);
- case TEST_FRAMEWORK:
- return testFrameworkroperties.getProperty(propertyName);
}
return null;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/TestFrameworkConstants.java
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/TestFrameworkConstants.java b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/TestFrameworkConstants.java
index c0ea2c4..7376f7a 100644
--- a/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/TestFrameworkConstants.java
+++ b/modules/test-suite/multi-tenanted-airavata/src/main/java/org/apache/airavata/testsuite/multitenantedairavata/utils/TestFrameworkConstants.java
@@ -24,6 +24,7 @@ package org.apache.airavata.testsuite.multitenantedairavata.utils;
public class TestFrameworkConstants {
public static final String AIRAVATA_CLIENT_PROPERTIES = "airavata-client.properties";
public static final String TEST_FREAMEWORK_PROPERTIES = "test-framework.properties";
+ public static final String TEST_FREAMEWORK_JSON = "test-framework.json";
public static final class AiravataClientConstants {
public static final String THRIFT_SERVER_HOST = "thrift.server.host";
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/test-suite/multi-tenanted-airavata/src/main/resources/test-framework.json
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/resources/test-framework.json b/modules/test-suite/multi-tenanted-airavata/src/main/resources/test-framework.json
index e69de29..50288a7 100644
--- a/modules/test-suite/multi-tenanted-airavata/src/main/resources/test-framework.json
+++ b/modules/test-suite/multi-tenanted-airavata/src/main/resources/test-framework.json
@@ -0,0 +1,63 @@
+{
+ "gcount": 1,
+ "gname": "testGateway",
+ "gdomain": ".airavata.org",
+ "testUserName": "testUser",
+ "testProjectName": "test.project",
+ "sshPubKeyLoc": "/Users/chathuri/.ssh/id_dsa.pub",
+ "sshPrivateKeyLoc": "/Users/chathuri/.ssh/id_dsa",
+ "sshPassword": "",
+ "sshUsername": "ogce",
+ "tokenFileLoc": "/tmp/",
+ "resultFileLoc": "/tmp/test_framework_results/",
+ "skippedGateways": "default,php_reference_gateway,ultrascan,umass",
+ "resources": [
+ {
+ "name": "trestles.sdsc.xsede.org",
+ "loginUser": "ogce"
+
+ },
+ {
+ "name": "stampede.tacc.xsede.org",
+ "loginUser": "ogce"
+
+ },
+ {
+ "name": "bigred2.uits.iu.edu",
+ "loginUser": "cpelikan"
+
+ }
+ ],
+ "applications": [
+ {
+ "name": "amber_sander",
+ "inputs": {
+ "heatRst": "/Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES/02_Heat.rst",
+ "prodIn": "/Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES/03_Prod.in",
+ "prmtop": "/Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES/prmtop"
+ }
+ }
+ ],
+ "errors": [
+ {
+ "name": "badinputs",
+ "application": "amber_sander",
+ "errorFeeds": {
+ "heatRst": "/Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES/02_Heat.rst",
+ "prodIn": "/Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES/03_Prod.in",
+ "prmtop": "/Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES/prmtop"
+ }
+ },
+ {
+ "name": "error.configuration",
+ "application": "amber_sander",
+ "errorFeeds": {
+ "projectId": "sds128",
+ "queueName": "normal",
+ "walltime": 10,
+ "hostName": "trestles.sdsc.xsede.org"
+ }
+
+ }
+ ]
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/4e3fde8f/modules/test-suite/multi-tenanted-airavata/src/main/resources/test-framework.yaml
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/resources/test-framework.yaml b/modules/test-suite/multi-tenanted-airavata/src/main/resources/test-framework.yaml
new file mode 100644
index 0000000..6c1a6e6
--- /dev/null
+++ b/modules/test-suite/multi-tenanted-airavata/src/main/resources/test-framework.yaml
@@ -0,0 +1,49 @@
+gcount: 10
+gname: testGateway
+gdomain: .airavata.org
+testUserName: testUser
+testProjectName : test.project
+sshPubKeyLoc : /Users/chathuri/.ssh/id_dsa.pub
+sshPrivateKeyLoc: /Users/chathuri/.ssh/id_dsa
+sshPassword: password
+sshUsername: ogce
+tokenFileLoc : /tmp/
+resultFileLoc : /tmp/test_framework_results/
+skippedGateways : defaultphp_reference_gatewayultrascanumass
+resources :
+ -name : trestles.sdsc.xsede.org
+ loginUser : ogce
+ -name : stampede.tacc.xsede.org
+ loginUser : ogce
+ -name : bigred2.uits.iu.edu
+ loginUser : cgateway
+
+applications :
+ -name :amber
+ inputs :
+ heatRst : /Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES/02_Heat.rst
+ prodIn : /Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES/03_Prod.in
+ prmtop : /Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES/prmtop
+
+
+
+errors :
+ name :badinputs
+ application : amber
+ errorFeeds :
+ heatRst : /Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES/02_Heat.rst
+ prodIn : /Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES/03_Prod.in
+ prmtop : /Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES/prmtop
+
+
+ name :error.configuration
+ application : amber
+ errorFeeds :
+ projectId : sds128
+ queueName : normal
+ walltime : 10
+ hostName : trestles.sdsc.xsede.org
+
+
+
+