Return-Path: X-Original-To: apmail-airavata-commits-archive@www.apache.org Delivered-To: apmail-airavata-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 7279717D30 for ; Thu, 23 Apr 2015 20:55:29 +0000 (UTC) Received: (qmail 71611 invoked by uid 500); 23 Apr 2015 20:55:29 -0000 Delivered-To: apmail-airavata-commits-archive@airavata.apache.org Received: (qmail 71564 invoked by uid 500); 23 Apr 2015 20:55:29 -0000 Mailing-List: contact commits-help@airavata.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@airavata.apache.org Delivered-To: mailing list commits@airavata.apache.org Received: (qmail 71555 invoked by uid 99); 23 Apr 2015 20:55:29 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 23 Apr 2015 20:55:29 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 33392E17F5; Thu, 23 Apr 2015 20:55:29 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: chathuri@apache.org To: commits@airavata.apache.org Message-Id: <45043a32e55f4e96b72358eca9173311@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: airavata git commit: adding ultrascan application to test framework Date: Thu, 23 Apr 2015 20:55:29 +0000 (UTC) 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 Authored: Thu Apr 23 16:55:21 2015 -0400 Committer: Chathuri Wimalasena 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 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 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 appModules = new ArrayList(); + 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 applicationInputs = new ArrayList(); + 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 applicationOutputs = new ArrayList(); + 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 appModules = new ArrayList(); 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 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 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 appsWithNames = appInterfaceMap.get(gatewayId); + for (String appId : appsWithNames.keySet()){ + String appName = appsWithNames.get(appId); + if (appName.equals(TestFrameworkConstants.AppcatalogConstants.ULTRASCAN)){ + List applicationInputs = airavata.getApplicationInputs(appId); + List appOutputs = airavata.getApplicationOutputs(appId); + for (String inputName : userGivenAmberInputs.keySet()){ + for (InputDataObjectType inputDataObjectType : applicationInputs) { + if (inputDataObjectType.getName().equalsIgnoreCase(inputName)) { + inputDataObjectType.setValue(userGivenAmberInputs.get(inputName)); + } + } + } + List 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 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": [