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/23 22:55:29 UTC
airavata git commit: adding ultrascan application to test framework
Repository: airavata
Updated Branches:
refs/heads/master 4f89c6725 -> f76a4a045
adding ultrascan application to test framework
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/f76a4a04
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/f76a4a04
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/f76a4a04
Branch: refs/heads/master
Commit: f76a4a045d44ae4afb551bd5a68e99baacd8b2a7
Parents: 4f89c67
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Thu Apr 23 16:55:21 2015 -0400
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Thu Apr 23 16:55:21 2015 -0400
----------------------------------------------------------------------
.../ApplicationRegister.java | 99 +++++++++++++++++++-
.../ComputeResourceRegister.java | 67 ++++++++++---
.../ExperimentExecution.java | 93 ++++++++++++++++++
.../FrameworkBootstrapping.java | 16 ++--
.../utils/TestFrameworkConstants.java | 4 +
.../src/main/resources/test-framework.json | 18 ++++
6 files changed, 273 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/f76a4a04/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 5c82a65..6959fff 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
@@ -49,6 +49,8 @@ public class ApplicationRegister {
private String stampedeResourceId;
private String trestlesResourceId;
private String br2ResourceId;
+ private String gordenResourceId;
+ private String alamoResourceId;
private List<String> gatewaysToAvoid;
@@ -81,11 +83,16 @@ public class ApplicationRegister {
trestlesResourceId = resourceId;
}else if (resourceName.equals(TestFrameworkConstants.AppcatalogConstants.BR2_RESOURCE_NAME)){
br2ResourceId = resourceId;
+ }else if (resourceName.equals(TestFrameworkConstants.AppcatalogConstants.GORDEN_RESOURCE_NAME)){
+ gordenResourceId = resourceId;
+ }else if (resourceName.equals(TestFrameworkConstants.AppcatalogConstants.ALAMO_RESOURCE_NAME)){
+ alamoResourceId = resourceId;
}
}
- addAmberApplication();
- addEchoApplication();
- addLAMMPSApplication();
+ addUltrascanApplication();
+// addAmberApplication();
+// addEchoApplication();
+// addLAMMPSApplication();
}
protected void addAmberApplication () throws Exception{
@@ -137,6 +144,92 @@ public class ApplicationRegister {
}
+ protected void addUltrascanApplication () throws Exception{
+ for (Gateway gateway : allGateways) {
+ boolean isgatewayValid = true;
+ for (String ovoidGateway : gatewaysToAvoid){
+ if (gateway.getGatewayId().equals(ovoidGateway)){
+ isgatewayValid = false;
+ break;
+ }
+ }
+ if (isgatewayValid) {
+ // add amber module
+ String ultrascanModuleId = airavata.registerApplicationModule(gateway.getGatewayId(),
+ createApplicationModule(TestFrameworkConstants.AppcatalogConstants.ULTRASCAN, "1.0", TestFrameworkConstants.AppcatalogConstants.ULTRASCAN_DESCRIPTION));
+ System.out.println("Ultrascan module Id " + ultrascanModuleId);
+
+ // add amber interface
+ String ultrascanInterfaceId = registerUltrascanInterface(gateway, ultrascanModuleId);
+ applicationInterfaceListPerGateway.put(ultrascanInterfaceId, gateway.getGatewayId());
+
+ // add amber deployment
+ ApplicationDeploymentDescription ultrascanStampedeDeployment = createApplicationDeployment(ultrascanModuleId, stampedeResourceId,
+ "/home1/01623/us3/bin/us_mpi_analysis", ApplicationParallelismType.MPI,
+ TestFrameworkConstants.AppcatalogConstants.ULTRASCAN_DESCRIPTION, null, null, null);
+ String ultrascanStampedeAppDeployId = airavata.registerApplicationDeployment(gateway.getGatewayId(), ultrascanStampedeDeployment);
+
+ String ultrascanTrestlesAppDeployId = airavata.registerApplicationDeployment(gateway.getGatewayId(),
+ createApplicationDeployment(ultrascanModuleId, trestlesResourceId,
+ "/home/us3/trestles/bin/us_mpi_analysis", ApplicationParallelismType.MPI,
+ TestFrameworkConstants.AppcatalogConstants.ULTRASCAN_DESCRIPTION, null, null, null));
+
+ String ultrascanGordenAppDepId = airavata.registerApplicationDeployment(gateway.getGatewayId(),
+ createApplicationDeployment(ultrascanModuleId,gordenResourceId,
+ "/home/us3/gordon/bin/us_mpi_analysis", ApplicationParallelismType.MPI,
+ TestFrameworkConstants.AppcatalogConstants.ULTRASCAN_DESCRIPTION, null, null, null));
+
+ List<String> alamoModules = new ArrayList<>();
+ alamoModules.add("module load intel/2015/64");
+ alamoModules.add("module load openmpi/intel/1.8.4");
+ alamoModules.add("module load qt4/4.8.6");
+ alamoModules.add("module load ultrascan3/3.3");
+ String ultrascanAlamoAppId = airavata.registerApplicationDeployment(gateway.getGatewayId(),
+ createApplicationDeployment(ultrascanModuleId,alamoResourceId,
+ "/home/us3/bin/us_mpi_analysis", ApplicationParallelismType.OPENMP,
+ TestFrameworkConstants.AppcatalogConstants.ULTRASCAN_DESCRIPTION, alamoModules, null, null));
+
+ applicationDeployementListPerGateway.put(ultrascanStampedeAppDeployId, gateway.getGatewayId());
+ applicationDeployementListPerGateway.put(ultrascanTrestlesAppDeployId, gateway.getGatewayId());
+ applicationDeployementListPerGateway.put(ultrascanGordenAppDepId, gateway.getGatewayId());
+ applicationDeployementListPerGateway.put(ultrascanAlamoAppId, gateway.getGatewayId());
+ }
+ }
+ }
+
+ private String registerUltrascanInterface(Gateway gateway, String ultrascanModuleId) throws org.apache.thrift.TException {
+ List<String> appModules = new ArrayList<String>();
+ appModules.add(ultrascanModuleId);
+
+ InputDataObjectType input1 = createAppInput("input", null,
+ DataType.URI, null, 1, true, true,false, "Input tar file", null);
+
+ InputDataObjectType input2 = createAppInput("mgroupcount", "-mgroupcount=1",
+ DataType.STRING, null, 3, true, true,false, "mgroupcount", null);
+
+ InputDataObjectType input3 = createAppInput("walltime", "-walltime=60",
+ DataType.STRING, null, 2, true, true,false, "walltime", null);
+ List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
+ applicationInputs.add(input1);
+ applicationInputs.add(input2);
+ applicationInputs.add(input3);
+
+ OutputDataObjectType output1 = createAppOutput("ultrascanOutput", "analysis-results.tar", DataType.URI, true, false, null);
+ output1.setLocation("output");
+ OutputDataObjectType output2 = createAppOutput("STDOUT", null, DataType.STDOUT, true, false, null);
+ OutputDataObjectType output3 = createAppOutput("STDERR", null, DataType.STDERR, true, false, null);
+ List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
+ applicationOutputs.add(output1);
+ applicationOutputs.add(output2);
+ applicationOutputs.add(output3);
+
+ String ultrascanAppId = airavata.registerApplicationInterface(gateway.getGatewayId(),
+ createApplicationInterfaceDescription(TestFrameworkConstants.AppcatalogConstants.ULTRASCAN, TestFrameworkConstants.AppcatalogConstants.ULTRASCAN_DESCRIPTION,
+ appModules, applicationInputs, applicationOutputs));
+ System.out.println("Ultrascan Application Interface Id " + ultrascanAppId);
+ return ultrascanAppId;
+ }
+
private String registerAmberInterface(Gateway gateway, String amberModuleId) throws org.apache.thrift.TException {
List<String> appModules = new ArrayList<String>();
appModules.add(amberModuleId);
http://git-wip-us.apache.org/repos/asf/airavata/blob/f76a4a04/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 1127212..3ca61ba 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
@@ -77,6 +77,8 @@ public class ComputeResourceRegister {
String stampedeResourceId = null;
String trestlesResourceId = null;
String bigredResourceId = null;
+ String gordenResourceId = null;
+ String alamoResourceId = null;
try {
for (String resourceName : loginNamesWithResourceMap.keySet()) {
if (resourceName.contains("stampede")) {
@@ -94,11 +96,23 @@ public class ComputeResourceRegister {
bigredResourceId = registerComputeHost("bigred2.uits.iu.edu", "IU BigRed II Cluster",
ResourceJobManagerType.PBS, "push", "/opt/torque/torque-5.0.1/bin/", SecurityProtocol.SSH_KEYS, 22, "aprun -n");
System.out.println("BigredII Resource Id is " + bigredResourceId);
+ } else if (resourceName.contains("gorden")) {
+ //Register BigRedII
+ gordenResourceId = registerComputeHost("gordon.sdsc.edu", "SDSC Gorden Cluster",
+ ResourceJobManagerType.PBS, "push", "/opt/torque/bin/", SecurityProtocol.SSH_KEYS, 22, "mpirun_rsh -hostfile $PBS_NODEFILE -np");
+ System.out.println("BigredII Resource Id is " + bigredResourceId);
+ } else if (resourceName.contains("alamo")) {
+ //Register BigRedII
+ alamoResourceId = registerComputeHost("alamo.uthscsa.edu", "TACC alamo Cluster",
+ ResourceJobManagerType.PBS, "push", "/usr/bin/", SecurityProtocol.SSH_KEYS, 22, " /usr/bin/mpiexec -np");
+ System.out.println("BigredII Resource Id is " + bigredResourceId);
}
}
computeResourceIds.add(stampedeResourceId);
computeResourceIds.add(trestlesResourceId);
computeResourceIds.add(bigredResourceId);
+ computeResourceIds.add(gordenResourceId);
+ computeResourceIds.add(alamoResourceId);
}catch (Exception e) {
logger.error("Error occured while adding compute resources", e);
throw new Exception("Error occured while adding compute resources", e);
@@ -162,27 +176,52 @@ public class ComputeResourceRegister {
public void registerGatewayResourceProfile() throws Exception{
try {
- ComputeResourcePreference stampedeResourcePreferences = null;
- ComputeResourcePreference trestlesResourcePreferences = null;
- ComputeResourcePreference bigRedResourcePreferences = null;
+ ComputeResourcePreference stampedeOGCEResourcePreferences = null;
+ ComputeResourcePreference stampedeUS3ResourcePreferences = null;
+ ComputeResourcePreference trestlesOGCEResourcePreferences = null;
+ ComputeResourcePreference trestlesUS3ResourcePreferences = null;
+ ComputeResourcePreference bigRedCgatewayResourcePreferences = null;
+ ComputeResourcePreference gordenUS3ResourcePreference = null;
+ ComputeResourcePreference alamoUS3ResourcePreference = null;
loginNamesWithResourceIds = getLoginNamesWithResourceIDs();
List<GatewayResourceProfile> allGatewayComputeResources = airavata.getAllGatewayComputeResources();
for (GatewayResourceProfile gatewayResourceProfile : allGatewayComputeResources) {
for (String resourceId : loginNamesWithResourceIds.keySet()) {
- if (resourceId.contains("stampede")) {
- stampedeResourcePreferences = createComputeResourcePreference(resourceId, "TG-STA110014S", false, null,
- JobSubmissionProtocol.SSH, DataMovementProtocol.SCP, "/scratch/01437/ogce/gta-work-dirs", loginNamesWithResourceIds.get(resourceId));
- airavata.addGatewayComputeResourcePreference(gatewayResourceProfile.getGatewayID(), resourceId, stampedeResourcePreferences);
+ String loginUserName = loginNamesWithResourceIds.get(resourceId);
+ if (resourceId.contains("stampede") ) {
+ if (loginUserName.equals("ogce")){
+ stampedeOGCEResourcePreferences = createComputeResourcePreference(resourceId, "TG-STA110014S", false, null,
+ JobSubmissionProtocol.SSH, DataMovementProtocol.SCP, "/scratch/01437/ogce/gta-work-dirs", loginUserName);
+ airavata.addGatewayComputeResourcePreference(gatewayResourceProfile.getGatewayID(), resourceId, stampedeOGCEResourcePreferences);
+ }else if (loginUserName.equals("us3")){
+ stampedeUS3ResourcePreferences = createComputeResourcePreference(resourceId, "TG-MCB070039N", false, null,
+ JobSubmissionProtocol.SSH, DataMovementProtocol.SCP, "/scratch/01623/us3/jobs/", loginUserName);
+ airavata.addGatewayComputeResourcePreference(gatewayResourceProfile.getGatewayID(), resourceId, stampedeUS3ResourcePreferences);
+ }
}else if (resourceId.contains("trestles")){
- trestlesResourcePreferences = createComputeResourcePreference(resourceId, "sds128", false, null, JobSubmissionProtocol.SSH,
- DataMovementProtocol.SCP, "/oasis/scratch/trestles/ogce/temp_project/gta-work-dirs", loginNamesWithResourceIds.get(resourceId));
- airavata.addGatewayComputeResourcePreference(gatewayResourceProfile.getGatewayID(), resourceId, trestlesResourcePreferences);
- }else if (resourceId.contains("bigred2")){
- bigRedResourcePreferences = createComputeResourcePreference(resourceId, "TG-STA110014S", false, null, null, null,
- "/N/dc2/scratch/cgateway/gta-work-dirs", loginNamesWithResourceIds.get(resourceId));
- airavata.addGatewayComputeResourcePreference(gatewayResourceProfile.getGatewayID(), resourceId, bigRedResourcePreferences);
+ if (loginUserName.equals("ogce")){
+ trestlesOGCEResourcePreferences = createComputeResourcePreference(resourceId, "sds128", false, null, JobSubmissionProtocol.SSH,
+ DataMovementProtocol.SCP, "/oasis/scratch/trestles/ogce/temp_project/gta-work-dirs", loginUserName);
+ airavata.addGatewayComputeResourcePreference(gatewayResourceProfile.getGatewayID(), resourceId, trestlesOGCEResourcePreferences);
+ }else if (loginUserName.equals("us3")){
+ trestlesUS3ResourcePreferences = createComputeResourcePreference(resourceId, "uot111", false, null, JobSubmissionProtocol.SSH,
+ DataMovementProtocol.SCP, "/oasis/projects/nsf/uot111/us3/airavata-workdirs/", loginUserName);
+ airavata.addGatewayComputeResourcePreference(gatewayResourceProfile.getGatewayID(), resourceId, trestlesUS3ResourcePreferences);
+ }
+ }else if (resourceId.contains("bigred2") && loginUserName.equals("cgateway")){
+ bigRedCgatewayResourcePreferences = createComputeResourcePreference(resourceId, "TG-STA110014S", false, null, null, null,
+ "/N/dc2/scratch/cgateway/gta-work-dirs", loginUserName);
+ airavata.addGatewayComputeResourcePreference(gatewayResourceProfile.getGatewayID(), resourceId, bigRedCgatewayResourcePreferences);
+ }else if (resourceId.contains("gorden") && loginUserName.equals("us3")){
+ gordenUS3ResourcePreference = createComputeResourcePreference(resourceId, "uot111", false, null, JobSubmissionProtocol.SSH,
+ DataMovementProtocol.SCP, "/home/us3/gordon/work/airavata", loginUserName);
+ airavata.addGatewayComputeResourcePreference(gatewayResourceProfile.getGatewayID(), resourceId, gordenUS3ResourcePreference);
+ }else if (resourceId.contains("alamo") && loginUserName.equals("us3")){
+ alamoUS3ResourcePreference = createComputeResourcePreference(resourceId, null, false, "batch", JobSubmissionProtocol.SSH,
+ DataMovementProtocol.SCP, "/home/us3/work/airavata", loginUserName);
+ airavata.addGatewayComputeResourcePreference(gatewayResourceProfile.getGatewayID(), resourceId, alamoUS3ResourcePreference);
}
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f76a4a04/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 50c83bf..03da1e7 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
@@ -498,6 +498,99 @@ public class ExperimentExecution {
}
}
+ public void createUltrascanExperiment () 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.ULTRASCAN)){
+ userGivenAmberInputs = application.getInputs();
+ }
+ }
+
+ for (String gatewayId : csTokens.keySet()){
+ String token = csTokens.get(gatewayId);
+ Map<String, String> appsWithNames = appInterfaceMap.get(gatewayId);
+ for (String appId : appsWithNames.keySet()){
+ String appName = appsWithNames.get(appId);
+ if (appName.equals(TestFrameworkConstants.AppcatalogConstants.ULTRASCAN)){
+ List<InputDataObjectType> applicationInputs = airavata.getApplicationInputs(appId);
+ List<OutputDataObjectType> appOutputs = airavata.getApplicationOutputs(appId);
+ 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()){
+ projectID = projectsPerGateway.get(0).getProjectID();
+ }
+ Experiment simpleExperiment =
+ ExperimentModelUtil.createSimpleExperiment(projectID, testUser, "Ultrascan Experiment", "Ultrascan Experiment run", appId, applicationInputs);
+ simpleExperiment.setExperimentOutputs(appOutputs);
+ String experimentId;
+ Map<String, String> computeResources = airavata.getAvailableAppInterfaceComputeResources(appId);
+ if (computeResources != null && computeResources.size() != 0) {
+ 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", 30, 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", 30, 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);
+ createAmberWithErrorUserConfig(gatewayId, token, projectID, id, appId);
+ } else if (resourceName.equals(TestFrameworkConstants.AppcatalogConstants.ALAMO_RESOURCE_NAME)) {
+ ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(id, 4, 1, 1, "normal", 30, 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.GORDEN_RESOURCE_NAME)) {
+ ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(id, 4, 1, 1, "normal", 30, 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 while creating Ultrascan experiment", e);
+ throw new Exception("Error while creating Ultrascan experiment", e);
+ }
+ }
+
+
public void createEchoExperiment () throws Exception{
try {
for (String gatewayId : csTokens.keySet()) {
http://git-wip-us.apache.org/repos/asf/airavata/blob/f76a4a04/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 d689428..0d3f68d 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
@@ -21,14 +21,15 @@
package org.apache.airavata.testsuite.multitenantedairavata;
-import org.apache.airavata.testsuite.multitenantedairavata.utils.PropertyFileType;
-import org.apache.airavata.testsuite.multitenantedairavata.utils.PropertyReader;
import org.apache.airavata.testsuite.multitenantedairavata.utils.TestFrameworkConstants;
import org.apache.commons.cli.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
@@ -81,10 +82,11 @@ public class FrameworkBootstrapping {
}else if (expExec){
tokens = readTokens();
experimentExecution = new ExperimentExecution(setup.getAiravata(), tokens, setup.getTestFrameworkProps());
- experimentExecution.createEchoExperiment();
- experimentExecution.createAmberExperiment();
- experimentExecution.launchExperiments();
- experimentExecution.monitorExperiments();
+ experimentExecution.createUltrascanExperiment();
+// experimentExecution.createEchoExperiment();
+// experimentExecution.createAmberExperiment();
+// experimentExecution.launchExperiments();
+// experimentExecution.monitorExperiments();
}
} catch (Exception e) {
logger.error("Error occured while set up", e);
http://git-wip-us.apache.org/repos/asf/airavata/blob/f76a4a04/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 8fc2b28..04d3250 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
@@ -72,6 +72,7 @@ public class TestFrameworkConstants {
public static final class AppcatalogConstants {
public static final String AMBER_APP_NAME = "amber_sander";
public static final String ECHO_NAME = "Echo";
+ public static final String ULTRASCAN = "Ultrascan";
public static final String ESPRESSO_NAME = "ESPRESSO";
public static final String GROMACS_NAME = "GROMACS";
public static final String LAMMPS_NAME = "LAMMPS";
@@ -85,6 +86,7 @@ public class TestFrameworkConstants {
public static final String ECHO_DESCRIPTION = "A Simple Echo Application";
public static final String AMBER_DESCRIPTION = "Assisted Model Building with Energy Refinement MD Package";
+ public static final String ULTRASCAN_DESCRIPTION = "Ultrascan application";
public static final String ESPRESSO_DESCRIPTION = "Nanoscale electronic-structure calculations and materials modeling";
public static final String GROMACS_DESCRIPTION = "GROMACS Molecular Dynamics Package";
public static final String LAMMPS_DESCRIPTION = "Large-scale Atomic/Molecular Massively Parallel Simulator";
@@ -99,6 +101,8 @@ public class TestFrameworkConstants {
public static final String STAMPEDE_RESOURCE_NAME = "stampede.tacc.xsede.org";
public static final String TRESTLES_RESOURCE_NAME = "trestles.sdsc.xsede.org";
public static final String BR2_RESOURCE_NAME = "bigred2.uits.iu.edu";
+ public static final String GORDEN_RESOURCE_NAME = "gordon.sdsc.edu";
+ public static final String ALAMO_RESOURCE_NAME = "alamo.uthscsa.edu";
public static final String AMBER_HEAT_RST_LOCATION = "02_Heat.rst_location";
http://git-wip-us.apache.org/repos/asf/airavata/blob/f76a4a04/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 68723ac..e5526fa 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
@@ -24,6 +24,16 @@
},
{
+ "name": "gordon.sdsc.edu",
+ "loginUser": "us3"
+
+ },
+ {
+ "name": "alamo.uthscsa.edu",
+ "loginUser": "us3"
+
+ },
+ {
"name": "bigred2.uits.iu.edu",
"loginUser": "cgateway"
@@ -37,6 +47,14 @@
"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": "ultrascan",
+ "inputs": {
+ "input": "/Users/chathuri/dev/airavata/source/php/inputs/hpcinput.tar",
+ "mgroupcount": "-mgroupcount=1",
+ "walltime": "-walltime=60"
+ }
}
],
"errors": [