You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2015/03/11 21:21:54 UTC
[1/2] airavata git commit: fixing more issues with LSF
Repository: airavata
Updated Branches:
refs/heads/master 10c5abfdb -> 13b480d84
fixing more issues with LSF
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/c2bacf2d
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/c2bacf2d
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/c2bacf2d
Branch: refs/heads/master
Commit: c2bacf2d724cc4c0a58c3956f8b1fd3d54577d29
Parents: 34b06cc
Author: Lahiru Gunathilake <gl...@gmail.com>
Authored: Wed Mar 11 16:20:17 2015 -0400
Committer: Lahiru Gunathilake <gl...@gmail.com>
Committed: Wed Mar 11 16:20:17 2015 -0400
----------------------------------------------------------------------
.../client/samples/CreateLaunchExperiment.java | 83 +++++++++++++++-----
.../tools/RegisterSampleApplications.java | 22 +++++-
.../server/src/main/resources/LSFTemplate.xslt | 3 +-
.../gfac/ssh/provider/impl/SSHProvider.java | 1 +
.../gsissh/src/main/resources/LSFTemplate.xslt | 2 +-
5 files changed, 87 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/c2bacf2d/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
index 3d58197..b5a5bcc 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
@@ -58,13 +58,13 @@ public class CreateLaunchExperiment {
private static final String DEFAULT_GATEWAY = "php_reference_gateway";
private static Airavata.Client airavataClient;
- private static String echoAppId = "Echo_8506337e-ab7a-46b6-9b71-4a461b6c5e35";
+ private static String echoAppId = "Echo_61988d1f-7ca9-47ba-9212-a0ac2e973cf1";
private static String mpiAppId = "HelloMPI_720e159f-198f-4daa-96ca-9f5eafee92c9";
private static String wrfAppId = "WRF_7ad5da38-c08b-417c-a9ea-da9298839762";
private static String amberAppId = "Amber_a56d457c-f239-4c0b-ba00-66bda936f7bc";
private static String gromacsAppId = "GROMACS_05622038-9edd-4cb1-824e-0b7cb993364b";
private static String espressoAppId = "ESPRESSO_10cc2820-5d0b-4c63-9546-8a8b595593c1";
- private static String lammpsAppId = "LAMMPS_10893eb5-3840-438c-8446-d26c7ecb001f";
+ private static String lammpsAppId = "LAMMPS_2472685b-8acf-497e-aafe-cc66fe5f4cb6";
private static String nwchemAppId = "NWChem_2c8fee64-acf9-4a89-b6d3-91eb53c7640c";
private static String trinityAppId = "Trinity_e894acf5-9bca-46e8-a1bd-7e2d5155191a";
private static String autodockAppId = "AutoDock_43d9fdd0-c404-49f4-b913-3abf9080a8c9";
@@ -161,7 +161,8 @@ public class CreateLaunchExperiment {
// final String expId = createExperimentNWCHEMStampede(airavataClient);
// final String expId = createExperimentTRINITYStampede(airavataClient);
// final String expId = createExperimentAUTODOCKStampede(airavataClient); // this is not working , we need to register AutoDock app on stampede
- final String expId = createExperimentForLSF(airavataClient);
+// final String expId = createExperimentForLSF(airavataClient);
+ final String expId = createExperimentLAMMPSForLSF(airavataClient);
// final String expId = "Ultrascan_ln_eb029947-391a-4ccf-8ace-9bafebe07cc0";
System.out.println("Experiment ID : " + expId);
// updateExperiment(airavata, expId);
@@ -741,6 +742,8 @@ public class CreateLaunchExperiment {
return null;
}
+
+
public static String createExperimentLAMMPSStampede(Airavata.Client client) throws TException {
try {
List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
@@ -1353,23 +1356,7 @@ public class CreateLaunchExperiment {
for (InputDataObjectType inputDataObjectType : exInputs) {
inputDataObjectType.setValue("Hello World");
}
- /*List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
- InputDataObjectType input = new InputDataObjectType();
- input.setName("Input_to_Echo");
- input.setType(DataType.STRING);
- input.setValue("Echoed_Output=Hello World");
- input.setRequiredToAddedToCommandLine(true);
- exInputs.add(input);*/
-
List<OutputDataObjectType> exOut = client.getApplicationOutputs(echoAppId);
- /*
- List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
- OutputDataObjectType output = new OutputDataObjectType();
- output.setName("output_file");
- output.setType(DataType.URI);
- output.setValue("");
-
- exOut.add(output);*/
Project project = ProjectModelUtil.createProject("default", "lg11w", "test project");
String projectId = client.createProject(DEFAULT_GATEWAY, project);
@@ -1411,6 +1398,64 @@ public class CreateLaunchExperiment {
}
return null;
}
+ public static String createExperimentLAMMPSForLSF(Airavata.Client client) throws TException {
+ try {
+ List<InputDataObjectType> exInputs = client.getApplicationInputs(lammpsAppId);
+
+ for (InputDataObjectType inputDataObjectType : exInputs) {
+ inputDataObjectType.setName("Friction_Simulation_Input");
+ inputDataObjectType.setValue("/Users/lginnali/Downloads/data/in.friction");
+ inputDataObjectType.setType(DataType.URI);
+ }
+ List<OutputDataObjectType> exOut = client.getApplicationOutputs(echoAppId);
+
+ /*OutputDataObjectType outputDataObjectType = exOut.get(0);
+ outputDataObjectType.setName("LAMMPS_Simulation_Log");
+ outputDataObjectType.setType(DataType.URI);
+ outputDataObjectType.setValue("");
+
+ OutputDataObjectType output1 = exOut.get(1);
+ output1.setName("LAMMPS.oJobID");
+ output1.setType(DataType.URI);
+ output1.setValue("");
+
+ exOut.add(outputDataObjectType);
+ exOut.add(output1);*/
+
+ Experiment simpleExperiment =
+ ExperimentModelUtil.createSimpleExperiment("default", "lg11w", "LAMMPSExperiment", "Testing", lammpsAppId, exInputs);
+ simpleExperiment.setExperimentOutputs(exOut);
+
+ Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(lammpsAppId);
+ if (computeResources != null && computeResources.size() != 0) {
+ for (String id : computeResources.keySet()) {
+ String resourceName = computeResources.get(id);
+ if (resourceName.equals(umassrcHostName)) {
+ ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(id, 10, 16, 1, "long", 60, 0, 1000, "airavata");
+ UserConfigurationData userConfigurationData = new UserConfigurationData();
+ userConfigurationData.setAiravataAutoSchedule(false);
+ userConfigurationData.setOverrideManualScheduledParams(false);
+ userConfigurationData.setComputationalResourceScheduling(scheduling);
+ simpleExperiment.setUserConfigurationData(userConfigurationData);
+ return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+ }
+ }
+ }
+ } catch (AiravataSystemException e) {
+ logger.error("Error occured while creating the experiment...", e.getMessage());
+ throw new AiravataSystemException(e);
+ } catch (InvalidRequestException e) {
+ logger.error("Error occured while creating the experiment...", e.getMessage());
+ throw new InvalidRequestException(e);
+ } catch (AiravataClientException e) {
+ logger.error("Error occured while creating the experiment...", e.getMessage());
+ throw new AiravataClientException(e);
+ } catch (TException e) {
+ logger.error("Error occured while creating the experiment...", e.getMessage());
+ throw new TException(e);
+ }
+ return null;
+ }
public static String createExperimentForBR2Amber(Airavata.Client client) throws TException {
http://git-wip-us.apache.org/repos/asf/airavata/blob/c2bacf2d/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
index 55dbcf8..990fce7 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
@@ -101,6 +101,7 @@ public class RegisterSampleApplications {
private static String espressoModuleId = "ESPRESSO_54dc94da-5e2b-4add-b054-41ad88891fdc";
private static String gromacsModuleId = "GROMACS_417271fd-7ac1-4f40-b2a5-ed0908a743eb";
private static String lammpsModuleId;
+ private static String lammpsModuleId1;
private static String nwChemModuleId = "NWChem_edbc318d-4c41-46a7-b216-32bad71eabdd";
private static String trinityModuleId = "Trinity_8af45ca0-b628-4614-9087-c7b73f5f2fb6";
private static String wrfModuleId;
@@ -221,7 +222,7 @@ public class RegisterSampleApplications {
//Register LSF resource
lsfResourceId = registerComputeHost("ghpcc06.umassrc.org", "LSF Cluster",
- ResourceJobManagerType.LSF, "push", "source /etc/bashrc;/lsf/9.1/linux2.6-glibc2.3-x86_64/bin", SecurityProtocol.SSH_KEYS, 22, null);
+ ResourceJobManagerType.LSF, "push", "source /etc/bashrc;/lsf/9.1/linux2.6-glibc2.3-x86_64/bin", SecurityProtocol.SSH_KEYS, 22, "mpiexec");
System.out.println("LSF Resource Id is " + lsfResourceId);
} catch (TException e) {
@@ -296,8 +297,15 @@ public class RegisterSampleApplications {
lammpsModuleId = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
RegisterSampleApplicationsUtils.createApplicationModule(
lammpsName, "20Mar14", lammpsDescription));
+
+ lammpsModuleId1 = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
+ RegisterSampleApplicationsUtils.createApplicationModule(
+ lammpsName, "28Jun14-base", lammpsDescription));
+
System.out.println("LAMMPS Module Id " + lammpsModuleId);
+ System.out.println("LAMMPS Module Id for LSF " + lammpsModuleId1);
+
//Register NWChem
nwChemModuleId = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
RegisterSampleApplicationsUtils.createApplicationModule(
@@ -715,6 +723,7 @@ public class RegisterSampleApplications {
List<String> appModules = new ArrayList<String>();
appModules.add(lammpsModuleId);
+ appModules.add(lammpsModuleId1);
InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Friction_Simulation_Input", null,
DataType.URI, "<", 1,true, true, false, "Friction Simulation Input - in.friction", null);
@@ -1116,8 +1125,17 @@ public class RegisterSampleApplications {
RegisterSampleApplicationsUtils.createApplicationDeployment(echoModuleId, lsfResourceId,
"/home/lg11w/executables/echo.sh", ApplicationParallelismType.SERIAL,
echoDescription, null, null, null));
- System.out.println("Echo on trestles deployment Id " + echoAppDeployId);
+ List<String> moduleLoadCmd = new ArrayList<String>();
+ moduleLoadCmd.add("module load LAMMPS/28Jun14-base");
+ //Register Echo
+
+ String lammpsDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+ RegisterSampleApplicationsUtils.createApplicationDeployment(lammpsModuleId, lsfResourceId,
+ "lmp_ghpcc", ApplicationParallelismType.MPI,
+ echoDescription, moduleLoadCmd, null, null));
+ System.out.println("Echo on LSF deployment Id " + echoAppDeployId);
+ System.out.println("LAMMPS on LSF deployment Id " + lammpsDeployId);
} catch (TException e) {
e.printStackTrace();
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/c2bacf2d/modules/configuration/server/src/main/resources/LSFTemplate.xslt
----------------------------------------------------------------------
diff --git a/modules/configuration/server/src/main/resources/LSFTemplate.xslt b/modules/configuration/server/src/main/resources/LSFTemplate.xslt
index 7081260..3ed9285 100644
--- a/modules/configuration/server/src/main/resources/LSFTemplate.xslt
+++ b/modules/configuration/server/src/main/resources/LSFTemplate.xslt
@@ -68,14 +68,13 @@
</xsl:choose>
<xsl:text>
</xsl:text>
-
<xsl:text>
</xsl:text>
<xsl:for-each select="ns:moduleLoadCommands/ns:command">
<xsl:text>
</xsl:text>
<xsl:value-of select="."/><xsl:text> </xsl:text>
</xsl:for-each>
<xsl:text>
</xsl:text>
-
+cd <xsl:text> </xsl:text><xsl:value-of select="ns:workingDirectory"/><xsl:text>
</xsl:text>
<xsl:for-each select="ns:preJobCommands/ns:command">
<xsl:value-of select="."/><xsl:text> </xsl:text>
<xsl:text>
</xsl:text>
http://git-wip-us.apache.org/repos/asf/airavata/blob/c2bacf2d/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 b1000c5..4c3abde 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
@@ -154,6 +154,7 @@ public class SSHProvider extends AbstractProvider {
}
// This installed path is a mandetory field, because this could change based on the computing resource
JobDescriptor jobDescriptor = GFACSSHUtils.createJobDescriptor(jobExecutionContext, cluster);
+
jobDetails.setJobName(jobDescriptor.getJobName());
log.info(jobDescriptor.toXML());
http://git-wip-us.apache.org/repos/asf/airavata/blob/c2bacf2d/tools/gsissh/src/main/resources/LSFTemplate.xslt
----------------------------------------------------------------------
diff --git a/tools/gsissh/src/main/resources/LSFTemplate.xslt b/tools/gsissh/src/main/resources/LSFTemplate.xslt
index 7081260..c548d8e 100644
--- a/tools/gsissh/src/main/resources/LSFTemplate.xslt
+++ b/tools/gsissh/src/main/resources/LSFTemplate.xslt
@@ -75,7 +75,7 @@
<xsl:value-of select="."/><xsl:text> </xsl:text>
</xsl:for-each>
<xsl:text>
</xsl:text>
-
+cd <xsl:text> </xsl:text><xsl:value-of select="ns:workingDirectory"/><xsl:text>
</xsl:text>
<xsl:for-each select="ns:preJobCommands/ns:command">
<xsl:value-of select="."/><xsl:text> </xsl:text>
<xsl:text>
</xsl:text>
[2/2] airavata git commit: fixing LSF issues
Posted by la...@apache.org.
fixing LSF issues
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/13b480d8
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/13b480d8
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/13b480d8
Branch: refs/heads/master
Commit: 13b480d84cdfcaf110536688309834122db8917e
Parents: c2bacf2 10c5abf
Author: Lahiru Gunathilake <gl...@gmail.com>
Authored: Wed Mar 11 16:21:50 2015 -0400
Committer: Lahiru Gunathilake <gl...@gmail.com>
Committed: Wed Mar 11 16:21:50 2015 -0400
----------------------------------------------------------------------
.../server/handler/AiravataServerHandler.java | 34 +-
.../java/org/apache/airavata/api/Airavata.java | 5264 +++++++++++-------
.../main/resources/lib/airavata/Airavata.cpp | 381 ++
.../src/main/resources/lib/airavata/Airavata.h | 161 +
.../lib/airavata/Airavata_server.skeleton.cpp | 5 +
.../lib/airavata/computeResourceModel_types.cpp | 203 +-
.../lib/airavata/computeResourceModel_types.h | 38 +-
.../resources/lib/Airavata/API/Airavata.php | 296 +
.../Model/AppCatalog/ComputeResource/Types.php | 49 +
.../client/samples/CreateLaunchExperiment.java | 584 +-
.../tools/RegisterSampleApplications.java | 158 +-
.../computeresource/AuthenticationMode.java | 70 +
.../computeresource/UnicoreJobSubmission.java | 222 +-
.../airavataAPI.thrift | 6 +
.../computeResourceModel.thrift | 25 +-
.../catalog/data/impl/ComputeResourceImpl.java | 1 +
.../data/model/UnicoreJobSubmission.java | 16 +-
.../data/resources/AbstractResource.java | 1 +
.../resources/UnicoreJobSubmissionResource.java | 39 +-
.../catalog/data/util/AppCatalogJPAUtils.java | 1 +
.../data/util/AppCatalogThriftConversion.java | 3 +-
.../src/main/resources/appcatalog-derby.sql | 1 +
.../src/main/resources/appcatalog-mysql.sql | 1 +
.../registry/jpa/impl/ExperimentRegistry.java | 3 +
24 files changed, 5039 insertions(+), 2523 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/13b480d8/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
----------------------------------------------------------------------
diff --cc airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
index b5a5bcc,bb914fa..ed141b9
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
@@@ -58,13 -58,13 +58,13 @@@ public class CreateLaunchExperiment
private static final String DEFAULT_GATEWAY = "php_reference_gateway";
private static Airavata.Client airavataClient;
- private static String echoAppId = "Echo_8506337e-ab7a-46b6-9b71-4a461b6c5e35";
+ private static String echoAppId = "Echo_61988d1f-7ca9-47ba-9212-a0ac2e973cf1";
private static String mpiAppId = "HelloMPI_720e159f-198f-4daa-96ca-9f5eafee92c9";
private static String wrfAppId = "WRF_7ad5da38-c08b-417c-a9ea-da9298839762";
- private static String amberAppId = "Amber_a56d457c-f239-4c0b-ba00-66bda936f7bc";
+ private static String amberAppId = "Amber_aa083c86-4680-4002-b3ef-fad93c181926";
private static String gromacsAppId = "GROMACS_05622038-9edd-4cb1-824e-0b7cb993364b";
private static String espressoAppId = "ESPRESSO_10cc2820-5d0b-4c63-9546-8a8b595593c1";
- private static String lammpsAppId = "LAMMPS_10893eb5-3840-438c-8446-d26c7ecb001f";
+ private static String lammpsAppId = "LAMMPS_2472685b-8acf-497e-aafe-cc66fe5f4cb6";
private static String nwchemAppId = "NWChem_2c8fee64-acf9-4a89-b6d3-91eb53c7640c";
private static String trinityAppId = "Trinity_e894acf5-9bca-46e8-a1bd-7e2d5155191a";
private static String autodockAppId = "AutoDock_43d9fdd0-c404-49f4-b913-3abf9080a8c9";
@@@ -162,7 -183,6 +183,7 @@@
// final String expId = createExperimentTRINITYStampede(airavataClient);
// final String expId = createExperimentAUTODOCKStampede(airavataClient); // this is not working , we need to register AutoDock app on stampede
// final String expId = createExperimentForLSF(airavataClient);
- final String expId = createExperimentLAMMPSForLSF(airavataClient);
++// final String expId = createExperimentLAMMPSForLSF(airavataClient);
// final String expId = "Ultrascan_ln_eb029947-391a-4ccf-8ace-9bafebe07cc0";
System.out.println("Experiment ID : " + expId);
// updateExperiment(airavata, expId);
@@@ -1356,8 -1112,9 +1113,7 @@@
for (InputDataObjectType inputDataObjectType : exInputs) {
inputDataObjectType.setValue("Hello World");
}
-
List<OutputDataObjectType> exOut = client.getApplicationOutputs(echoAppId);
-
-
Project project = ProjectModelUtil.createProject("default", "lg11w", "test project");
String projectId = client.createProject(DEFAULT_GATEWAY, project);
http://git-wip-us.apache.org/repos/asf/airavata/blob/13b480d8/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
----------------------------------------------------------------------