Repository: airavata Updated Branches: refs/heads/master 4e3fde8f7 -> 49deda555
handling error scenarios from test framework and save entire error to registry - 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/49deda55 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/49deda55 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/49deda55 Branch: refs/heads/master Commit: 49deda55540739922f822b5a7afb5ea8dfc3c74b Parents: 4e3fde8 Author: Chathuri Wimalasena <[email protected]> Authored: Thu Apr 16 15:51:40 2015 -0400 Committer: Chathuri Wimalasena <[email protected]> Committed: Thu Apr 16 15:51:40 2015 -0400 ---------------------------------------------------------------------- .../gfac/bes/handlers/AbstractSMSHandler.java | 6 +- .../airavata/gfac/core/cpi/BetterGfacImpl.java | 6 +- .../gfac/core/utils/OutHandlerWorker.java | 7 +- .../handler/GSISSHDirectorySetupHandler.java | 6 +- .../gsissh/provider/impl/GSISSHProvider.java | 6 +- .../ssh/handler/AdvancedSCPInputHandler.java | 6 +- .../ssh/handler/AdvancedSCPOutputHandler.java | 10 +- .../gfac/ssh/handler/NewSSHOutputHandler.java | 6 +- .../ssh/handler/SSHDirectorySetupHandler.java | 10 +- .../gfac/ssh/handler/SSHInputHandler.java | 11 +- .../gfac/ssh/handler/SSHOutputHandler.java | 11 +- .../gfac/ssh/provider/impl/SSHProvider.java | 13 +- .../airavata/gfac/ssh/util/GFACSSHUtils.java | 6 +- .../ExperimentExecution.java | 200 ++++++++++++++++--- .../FrameworkBootstrapping.java | 2 +- .../TestFrameworkProps.java | 18 ++ .../utils/TestFrameworkConstants.java | 10 + .../src/main/resources/test-framework.json | 17 +- 18 files changed, 291 insertions(+), 60 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/49deda55/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 a21706e..77057ee 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 @@ -21,6 +21,8 @@ package org.apache.airavata.gfac.bes.handlers; +import java.io.PrintWriter; +import java.io.StringWriter; import java.util.Properties; import org.airavata.appcatalog.cpi.AppCatalogException; @@ -116,7 +118,9 @@ public abstract class AbstractSMSHandler implements BESConstants, GFacHandler{ }catch (Exception e) { log.error(e.getMessage()); try { - GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR); + StringWriter errors = new StringWriter(); + e.printStackTrace(new PrintWriter(errors)); + GFacUtils.saveErrorDetails(jobExecutionContext, errors.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/49deda55/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 30b76ff..839e25f 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 @@ -71,6 +71,8 @@ import javax.xml.parsers.ParserConfigurationException; import javax.xml.xpath.XPathExpressionException; import java.io.File; import java.io.IOException; +import java.io.PrintWriter; +import java.io.StringWriter; import java.net.URL; import java.util.*; @@ -209,7 +211,9 @@ 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.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR ); + StringWriter errors = new StringWriter(); + e.printStackTrace(new PrintWriter(errors)); + GFacUtils.saveErrorDetails(jobExecutionContext, errors.toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR ); throw new GFacException(e); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/49deda55/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 143bb8c..25905e4 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 @@ -33,6 +33,9 @@ import org.apache.airavata.model.workspace.experiment.TaskState; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.PrintWriter; +import java.io.StringWriter; + public class OutHandlerWorker implements Runnable { private final static Logger logger = LoggerFactory.getLogger(OutHandlerWorker.class); @@ -66,7 +69,9 @@ 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.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR); + StringWriter errors = new StringWriter(); + e.printStackTrace(new PrintWriter(errors)); + GFacUtils.saveErrorDetails(monitorID.getJobExecutionContext(), errors.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/49deda55/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 3d60d6d..26547b5 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 @@ -33,6 +33,8 @@ import org.apache.airavata.registry.cpi.ChildDataType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.PrintWriter; +import java.io.StringWriter; import java.util.Properties; public class GSISSHDirectorySetupHandler extends AbstractRecoverableHandler { @@ -46,7 +48,9 @@ public class GSISSHDirectorySetupHandler extends AbstractRecoverableHandler { } } catch (Exception e) { try { - GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR); + StringWriter errors = new StringWriter(); + e.printStackTrace(new PrintWriter(errors)); + GFacUtils.saveErrorDetails(jobExecutionContext, errors.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/49deda55/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 99a9e77..c7ad986 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 @@ -55,6 +55,8 @@ import org.apache.zookeeper.KeeperException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.PrintWriter; +import java.io.StringWriter; import java.util.List; import java.util.Map; @@ -132,7 +134,9 @@ public class GSISSHProvider extends AbstractRecoverableProvider { log.error(error); jobDetails.setJobID("none"); GFacUtils.saveJobStatus(jobExecutionContext, jobDetails, JobState.FAILED); - GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR); + StringWriter errors = new StringWriter(); + e.printStackTrace(new PrintWriter(errors)); + GFacUtils.saveErrorDetails(jobExecutionContext, errors.toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR); throw new GFacProviderException(error, e); } finally { log.info("Saving data for future recovery: "); http://git-wip-us.apache.org/repos/asf/airavata/blob/49deda55/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 a300063..2fae3d5 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 @@ -41,6 +41,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; +import java.io.PrintWriter; +import java.io.StringWriter; import java.net.MalformedURLException; import java.net.URL; import java.util.*; @@ -200,7 +202,9 @@ public class AdvancedSCPInputHandler extends AbstractRecoverableHandler { } catch (Exception e) { log.error(e.getMessage()); try { - GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR); + StringWriter errors = new StringWriter(); + e.printStackTrace(new PrintWriter(errors)); + GFacUtils.saveErrorDetails(jobExecutionContext, errors.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/49deda55/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 d1739c5..fac03e8 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 @@ -42,6 +42,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; +import java.io.PrintWriter; +import java.io.StringWriter; import java.net.MalformedURLException; import java.net.URL; import java.util.*; @@ -108,7 +110,9 @@ public class AdvancedSCPOutputHandler extends AbstractHandler { } catch (ApplicationSettingsException e) { log.error(e.getMessage()); try { - GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR); + StringWriter errors = new StringWriter(); + e.printStackTrace(new PrintWriter(errors)); + GFacUtils.saveErrorDetails(jobExecutionContext, errors.toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR); } catch (GFacException e1) { log.error(e1.getLocalizedMessage()); } @@ -189,7 +193,9 @@ public class AdvancedSCPOutputHandler extends AbstractHandler { registry.add(ChildDataType.EXPERIMENT_OUTPUT, outputArray, jobExecutionContext.getExperimentID()); } catch (SSHApiException e) { try { - GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR); + StringWriter errors = new StringWriter(); + e.printStackTrace(new PrintWriter(errors)); + GFacUtils.saveErrorDetails(jobExecutionContext, errors.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/49deda55/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 5a64521..f7efb34 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 @@ -1,5 +1,7 @@ package org.apache.airavata.gfac.ssh.handler; +import java.io.PrintWriter; +import java.io.StringWriter; import java.util.List; import java.util.Properties; @@ -42,7 +44,9 @@ public class NewSSHOutputHandler extends AbstractHandler{ } catch (Exception e) { log.error(e.getMessage()); try { - GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR); + StringWriter errors = new StringWriter(); + e.printStackTrace(new PrintWriter(errors)); + GFacUtils.saveErrorDetails(jobExecutionContext, errors.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/49deda55/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 6ba4f75..5c0d1f8 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 @@ -33,6 +33,8 @@ import org.apache.airavata.registry.cpi.ChildDataType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.PrintWriter; +import java.io.StringWriter; import java.util.Properties; public class SSHDirectorySetupHandler extends AbstractHandler { @@ -47,7 +49,9 @@ public class SSHDirectorySetupHandler extends AbstractHandler { } catch (Exception e) { log.error(e.getMessage()); try { - GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR); + StringWriter errors = new StringWriter(); + e.printStackTrace(new PrintWriter(errors)); + GFacUtils.saveErrorDetails(jobExecutionContext, errors.toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR); } catch (GFacException e1) { log.error(e1.getLocalizedMessage()); } @@ -92,7 +96,9 @@ public class SSHDirectorySetupHandler extends AbstractHandler { detail.setTransferDescription("Working directory = " + jobExecutionContext.getWorkingDir()); try { registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID()); - GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.FILE_SYSTEM_FAILURE); + StringWriter errors = new StringWriter(); + e.printStackTrace(new PrintWriter(errors)); + GFacUtils.saveErrorDetails(jobExecutionContext, errors.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/49deda55/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 13090eb..27471d4 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 @@ -39,6 +39,8 @@ import org.slf4j.LoggerFactory; import java.io.File; import java.io.IOException; +import java.io.PrintWriter; +import java.io.StringWriter; import java.util.ArrayList; import java.util.List; import java.util.Properties; @@ -51,6 +53,7 @@ public class SSHInputHandler extends AbstractHandler { public void invoke(JobExecutionContext jobExecutionContext) throws GFacHandlerException { DataTransferDetails detail = new DataTransferDetails(); + detail.setTransferDescription("Input Data Staging"); TransferStatus status = new TransferStatus(); int index = 0; int oldIndex = 0; @@ -67,7 +70,9 @@ public class SSHInputHandler extends AbstractHandler { } catch (ApplicationSettingsException e) { log.error(e.getMessage()); try { - GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR); + StringWriter errors = new StringWriter(); + e.printStackTrace(new PrintWriter(errors)); + GFacUtils.saveErrorDetails(jobExecutionContext, errors.toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR); } catch (GFacException e1) { log.error(e1.getLocalizedMessage()); } @@ -136,7 +141,9 @@ public class SSHInputHandler extends AbstractHandler { status.setTransferState(TransferState.FAILED); detail.setTransferStatus(status); try { - GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.FILE_SYSTEM_FAILURE); + StringWriter errors = new StringWriter(); + e.printStackTrace(new PrintWriter(errors)); + GFacUtils.saveErrorDetails(jobExecutionContext, errors.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/49deda55/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 1210c83..9b7cd2e 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 @@ -43,6 +43,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; +import java.io.PrintWriter; +import java.io.StringWriter; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -61,7 +63,9 @@ public class SSHOutputHandler extends AbstractHandler { } catch (Exception e) { log.error(e.getMessage()); try { - GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR); + StringWriter errors = new StringWriter(); + e.printStackTrace(new PrintWriter(errors)); + GFacUtils.saveErrorDetails(jobExecutionContext, errors.toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR); } catch (GFacException e1) { log.error(e1.getLocalizedMessage()); } @@ -70,6 +74,7 @@ public class SSHOutputHandler extends AbstractHandler { super.invoke(jobExecutionContext); DataTransferDetails detail = new DataTransferDetails(); + detail.setTransferDescription("Output data staging"); TransferStatus status = new TransferStatus(); Cluster cluster = null; @@ -227,7 +232,9 @@ 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.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.FILE_SYSTEM_FAILURE); + StringWriter errors = new StringWriter(); + e.printStackTrace(new PrintWriter(errors)); + GFacUtils.saveErrorDetails(jobExecutionContext, errors.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/49deda55/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 70fec1f..54d9c10 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 @@ -63,10 +63,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import sun.reflect.generics.reflectiveObjects.NotImplementedException; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStream; +import java.io.*; import java.util.*; /** @@ -234,14 +231,18 @@ public class SSHProvider extends AbstractProvider { log.error(error); jobDetails.setJobID("none"); GFacUtils.saveJobStatus(jobExecutionContext, jobDetails, JobState.FAILED); - GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR); + StringWriter errors = new StringWriter(); + e.printStackTrace(new PrintWriter(errors)); + GFacUtils.saveErrorDetails(jobExecutionContext, errors.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, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR); + StringWriter errors = new StringWriter(); + e.printStackTrace(new PrintWriter(errors)); + GFacUtils.saveErrorDetails(jobExecutionContext, errors.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/49deda55/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 f4b3387..e810302 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 @@ -58,6 +58,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; +import java.io.PrintWriter; +import java.io.StringWriter; import java.util.*; public class GFACSSHUtils { @@ -504,7 +506,9 @@ public class GFACSSHUtils { } catch (ApplicationSettingsException e) { logger.error(e.getMessage()); try { - GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR); + StringWriter errors = new StringWriter(); + e.printStackTrace(new PrintWriter(errors)); + GFacUtils.saveErrorDetails(jobExecutionContext, errors.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/49deda55/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 17afc0b..770b2f3 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 @@ -29,6 +29,7 @@ import org.apache.airavata.messaging.core.MessagingConstants; import org.apache.airavata.messaging.core.impl.RabbitMQStatusConsumer; import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType; import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType; +import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription; import org.apache.airavata.model.error.AiravataClientException; import org.apache.airavata.model.error.AiravataSystemException; import org.apache.airavata.model.error.InvalidRequestException; @@ -261,9 +262,9 @@ public class ExperimentExecution { TBase messageEvent = message.getEvent(); byte[] bytes = ThriftUtils.serializeThriftObject(messageEvent); ThriftUtils.createThriftFromBytes(bytes, event); - System.out.println(" Job ID : '" + event.getJobIdentity().getJobId() - + "' with state : '" + event.getState().toString() + - " for Gateway " + event.getJobIdentity().getGatewayId()); +// System.out.println(" Job ID : '" + event.getJobIdentity().getJobId() +// + "' with state : '" + event.getState().toString() + +// " for Gateway " + event.getJobIdentity().getGatewayId()); // resultWriter.println("Job Status : " + event.getState().toString()); } catch (TException e) { @@ -281,6 +282,144 @@ public class ExperimentExecution { return dateFormat.format(cal.getTime()); } + public void createAmberWithErrorInputs (String gatewayId, + String token, + String projectId, + String hostId, + String appId) throws Exception { + try { + List<InputDataObjectType> applicationInputs = airavata.getApplicationInputs(appId); + List<OutputDataObjectType> appOutputs = airavata.getApplicationOutputs(appId); + TestFrameworkProps.Error[] errors = properties.getErrors(); + for (TestFrameworkProps.Error error : errors) { + String name = error.getName(); + String hostName = error.getResoureName(); + if (name.equals(TestFrameworkConstants.ErrorTypeConstants.BADINPUTS)) { + if (error.getApplication().equals(TestFrameworkConstants.AppcatalogConstants.AMBER_APP_NAME)) { + Map<String, String> userGivenErrorInputs = error.getErrorFeeds(); + for (String inputName : userGivenErrorInputs.keySet()) { + for (InputDataObjectType inputDataObjectType : applicationInputs) { + if (inputDataObjectType.getName().equalsIgnoreCase(inputName)) { + inputDataObjectType.setValue(userGivenErrorInputs.get(inputName)); + } + } + } + Experiment simpleExperiment = + ExperimentModelUtil.createSimpleExperiment(projectId, testUser, "AmberErrorInputs", "Amber Experiment run", appId, applicationInputs); + simpleExperiment.setExperimentOutputs(appOutputs); + String experimentId; + if (hostName.equals(TestFrameworkConstants.AppcatalogConstants.TRESTLES_RESOURCE_NAME)) { + ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(hostId, 4, 1, 1, "normal", 20, 0, 1, null); + UserConfigurationData userConfigurationData = new UserConfigurationData(); + userConfigurationData.setAiravataAutoSchedule(false); + userConfigurationData.setOverrideManualScheduledParams(false); + userConfigurationData.setComputationalResourceScheduling(scheduling); + simpleExperiment.setUserConfigurationData(userConfigurationData); + experimentId = airavata.createExperiment(gatewayId, simpleExperiment); + experimentsWithTokens.put(experimentId, token); + experimentsWithGateway.put(experimentId, gatewayId); + } else if (hostName.equals(TestFrameworkConstants.AppcatalogConstants.STAMPEDE_RESOURCE_NAME)) { + ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(hostId, 4, 1, 1, "normal", 20, 0, 1, null); + UserConfigurationData userConfigurationData = new UserConfigurationData(); + userConfigurationData.setAiravataAutoSchedule(false); + userConfigurationData.setOverrideManualScheduledParams(false); + userConfigurationData.setComputationalResourceScheduling(scheduling); + simpleExperiment.setUserConfigurationData(userConfigurationData); + experimentId = airavata.createExperiment(gatewayId, simpleExperiment); + experimentsWithTokens.put(experimentId, token); + experimentsWithGateway.put(experimentId, gatewayId); + } else if (hostName.equals(TestFrameworkConstants.AppcatalogConstants.BR2_RESOURCE_NAME)) { + ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(hostId, 4, 1, 1, "normal", 20, 0, 1, null); + UserConfigurationData userConfigurationData = new UserConfigurationData(); + userConfigurationData.setAiravataAutoSchedule(false); + userConfigurationData.setOverrideManualScheduledParams(false); + userConfigurationData.setComputationalResourceScheduling(scheduling); + simpleExperiment.setUserConfigurationData(userConfigurationData); + experimentId = airavata.createExperiment(gatewayId, simpleExperiment); + experimentsWithTokens.put(experimentId, token); + experimentsWithGateway.put(experimentId, gatewayId); + } + + } + } + } + + } catch (Exception e) { + logger.error("Error occured while creating amber experiment with bad inputs", e); + throw new Exception("Error occured while creating amber experiment with bad inputs", e); + } + } + + public void createAmberWithErrorUserConfig (String gatewayId, + String token, + String projectId, + String appId, + String hostId) throws Exception { + try { + + TestFrameworkProps.Error[] errors = properties.getErrors(); + for (TestFrameworkProps.Error error : errors) { + String name = error.getName(); + String hostName = error.getResoureName(); + if (name.equals(TestFrameworkConstants.ErrorTypeConstants.ERROR_CONFIG)) { + if (error.getApplication().equals(TestFrameworkConstants.AppcatalogConstants.AMBER_APP_NAME)) { + List<InputDataObjectType> applicationInputs = airavata.getApplicationInputs(appId); + List<OutputDataObjectType> appOutputs = airavata.getApplicationOutputs(appId); + 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 inputName : userGivenAmberInputs.keySet()) { + for (InputDataObjectType inputDataObjectType : applicationInputs) { + if (inputDataObjectType.getName().equalsIgnoreCase(inputName)) { + inputDataObjectType.setValue(userGivenAmberInputs.get(inputName)); + } + } + } + Map<String, String> errorConfigs = error.getErrorFeeds(); + String allocationProject = null; + String queueName = null; + Integer walltime = 0; + String host = null; + for (String configName : errorConfigs.keySet()) { + if (configName.equals(TestFrameworkConstants.ErrorTypeConstants.ALLOCATION_PROJECT)) { + allocationProject = errorConfigs.get(configName); + } else if (configName.equals(TestFrameworkConstants.ErrorTypeConstants.QUEUE_NAME)) { + queueName = errorConfigs.get(configName); + } else if (configName.equals(TestFrameworkConstants.ErrorTypeConstants.WALLTIME)) { + walltime = Integer.valueOf(errorConfigs.get(configName)); + } else if (configName.equals(TestFrameworkConstants.ErrorTypeConstants.HOST_NAME)) { + host = errorConfigs.get(configName); + } + } + + Experiment simpleExperiment = + ExperimentModelUtil.createSimpleExperiment(projectId, testUser, "AmberErrorInputs", "Amber Experiment run", appId, applicationInputs); + simpleExperiment.setExperimentOutputs(appOutputs); + ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(hostId, 4, 1, 1, queueName, walltime, 0, 1, allocationProject); + UserConfigurationData userConfigurationData = new UserConfigurationData(); + userConfigurationData.setAiravataAutoSchedule(false); + userConfigurationData.setOverrideManualScheduledParams(false); + userConfigurationData.setComputationalResourceScheduling(scheduling); + + simpleExperiment.setUserConfigurationData(userConfigurationData); + String experimentId = airavata.createExperiment(gatewayId, simpleExperiment); + experimentsWithTokens.put(experimentId, token); + experimentsWithGateway.put(experimentId, gatewayId); + + } + } + } + + } catch (Exception e) { + logger.error("Error occured while creating amber experiment with bad inputs", e); + throw new Exception("Error occured while creating amber experiment with bad inputs", e); + } + } + public void createAmberExperiment () throws Exception{ try { TestFrameworkProps.Application[] applications = properties.getApplications(); @@ -320,35 +459,36 @@ public class ExperimentExecution { for (String id : computeResources.keySet()) { String resourceName = computeResources.get(id); if (resourceName.equals(TestFrameworkConstants.AppcatalogConstants.TRESTLES_RESOURCE_NAME)) { - ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(id, 4, 1, 1, "normal", 20, 0, 1, null); - UserConfigurationData userConfigurationData = new UserConfigurationData(); - userConfigurationData.setAiravataAutoSchedule(false); - userConfigurationData.setOverrideManualScheduledParams(false); - userConfigurationData.setComputationalResourceScheduling(scheduling); - simpleExperiment.setUserConfigurationData(userConfigurationData); - experimentId = airavata.createExperiment(gatewayId, simpleExperiment); - experimentsWithTokens.put(experimentId, token); - experimentsWithGateway.put(experimentId, gatewayId); +// ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(id, 4, 1, 1, "normal", 20, 0, 1, null); +// UserConfigurationData userConfigurationData = new UserConfigurationData(); +// userConfigurationData.setAiravataAutoSchedule(false); +// userConfigurationData.setOverrideManualScheduledParams(false); +// userConfigurationData.setComputationalResourceScheduling(scheduling); +// simpleExperiment.setUserConfigurationData(userConfigurationData); +// experimentId = airavata.createExperiment(gatewayId, simpleExperiment); +// experimentsWithTokens.put(experimentId, token); +// experimentsWithGateway.put(experimentId, gatewayId); }else if (resourceName.equals(TestFrameworkConstants.AppcatalogConstants.STAMPEDE_RESOURCE_NAME)) { - ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(id, 4, 1, 1, "normal", 20, 0, 1, null); - UserConfigurationData userConfigurationData = new UserConfigurationData(); - userConfigurationData.setAiravataAutoSchedule(false); - userConfigurationData.setOverrideManualScheduledParams(false); - userConfigurationData.setComputationalResourceScheduling(scheduling); - simpleExperiment.setUserConfigurationData(userConfigurationData); - experimentId = airavata.createExperiment(gatewayId, simpleExperiment); - experimentsWithTokens.put(experimentId, token); - experimentsWithGateway.put(experimentId, gatewayId); +// ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(id, 4, 1, 1, "normal", 20, 0, 1, null); +// UserConfigurationData userConfigurationData = new UserConfigurationData(); +// userConfigurationData.setAiravataAutoSchedule(false); +// userConfigurationData.setOverrideManualScheduledParams(false); +// userConfigurationData.setComputationalResourceScheduling(scheduling); +// simpleExperiment.setUserConfigurationData(userConfigurationData); +// experimentId = airavata.createExperiment(gatewayId, simpleExperiment); +// experimentsWithTokens.put(experimentId, token); +// experimentsWithGateway.put(experimentId, gatewayId); + createAmberWithErrorInputs(gatewayId, token, projectID, id, appId); } else if (resourceName.equals(TestFrameworkConstants.AppcatalogConstants.BR2_RESOURCE_NAME)) { - ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(id, 4, 1, 1, "normal", 20, 0, 1, null); - UserConfigurationData userConfigurationData = new UserConfigurationData(); - userConfigurationData.setAiravataAutoSchedule(false); - userConfigurationData.setOverrideManualScheduledParams(false); - userConfigurationData.setComputationalResourceScheduling(scheduling); - simpleExperiment.setUserConfigurationData(userConfigurationData); - experimentId = airavata.createExperiment(gatewayId, simpleExperiment); - experimentsWithTokens.put(experimentId, token); - experimentsWithGateway.put(experimentId, gatewayId); +// ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(id, 4, 1, 1, "normal", 20, 0, 1, null); +// UserConfigurationData userConfigurationData = new UserConfigurationData(); +// userConfigurationData.setAiravataAutoSchedule(false); +// userConfigurationData.setOverrideManualScheduledParams(false); +// userConfigurationData.setComputationalResourceScheduling(scheduling); +// simpleExperiment.setUserConfigurationData(userConfigurationData); +// experimentId = airavata.createExperiment(gatewayId, simpleExperiment); +// experimentsWithTokens.put(experimentId, token); +// experimentsWithGateway.put(experimentId, gatewayId); } } } http://git-wip-us.apache.org/repos/asf/airavata/blob/49deda55/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 002f316..6691e48 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 @@ -75,7 +75,7 @@ public class FrameworkBootstrapping { }else if (expExec){ tokens = readTokens(); experimentExecution = new ExperimentExecution(setup.getAiravata(), tokens, setup.getTestFrameworkProps()); - experimentExecution.createEchoExperiment(); +// experimentExecution.createEchoExperiment(); experimentExecution.createAmberExperiment(); experimentExecution.launchExperiments(); experimentExecution.monitorExperiments(); http://git-wip-us.apache.org/repos/asf/airavata/blob/49deda55/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 c9b06bc..158a2ec 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 @@ -36,6 +36,7 @@ public class TestFrameworkProps { private String tokenFileLoc; private String resultFileLoc; private String skippedGateways; + private boolean injectErrors; private Resource[] resources; private Application[] applications; private Error[] errors; @@ -163,6 +164,14 @@ public class TestFrameworkProps { this.errors = errors; } + public boolean isInjectErrors() { + return injectErrors; + } + + public void setInjectErrors(boolean injectErrors) { + this.injectErrors = injectErrors; + } + public class Resource { private String name; private String loginUser; @@ -214,11 +223,20 @@ public class TestFrameworkProps { public class Error { private String name; private String application; + private String resoureName; private Map<String, String> errorFeeds; public Error() { } + public String getResoureName() { + return resoureName; + } + + public void setResoureName(String resoureName) { + this.resoureName = resoureName; + } + public String getName() { return name; } http://git-wip-us.apache.org/repos/asf/airavata/blob/49deda55/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 7376f7a..8fc2b28 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 @@ -54,6 +54,16 @@ public class TestFrameworkConstants { public static final String TEST_PROJECT = "test.project"; } + public static final class ErrorTypeConstants { + public static final String BADINPUTS = "badinputs"; + public static final String ERROR_CONFIG = "error.configuration"; + public static final String ALLOCATION_PROJECT = "projectId"; + public static final String QUEUE_NAME = "queueName"; + public static final String WALLTIME = "walltime"; + public static final String HOST_NAME = "hostName"; + + } + public static final class GatewayConstants { public static final String GENERIC_GATEWAY_NAME = "generic.gateway.name"; public static final String GENERIC_GATEWAY_DOMAIN = "generic.gateway.domain"; http://git-wip-us.apache.org/repos/asf/airavata/blob/49deda55/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 50288a7..b160666 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 @@ -4,13 +4,14 @@ "gdomain": ".airavata.org", "testUserName": "testUser", "testProjectName": "test.project", - "sshPubKeyLoc": "/Users/chathuri/.ssh/id_dsa.pub", - "sshPrivateKeyLoc": "/Users/chathuri/.ssh/id_dsa", - "sshPassword": "", + "sshPubKeyLoc": "/Users/chathuri/Desktop/ssh_gw111/id_rsa.pub", + "sshPrivateKeyLoc": "/Users/chathuri/Desktop/ssh_gw111/id_rsa", + "sshPassword": "ultrascan", "sshUsername": "ogce", "tokenFileLoc": "/tmp/", "resultFileLoc": "/tmp/test_framework_results/", "skippedGateways": "default,php_reference_gateway,ultrascan,umass", + "injectErrors" : true, "resources": [ { "name": "trestles.sdsc.xsede.org", @@ -24,7 +25,7 @@ }, { "name": "bigred2.uits.iu.edu", - "loginUser": "cpelikan" + "loginUser": "cgateway" } ], @@ -42,15 +43,17 @@ { "name": "badinputs", "application": "amber_sander", + "resoureName": "stampede.tacc.xsede.org", "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" + "heatRst": "/Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES1/02_Heat.rst", + "prodIn": "/Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES1/03_Prod.in", + "prmtop": "/Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES1/prmtop" } }, { "name": "error.configuration", "application": "amber_sander", + "resoureName": "stampede.tacc.xsede.org", "errorFeeds": { "projectId": "sds128", "queueName": "normal",
