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 20:50:57 UTC
airavata git commit: fixing pbs script generation and update app
catalog registration
Repository: airavata
Updated Branches:
refs/heads/master d89f3f6bd -> 4f89c6725
fixing pbs script generation and update app catalog registration
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/4f89c672
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/4f89c672
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/4f89c672
Branch: refs/heads/master
Commit: 4f89c67256938ee523eb92b57897581e8460d12b
Parents: d89f3f6
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Thu Apr 23 14:50:49 2015 -0400
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Thu Apr 23 14:50:49 2015 -0400
----------------------------------------------------------------------
.../client/samples/CreateLaunchExperiment.java | 22 +-
.../client/samples/RegisterSampleData.java | 12 +-
.../tools/RegisterOGCEUS3Application.java | 4 +-
.../tools/RegisterSampleApplications.java | 282 ++++++++++---------
.../tools/RegisterSampleApplicationsUtils.java | 11 +-
.../client/tools/RegisterUS3Application.java | 2 +-
.../gfac/gsissh/util/GFACGSISSHUtils.java | 25 +-
.../airavata/gfac/ssh/util/GFACSSHUtils.java | 35 ++-
8 files changed, 210 insertions(+), 183 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f89c672/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 6ea537e..71ad870 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,10 +58,10 @@ public class CreateLaunchExperiment {
private static final String DEFAULT_GATEWAY = "php_reference_gateway";
private static Airavata.Client airavataClient;
- private static String echoAppId = "Echo_9cbcfae4-616b-4bef-aa41-d3cd2bec6002";
+ private static String echoAppId = "Echo_4d075102-3591-4ad5-a218-c7e63471ba4a";
private static String mpiAppId = "HelloMPI_bfd56d58-6085-4b7f-89fc-646576830518";
private static String wrfAppId = "WRF_7ad5da38-c08b-417c-a9ea-da9298839762";
- private static String amberAppId = "Amber_ee7e3e85-9dfd-459c-9f45-aca223192f5f";
+ private static String amberAppId = "Amber_6da3c39f-c435-413a-bb90-f14f87e8d6c3";
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_2472685b-8acf-497e-aafe-cc66fe5f4cb6";
@@ -162,11 +162,11 @@ public class CreateLaunchExperiment {
public static void createAndLaunchExp() throws TException {
List<String> experimentIds = new ArrayList<String>();
try {
- for (int i = 0; i < 10; i++) {
+ for (int i = 0; i < 1; i++) {
// final String expId = createExperimentForSSHHost(airavata);
// final String expId = createEchoExperimentForFSD(airavataClient);
// final String expId = createMPIExperimentForFSD(airavataClient);
-// final String expId = createEchoExperimentForStampede(airavataClient);
+ final String expId = createEchoExperimentForStampede(airavataClient);
// final String expId = createEchoExperimentForTrestles(airavataClient);
// final String expId = createExperimentEchoForLocalHost(airavataClient);
// final String expId = createExperimentWRFTrestles(airavataClient);
@@ -174,7 +174,7 @@ public class CreateLaunchExperiment {
// final String expId = createExperimentForBR2Amber(airavataClient);
// final String expId = createExperimentWRFStampede(airavataClient);
// final String expId = createExperimentForStampedeAmber(airavataClient);
- String expId = createExperimentForTrestlesAmber(airavataClient);
+// String expId = createExperimentForTrestlesAmber(airavataClient);
// final String expId = createExperimentGROMACSStampede(airavataClient);
// final String expId = createExperimentESPRESSOStampede(airavataClient);
// final String expId = createExperimentLAMMPSStampede(airavataClient);
@@ -1323,11 +1323,11 @@ public class CreateLaunchExperiment {
// }
for (InputDataObjectType inputDataObjectType : exInputs) {
if (inputDataObjectType.getName().equalsIgnoreCase("Heat_Restart_File")) {
- inputDataObjectType.setValue("/Users/lginnali/Downloads/02_Heat.rst");
+ inputDataObjectType.setValue("/Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES/02_Heat.rst");
} else if (inputDataObjectType.getName().equalsIgnoreCase("Production_Control_File")) {
- inputDataObjectType.setValue("/Users/lginnali/Downloads/03_Prod.in");
+ inputDataObjectType.setValue("/Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES/03_Prod.in");
} else if (inputDataObjectType.getName().equalsIgnoreCase("Parameter_Topology_File")) {
- inputDataObjectType.setValue("/Users/lginnali/Downloads/prmtop");
+ inputDataObjectType.setValue("/Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES/prmtop");
}
}
@@ -1388,11 +1388,11 @@ public class CreateLaunchExperiment {
// }
for (InputDataObjectType inputDataObjectType : exInputs) {
if (inputDataObjectType.getName().equalsIgnoreCase("Heat_Restart_File")) {
- inputDataObjectType.setValue("/Users/lginnali/Downloads/02_Heat.rst");
+ inputDataObjectType.setValue("/Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES/02_Heat.rst");
} else if (inputDataObjectType.getName().equalsIgnoreCase("Production_Control_File")) {
- inputDataObjectType.setValue("/Users/lginnali/Downloads/03_Prod.in");
+ inputDataObjectType.setValue("/Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES/03_Prod.in");
} else if (inputDataObjectType.getName().equalsIgnoreCase("Parameter_Topology_File")) {
- inputDataObjectType.setValue("/Users/lginnali/Downloads/prmtop");
+ inputDataObjectType.setValue("/Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES/prmtop");
}
}
List<OutputDataObjectType> exOut = client.getApplicationOutputs(amberAppId);
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f89c672/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/RegisterSampleData.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/RegisterSampleData.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/RegisterSampleData.java
index 75413cb..868514b 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/RegisterSampleData.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/RegisterSampleData.java
@@ -156,7 +156,7 @@ public class RegisterSampleData {
applicationInputs.add(input1);
OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("gaussian.out",
- "", DataType.URI, true,true);
+ "", DataType.URI, true,true, null);
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
@@ -204,7 +204,7 @@ public class RegisterSampleData {
applicationInputs.add(input7);
OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("Diskoutputfile_with_dir",
- "", DataType.URI, true,false);
+ "", DataType.URI, true,false, null);
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
@@ -308,7 +308,7 @@ public class RegisterSampleData {
applicationInputs.add(input1);
OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("Echoed_Output",
- "", DataType.STRING, true, false);
+ "", DataType.STRING, true, false, null);
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
@@ -340,7 +340,7 @@ public class RegisterSampleData {
applicationInputs.add(input2);
OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("Result",
- "0", DataType.STRING, true,false);
+ "0", DataType.STRING, true,false, null);
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
@@ -372,7 +372,7 @@ public class RegisterSampleData {
applicationInputs.add(input2);
OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("Result",
- "0", DataType.STRING,true,false);
+ "0", DataType.STRING,true,false, null);
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
@@ -404,7 +404,7 @@ public class RegisterSampleData {
applicationInputs.add(input2);
OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("Result",
- "0", DataType.STRING, true,false);
+ "0", DataType.STRING, true,false, null);
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f89c672/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterOGCEUS3Application.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterOGCEUS3Application.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterOGCEUS3Application.java
index c1f5cc8..6389e7d 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterOGCEUS3Application.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterOGCEUS3Application.java
@@ -181,7 +181,7 @@ public class RegisterOGCEUS3Application {
applicationInputs.add(input1);
OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("output",
- "", DataType.URI, true, false);
+ "", DataType.URI, true, false, null);
// OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("stdout",
// "", DataType.URI);
@@ -190,7 +190,7 @@ public class RegisterOGCEUS3Application {
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
-
+
ultrascanAppId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("ultrascan", "ultrascan application",
appModules, applicationInputs, applicationOutputs));
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f89c672/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 b3efbef..e53074e 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
@@ -28,8 +28,8 @@ import java.util.*;
import org.apache.airavata.api.Airavata;
import org.apache.airavata.api.client.AiravataClientFactory;
+import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription;
import org.apache.airavata.model.appcatalog.appdeployment.ApplicationParallelismType;
-import org.apache.airavata.model.appcatalog.appdeployment.SetEnvPaths;
import org.apache.airavata.model.appcatalog.appinterface.*;
import org.apache.airavata.model.appcatalog.computeresource.*;
import org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference;
@@ -63,7 +63,7 @@ public class RegisterSampleApplications {
// unicore service endpoint url
// private static final String unicoreEndPointURL = "https://fsd-cloud15.zam.kfa-juelich.de:7000/INTEROP1/services/BESFactory?res=default_bes_factory";
private static final String unicoreEndPointURL = "https://deisa-unic.fz-juelich.de:9111/FZJ_JUROPA/services/BESFactory?res=default_bes_factory";
-
+
//Appplication Names
private static final String echoName = "Echo";
private static final String amberName = "Amber";
@@ -81,7 +81,7 @@ public class RegisterSampleApplications {
private static final String gamessName = "Gamess";
private static final String stressMemName = "StressMem";
private static final String ultrascanName = "Ultrascan";
-
+
//Appplication Descriptions
private static final String echoDescription = "A Simple Echo Application";
private static final String amberDescription = "Assisted Model Building with Energy Refinement MD Package";
@@ -98,7 +98,7 @@ public class RegisterSampleApplications {
private static final String gaussianDescription = "Grid Chem Gaussian Application";
private static final String gamessDescription = "A Gamess Application";
private static final String ultrascanDescription = "Ultrascan Application";
-
+
//App Module Id's
private static String echoModuleId;
private static String amberModuleId;
@@ -200,28 +200,28 @@ public class RegisterSampleApplications {
System.out.println("\n #### Registering XSEDE Computational Resources #### \n");
//Register Stampede
- List<BatchQueue> stampedeQueues = new ArrayList<BatchQueue>();
+ List<BatchQueue> stampedeQueues = new ArrayList<>();
BatchQueue normalQueue = createBatchQueue("normal", "Normal Queue", 2880, 256, 4000, 50, 0);
BatchQueue developmentQueue = createBatchQueue("development", "Development Queue", 120, 16, 4000, 1, 0);
stampedeQueues.add(normalQueue);
stampedeQueues.add(developmentQueue);
stampedeResourceId = registerComputeHost("stampede.tacc.xsede.org", "TACC Stampede Cluster",
- ResourceJobManagerType.SLURM, "push", "/usr/bin", SecurityProtocol.SSH_KEYS, 22, null, stampedeQueues);
+ ResourceJobManagerType.SLURM, "push", "/usr/bin", SecurityProtocol.SSH_KEYS, 22, "ibrun", stampedeQueues);
System.out.println("Stampede Resource Id is " + stampedeResourceId);
//Register Trestles
- List<BatchQueue> trestlesQueues = new ArrayList<BatchQueue>();
+ List<BatchQueue> trestlesQueues = new ArrayList<>();
BatchQueue normalQueue_tr = createBatchQueue("normal", "Normal Queue", 2880, 32, 32, 50, 0);
BatchQueue sharedQueue_tr = createBatchQueue("shared", "Shared Queue", 2880, 4, 32, 50, 0);
trestlesQueues.add(normalQueue_tr);
trestlesQueues.add(sharedQueue_tr);
trestlesResourceId = registerComputeHost("trestles.sdsc.xsede.org", "SDSC Trestles Cluster",
- ResourceJobManagerType.PBS, "push", "/opt/torque/bin/", SecurityProtocol.SSH_KEYS, 22, null, trestlesQueues);
+ ResourceJobManagerType.PBS, "push", "/opt/torque/bin/", SecurityProtocol.SSH_KEYS, 22, "mpirun -np", trestlesQueues);
System.out.println("Trestles Resource Id is " + trestlesResourceId);
//Register BigRedII
- List<BatchQueue> br2Queues = new ArrayList<BatchQueue>();
+ List<BatchQueue> br2Queues = new ArrayList<>();
BatchQueue normalQueue_br2 = createBatchQueue("normal", "Normal Queue", 2880, 340, 2048, 50, 0);
BatchQueue serial_br2 = createBatchQueue("serial", "Normal Queue", 10080, 340, 2048, 50, 0);
br2Queues.add(normalQueue_br2);
@@ -234,11 +234,11 @@ public class RegisterSampleApplications {
System.out.println("FSd Resource Id: "+fsdResourceId);
//Register Alamo
- List<BatchQueue> alamoQueues = new ArrayList<BatchQueue>();
+ List<BatchQueue> alamoQueues = new ArrayList<>();
alamoResourceId = registerComputeHost("alamo.uthscsa.edu", "Alamo Cluster",
ResourceJobManagerType.PBS, "push", "/usr/bin/", SecurityProtocol.SSH_KEYS, 22, "/usr/bin/mpiexec -np", alamoQueues);
System.out.println("Alamo Cluster " + alamoResourceId);
-
+
} catch (TException e) {
e.printStackTrace();
@@ -251,7 +251,7 @@ public class RegisterSampleApplications {
System.out.println("\n #### Registering Non-XSEDE Computational Resources #### \n");
//Register LSF resource
- List<BatchQueue> lsfQueues = new ArrayList<BatchQueue>();
+ List<BatchQueue> lsfQueues = new ArrayList<>();
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, "mpiexec", lsfQueues);
System.out.println("LSF Resource Id is " + lsfResourceId);
@@ -261,17 +261,17 @@ public class RegisterSampleApplications {
}
}
-
+
public static String registerUnicoreEndpoint(String hostName, String hostDesc, JobSubmissionProtocol protocol, SecurityProtocol securityProtocol) throws TException {
-
+
ComputeResourceDescription computeResourceDescription = RegisterSampleApplicationsUtils
.createComputeResourceDescription(hostName, hostDesc, null, null);
-
+
fsdResourceId = airavataClient.registerComputeResource(computeResourceDescription);
-
+
if (fsdResourceId.isEmpty())
throw new AiravataClientException();
-
+
System.out.println("FSD Compute ResourceID: "+fsdResourceId);
JobSubmissionInterface jobSubmission = RegisterSampleApplicationsUtils.createJobSubmissionInterface(fsdResourceId, protocol, 2);
UnicoreJobSubmission ucrJobSubmission = new UnicoreJobSubmission();
@@ -279,12 +279,12 @@ public class RegisterSampleApplications {
ucrJobSubmission.setUnicoreEndPointURL(unicoreEndPointURL);
// ucrJobSubmission.setAuthenticationMode(AuthenticationMode.MYPROXY_ISSUED);
jobSubmission.setJobSubmissionProtocol(JobSubmissionProtocol.UNICORE);
-
+
airavataClient.addUNICOREJobSubmissionDetails(fsdResourceId, 0, ucrJobSubmission);
-
+
return jobSubmission.getJobSubmissionInterfaceId();
}
-
+
public void registerAppModules() {
try {
System.out.println("\n #### Registering Application Modules #### \n");
@@ -294,12 +294,12 @@ public class RegisterSampleApplications {
RegisterSampleApplicationsUtils.createApplicationModule(
echoName, "1.0", echoDescription));
System.out.println("Echo Module Id " + echoModuleId);
-
+
mpiModuleId = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
RegisterSampleApplicationsUtils.createApplicationModule(
mpiName, "1.0", mpiDescription));
System.out.println("MPI Module Id " + mpiModuleId);
-
+
//Register Amber
amberModuleId = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
@@ -400,12 +400,12 @@ public class RegisterSampleApplications {
//Registering BigRed II Apps
registerBigRedApps();
-
+
//Registering FSD Apps
registerFSDApps();
registerLSFApps();
-
+
//Registering Alamo Apps
registerAlamoApps();
@@ -419,7 +419,7 @@ public class RegisterSampleApplications {
//Registering Echo
registerEchoInterface();
-
+
//Registering MPI
registerMPIInterface();
@@ -452,7 +452,7 @@ public class RegisterSampleApplications {
registerTinkerMonteInterface();
registerGaussianInterface();
-
+
// Register Ultrascan
registerUltrascanInterface();
@@ -474,19 +474,19 @@ public class RegisterSampleApplications {
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("gams_output",
- "", DataType.URI, true, false));
+ "", DataType.URI, true, false, null));
applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("dat_file",
- "", DataType.URI, true, true));
+ "", DataType.URI, true, true, null));
applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("trj_file",
- "", DataType.URI, false, true));
+ "", DataType.URI, false, true, null));
applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("rst_file",
- "", DataType.URI, false, true));
+ "", DataType.URI, false, true, null));
applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("f10_file",
- "", DataType.URI, false, true));
+ "", DataType.URI, false, true, null));
applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("STDOUT",
- "", DataType.STDOUT, false, true));
+ "", DataType.STDOUT, false, true, null));
applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("STDERR",
- "", DataType.STDERR, false, true));
+ "", DataType.STDERR, false, true, null));
gamessInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("gamess", "gamess",
@@ -513,9 +513,9 @@ public class RegisterSampleApplications {
applicationInputs.add(input1);
OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",
- "", DataType.STDOUT, false, false);
+ "", DataType.STDOUT, false, false, null);
OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",
- "", DataType.STDERR, false, false);
+ "", DataType.STDERR, false, false, null);
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
@@ -540,24 +540,24 @@ public class RegisterSampleApplications {
InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Input_to_Echo", "",
- DataType.STRING, null, 1, false, false,false, "A test string to Echo", null);
-
+ DataType.STRING, null, 1, false, true,false, "A test string to Echo", null);
+
// InputDataObjectType input2 = RegisterSampleApplicationsUtils.createAppInput("Input_to_Echo2", "",
// DataType.URI, null, 2, false, false,false, "A sample input remote file", null);
//
// InputDataObjectType input3 = RegisterSampleApplicationsUtils.createAppInput("Input_to_Echo3", "file:///tmp/test.txt",
// DataType.URI, null, 3,false, false, false, "A sample input local file", null);
-
+
List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(input1);
// applicationInputs.add(input2); applicationInputs.add(input3);
OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("Echoed_Output",
- "", DataType.STDOUT, true, false);
+ "", DataType.STDOUT, true, false, null);
OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("Echoed_Error",
- "", DataType.STDERR, true, false);
+ "", DataType.STDERR, true, false, null);
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
@@ -578,27 +578,27 @@ public class RegisterSampleApplications {
public void registerMPIInterface() {
try {
System.out.println("#### Registering MPI Interface #### \n");
-
+
List<String> appModules = new ArrayList<String>();
appModules.add(mpiModuleId);
InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Sample_Input", "",
DataType.STRING, null, 1,true, false, false, "An optional MPI source file", null);
-
+
InputDataObjectType input11 = RegisterSampleApplicationsUtils.createAppInput("US3INPUT", "",
DataType.URI, null, 1,true, false, false, "Input US3 file", null);
-
+
InputDataObjectType input12 = RegisterSampleApplicationsUtils.createAppInput("US3INPUTARG", "",
DataType.STRING, null, 1,true, false, false, "Input US3 Arg", null);
-
+
InputDataObjectType input2 = RegisterSampleApplicationsUtils.createAppInput("NumberOfProcesses", "",
DataType.INTEGER, null, 2,false, true, false, "Number Of Processes", null);
-
-
+
+
InputDataObjectType input3 = RegisterSampleApplicationsUtils.createAppInput("ProcessesPerHost", "",
DataType.INTEGER, null, 3,false, true, false, "Processes per host", null);
-
+
List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(input1);
@@ -606,21 +606,21 @@ public class RegisterSampleApplications {
applicationInputs.add(input3);
applicationInputs.add(input11);
applicationInputs.add(input12);
-
+
OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("STDOutput",
- "", DataType.STDOUT, true, true);
+ "", DataType.STDOUT, true, true, null);
OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("STDErr",
- "", DataType.STDERR, true, true);
-
+ "", DataType.STDERR, true, true, null);
+
OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("US3OUT",
- "", DataType.STRING, true, false);
+ "", DataType.STRING, true, false, null);
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
applicationOutputs.add(output2);
applicationOutputs.add(output3);
-
-
+
+
mpiInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
RegisterSampleApplicationsUtils.createApplicationInterfaceDescription(mpiName, mpiDescription,
appModules, applicationInputs, applicationOutputs));
@@ -631,7 +631,7 @@ public class RegisterSampleApplications {
}
}
-
+
public void registerAmberInterface() {
try {
System.out.println("#### Registering Amber Interface #### \n");
@@ -640,25 +640,25 @@ public class RegisterSampleApplications {
appModules.add(amberModuleId);
InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Heat_Restart_File", null,
- DataType.URI, null, 1, true, true,false, "Heating up the system equilibration stage - 02_Heat.rst", null);
+ DataType.URI, "-c", 1, true, true, false, "Heating up the system equilibration stage - 02_Heat.rst", null);
InputDataObjectType input2 = RegisterSampleApplicationsUtils.createAppInput("Production_Control_File", null,
- DataType.URI, null, 2,true, true, false, "Constant pressure and temperature for production stage - 03_Prod.in", null);
+ DataType.URI, "-i ", 2, true, true, false, "Constant pressure and temperature for production stage - 03_Prod.in", null);
InputDataObjectType input3 = RegisterSampleApplicationsUtils.createAppInput("Parameter_Topology_File", null,
- DataType.URI, null, 3,true, true, false, "Parameter and Topology coordinates - prmtop", null);
+ DataType.URI, "-p", 3, true, true, false, "Parameter and Topology coordinates - prmtop", null);
List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(input1);
applicationInputs.add(input2);
applicationInputs.add(input3);
- OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("AMBER_Execution_Summary","03_Prod.info",DataType.URI, true, true);
- OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("AMBER_Execution_log","03_Prod.out",DataType.URI, true, true);
- OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("AMBER_Trajectory_file","03_Prod.mdcrd",DataType.URI, true, true);
- OutputDataObjectType output4 = RegisterSampleApplicationsUtils.createAppOutput("AMBER_Restart_file","03_Prod.rst",DataType.URI, true, true);
- OutputDataObjectType output5 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true);
- OutputDataObjectType output6 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true);
+ OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("AMBER_Execution_Summary", "03_Prod.info", DataType.URI, true, true, "-inf");
+ OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("AMBER_Execution_log", "03_Prod.out", DataType.URI, true, true, "-o");
+ OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("AMBER_Trajectory_file", "03_Prod.mdcrd", DataType.URI, true, true, "-x");
+ OutputDataObjectType output4 = RegisterSampleApplicationsUtils.createAppOutput("AMBER_Restart_file", "03_Prod.rst", DataType.URI, true, true, " -r");
+ OutputDataObjectType output5 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT", null, DataType.STDOUT, true, false, null);
+ OutputDataObjectType output6 = RegisterSampleApplicationsUtils.createAppOutput("STDERR", null, DataType.STDERR, true, false, null);
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
applicationOutputs.add(output2);
@@ -666,7 +666,7 @@ public class RegisterSampleApplications {
applicationOutputs.add(output4);
applicationOutputs.add(output5);
applicationOutputs.add(output6);
-
+
amberInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
RegisterSampleApplicationsUtils.createApplicationInterfaceDescription(amberName, amberDescription,
appModules, applicationInputs, applicationOutputs));
@@ -692,15 +692,15 @@ public class RegisterSampleApplications {
InputDataObjectType input3 = RegisterSampleApplicationsUtils.createAppInput("Parameter_Topology_File", null,
DataType.URI, null, 3,true, true, false, "Parameter and Topology coordinates", null);
-
+
List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(input1);
applicationInputs.add(input2);
applicationInputs.add(input3);
- OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true);
- OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true);
-
+ OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true, null);
+ OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true, null);
+
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
@@ -733,11 +733,11 @@ public class RegisterSampleApplications {
applicationInputs.add(input1);
applicationInputs.add(input2);
- OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("ESPRESSO_Execution_Log",null,DataType.URI, true, true);
- OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("ESPRESSO_WFC_Binary_file",null,DataType.URI, true, true);
- OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true);
- OutputDataObjectType output4 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true);
-
+ OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("ESPRESSO_Execution_Log",null,DataType.URI, true, true, null);
+ OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("ESPRESSO_WFC_Binary_file",null,DataType.URI, true, true, null);
+ OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true, null);
+ OutputDataObjectType output4 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true, null);
+
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
applicationOutputs.add(output2);
@@ -771,12 +771,12 @@ public class RegisterSampleApplications {
applicationInputs.add(input1);
applicationInputs.add(input2);
- OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("GROMACS_Execution_Log",null,DataType.URI, true, true);
- OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("Full_Precision_Trajectory_file",null,DataType.URI, true, true);
- OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("Portable_Energy_file",null,DataType.URI, true, true);
- OutputDataObjectType output4 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true);
- OutputDataObjectType output5 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true);
-
+ OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("GROMACS_Execution_Log",null,DataType.URI, true, true, null);
+ OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("Full_Precision_Trajectory_file",null,DataType.URI, true, true, null);
+ OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("Portable_Energy_file",null,DataType.URI, true, true, null);
+ OutputDataObjectType output4 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true, null);
+ OutputDataObjectType output5 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true, null);
+
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
applicationOutputs.add(output2);
@@ -808,11 +808,11 @@ public class RegisterSampleApplications {
List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(input1);
- OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("LAMMPS_Simulation_Log",null,DataType.URI, true, true);
- OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true);
- OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true);
-
-
+ OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("LAMMPS_Simulation_Log",null,DataType.URI, true, true, null);
+ OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true, null);
+ OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true, null);
+
+
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
applicationOutputs.add(output2);
@@ -842,10 +842,10 @@ public class RegisterSampleApplications {
applicationInputs.add(input1);
OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("NWChem_Execution_Log",
- null, DataType.URI, true, false);
- OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true);
- OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true);
-
+ null, DataType.URI, true, false, null);
+ OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true, null);
+ OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true, null);
+
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
@@ -880,10 +880,10 @@ public class RegisterSampleApplications {
applicationInputs.add(input1);
applicationInputs.add(input2);
- OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("Trinity_Execution_Log",null,DataType.URI, true, true);
- OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("Trinity_FASTA_File",null,DataType.URI, true, true);
- OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true);
- OutputDataObjectType output4 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true);
+ OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("Trinity_Execution_Log",null,DataType.URI, true, true, null);
+ OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("Trinity_FASTA_File",null,DataType.URI, true, true, null);
+ OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true, null);
+ OutputDataObjectType output4 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true, null);
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
@@ -924,20 +924,20 @@ public class RegisterSampleApplications {
applicationInputs.add(input3);
OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("WRF_Output",
- "", DataType.URI, true, true);
+ "", DataType.URI, true, true, null);
OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("WRF_Execution_Log",
- "", DataType.URI, true, true);
- OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true);
- OutputDataObjectType output4 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true);
+ "", DataType.URI, true, true, null);
+ OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true, null);
+ OutputDataObjectType output4 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true, null);
+
-
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
applicationOutputs.add(output2);
applicationOutputs.add(output3);
applicationOutputs.add(output4);
-
+
wrfInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
RegisterSampleApplicationsUtils.createApplicationInterfaceDescription(wrfName, wrfDescription,
appModules, applicationInputs, applicationOutputs));
@@ -969,12 +969,12 @@ public class RegisterSampleApplications {
applicationInputs.add(input2);
applicationInputs.add(input3);
- OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("PHASTA_Execution_Log",null,DataType.URI, true, true);
- OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("PHASTA_Output_tar",null,DataType.URI, true, true);
- OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true);
- OutputDataObjectType output4 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true);
+ OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("PHASTA_Execution_Log",null,DataType.URI, true, true, null);
+ OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("PHASTA_Output_tar",null,DataType.URI, true, true, null);
+ OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true, null);
+ OutputDataObjectType output4 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true, null);
+
-
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
applicationOutputs.add(output2);
@@ -1021,16 +1021,16 @@ public class RegisterSampleApplications {
applicationInputs.add(input1);
OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("gaussian.out",
- "", DataType.URI, true, true );
- OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true);
- OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true);
+ "", DataType.URI, true, true, null);
+ OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true, null);
+ OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true, null);
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
applicationOutputs.add(output2);
applicationOutputs.add(output3);
-
+
String addApplicationInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("Gaussian", "Gaussian application",
appModules, applicationInputs, applicationOutputs));
@@ -1073,11 +1073,11 @@ public class RegisterSampleApplications {
applicationInputs.add(input7);
OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("Diskoutputfile_with_dir",
- "", DataType.URI, false, false);
- OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true);
- OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true);
+ "", DataType.URI, false, false, null);
+ OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true, null);
+ OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true, null);
+
-
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
applicationOutputs.add(output2);
@@ -1106,10 +1106,12 @@ public class RegisterSampleApplications {
System.out.println("Echo on stampede deployment Id " + echoAppDeployId);
//Register Amber
- String amberAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
- RegisterSampleApplicationsUtils.createApplicationDeployment(amberModuleId, stampedeResourceId,
- "/home1/01437/ogce/production/app_wrappers/amber_wrapper.sh", ApplicationParallelismType.MPI,
- amberDescription, null, null, null));
+ List<String> moduleLoadCMDs = new ArrayList<String>();
+ moduleLoadCMDs.add("module load amber");
+ ApplicationDeploymentDescription amberStampedeDeployment = RegisterSampleApplicationsUtils.createApplicationDeployment(amberModuleId, stampedeResourceId,
+ "/opt/apps/intel13/mvapich2_1_9/amber/12.0/bin/sander.MPI -O", ApplicationParallelismType.MPI,
+ amberDescription, moduleLoadCMDs, null, null);
+ String amberAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,amberStampedeDeployment);
System.out.println("Amber on stampede deployment Id " + amberAppDeployId);
//Register ESPRESSO
@@ -1186,10 +1188,12 @@ public class RegisterSampleApplications {
System.out.println("Echo on trestles deployment Id " + echoAppDeployId);
//Register Amber
+ List<String> moduleLoadCMDs = new ArrayList<String>();
+ moduleLoadCMDs.add("module load amber");
String amberAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
RegisterSampleApplicationsUtils.createApplicationDeployment(amberModuleId, trestlesResourceId,
- "/home/ogce/production/app_wrappers/amber_wrapper.sh", ApplicationParallelismType.MPI,
- amberDescription, null, null, null));
+ "/opt/amber/bin/sander.MPI -O", ApplicationParallelismType.MPI,
+ amberDescription, moduleLoadCMDs, null, null));
System.out.println("Amber on trestles deployment Id " + amberAppDeployId);
//Register GROMACS
@@ -1265,10 +1269,14 @@ public class RegisterSampleApplications {
System.out.println("Echo on bigredII deployment Id " + echoAppDeployId);
//Register Amber
+ List<String> amberModuleLoadCMDsBr2 = new ArrayList<String>();
+ amberModuleLoadCMDsBr2.add("module load amber/gnu/mpi/12");
+ amberModuleLoadCMDsBr2.add("module swap PrgEnv-cray PrgEnv-gnu");
String amberAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
RegisterSampleApplicationsUtils.createApplicationDeployment(amberModuleId, bigredResourceId,
- "/N/u/cgateway/BigRed2/production/app_wrappers/amber_wrapper.sh", ApplicationParallelismType.MPI,
- amberDescription, null, null, null));
+ "/N/soft/cle4/amber/gnu/mpi/12/amber12/bin/sander.MPI -O", ApplicationParallelismType.MPI,
+ amberDescription, amberModuleLoadCMDsBr2, null, null));
+
System.out.println("Amber on bigredII deployment Id " + amberAppDeployId);
//Register AutoDock
@@ -1306,18 +1314,18 @@ public class RegisterSampleApplications {
RegisterSampleApplicationsUtils.createApplicationDeployment(echoModuleId, fsdResourceId,
"/bin/echo", ApplicationParallelismType.SERIAL, echoDescription, null, null, null));
System.out.println("Echo on FSD deployment Id: " + echoAppDeployId);
-
+
//Register MPI
// String mpiAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
// RegisterSampleApplicationsUtils.createApplicationDeployment(mpiModuleId, fsdResourceId,
// "/home/bes/hellompi", ApplicationParallelismType.OPENMP_MPI, mpiDescription, null, null, null));
-
-
+
+
String mpiAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
RegisterSampleApplicationsUtils.createApplicationDeployment(mpiModuleId, fsdResourceId,
"us_mpi_analysis", ApplicationParallelismType.MPI, mpiDescription, null, null, null));
-
+
System.out.println("MPI on FSD deployment Id: " + mpiAppDeployId);
} catch (TException e) {
@@ -1342,7 +1350,7 @@ public class RegisterSampleApplications {
batchQueue.setMaxProcessors(maxProcessors);
return batchQueue;
}
-
+
public String registerComputeHost(String hostName, String hostDesc,
ResourceJobManagerType resourceJobManagerType,
String monitoringEndPoint, String jobMangerBinPath,
@@ -1380,11 +1388,11 @@ public class RegisterSampleApplications {
return computeResourceId;
}
-
-
-
-
-
+
+
+
+
+
public void registerGatewayResourceProfile() {
try {
@@ -1406,13 +1414,13 @@ public class RegisterSampleApplications {
ComputeResourcePreference lsfResourcePreferences = RegisterSampleApplicationsUtils.
createComputeResourcePreference(lsfResourceId, "airavata", false, null, null, null,
"/home/lg11w/mywork");
-
+
ComputeResourcePreference fsdResourcePreferences = RegisterSampleApplicationsUtils.
createComputeResourcePreference(fsdResourceId, null, false, null, JobSubmissionProtocol.UNICORE, DataMovementProtocol.UNICORE_STORAGE_SERVICE,null);
-
+
ComputeResourcePreference alamoResourcePreferences = RegisterSampleApplicationsUtils.
createComputeResourcePreference(alamoResourceId, null, false, null, JobSubmissionProtocol.SSH, DataMovementProtocol.SCP,"/home/us3/work/uslims3_cauma3-03896");
-
+
GatewayResourceProfile gatewayResourceProfile = new GatewayResourceProfile();
gatewayResourceProfile.setGatewayID(DEFAULT_GATEWAY);
gatewayResourceProfile.addToComputeResourcePreferences(stampedeResourcePreferences);
@@ -1477,7 +1485,7 @@ public class RegisterSampleApplications {
e.printStackTrace();
}
}
-
+
private void registerUltrascanInterface() {
try {
System.out.println("#### Registering Ultrascan Application Interface ####");
@@ -1492,13 +1500,13 @@ public class RegisterSampleApplications {
applicationInputs.add(input1);
OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("output/analysis-results.tar",
- "", DataType.URI, true, true );
+ "", DataType.URI, true, true, null );
OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",
- "", DataType.STDOUT, true, true );
+ "", DataType.STDOUT, true, true, null );
OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",
- "", DataType.STDERR, true, true );
+ "", DataType.STDERR, true, true, null );
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f89c672/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplicationsUtils.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplicationsUtils.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplicationsUtils.java
index 5ef1eae..a466b9f 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplicationsUtils.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplicationsUtils.java
@@ -150,17 +150,18 @@ public class RegisterSampleApplicationsUtils {
}
public static OutputDataObjectType createAppOutput(String inputName,
- String value,
- DataType type,
- boolean isRequired,
- boolean requiredToCMD) {
+ String value,
+ DataType type,
+ boolean isRequired,
+ boolean requiredToCMD,
+ String argument) {
OutputDataObjectType outputDataObjectType = new OutputDataObjectType();
-// outputDataObjectType.setIsEmpty(false);
if (inputName != null) outputDataObjectType.setName(inputName);
if (value != null) outputDataObjectType.setValue(value);
if (type != null) outputDataObjectType.setType(type);
outputDataObjectType.setIsRequired(isRequired);
outputDataObjectType.setRequiredToAddedToCommandLine(requiredToCMD);
+ outputDataObjectType.setApplicationArgument(argument);
return outputDataObjectType;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f89c672/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterUS3Application.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterUS3Application.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterUS3Application.java
index 27a4063..4e0510c 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterUS3Application.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterUS3Application.java
@@ -181,7 +181,7 @@ public class RegisterUS3Application {
applicationInputs.add(input1);
OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("output",
- "", DataType.URI, true, false);
+ "", DataType.URI, true, false, null);
// OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("stdout",
// "", DataType.URI);
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f89c672/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/util/GFACGSISSHUtils.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/util/GFACGSISSHUtils.java b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/util/GFACGSISSHUtils.java
index 631f59c..cfd40e0 100644
--- a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/util/GFACGSISSHUtils.java
+++ b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/util/GFACGSISSHUtils.java
@@ -40,6 +40,7 @@ import org.apache.airavata.gsi.ssh.impl.GSISSHAbstractCluster;
import org.apache.airavata.gsi.ssh.impl.PBSCluster;
import org.apache.airavata.gsi.ssh.util.CommonUtils;
import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription;
+import org.apache.airavata.model.appcatalog.appdeployment.ApplicationParallelismType;
import org.apache.airavata.model.appcatalog.appinterface.DataType;
import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
@@ -168,15 +169,6 @@ public class GFACGSISSHUtils {
JobDescriptor jobDescriptor = new JobDescriptor();
TaskDetails taskData = jobExecutionContext.getTaskData();
ResourceJobManager resourceJobManager = jobExecutionContext.getResourceJobManager();
- Map<JobManagerCommand, String> jobManagerCommands = resourceJobManager.getJobManagerCommands();
- if (jobManagerCommands != null && !jobManagerCommands.isEmpty()) {
- for (JobManagerCommand command : jobManagerCommands.keySet()) {
- if (command == JobManagerCommand.SUBMISSION) {
- String commandVal = jobManagerCommands.get(command);
- jobDescriptor.setJobSubmitter(commandVal);
- }
- }
- }
try {
if(ServerSettings.getSetting(ServerSettings.JOB_NOTIFICATION_ENABLE).equalsIgnoreCase("true")){
jobDescriptor.setMailOptions(ServerSettings.getSetting(ServerSettings.JOB_NOTIFICATION_FLAGS));
@@ -348,6 +340,21 @@ public class GFACGSISSHUtils {
jobDescriptor.addPostJobCommand(parseCommand(postJobCommand, jobExecutionContext));
}
}
+
+ ApplicationParallelismType parallelism = appDepDescription.getParallelism();
+ if (parallelism != null){
+ if (parallelism == ApplicationParallelismType.MPI || parallelism == ApplicationParallelismType.OPENMP || parallelism == ApplicationParallelismType.OPENMP_MPI){
+ Map<JobManagerCommand, String> jobManagerCommands = resourceJobManager.getJobManagerCommands();
+ if (jobManagerCommands != null && !jobManagerCommands.isEmpty()) {
+ for (JobManagerCommand command : jobManagerCommands.keySet()) {
+ if (command == JobManagerCommand.SUBMISSION) {
+ String commandVal = jobManagerCommands.get(command);
+ jobDescriptor.setJobSubmitter(commandVal);
+ }
+ }
+ }
+ }
+ }
return jobDescriptor;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f89c672/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 e810302..c04aecb 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
@@ -45,6 +45,7 @@ import org.apache.airavata.gsi.ssh.impl.PBSCluster;
import org.apache.airavata.gsi.ssh.impl.authentication.DefaultPasswordAuthenticationInfo;
import org.apache.airavata.gsi.ssh.util.CommonUtils;
import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription;
+import org.apache.airavata.model.appcatalog.appdeployment.ApplicationParallelismType;
import org.apache.airavata.model.appcatalog.appinterface.DataType;
import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
@@ -207,7 +208,7 @@ public class GFACSSHUtils {
AppCatalog appCatalog = jobExecutionContext.getAppCatalog();
JobSubmissionInterface preferredJobSubmissionInterface = jobExecutionContext.getPreferredJobSubmissionInterface();
SSHJobSubmission sshJobSubmission = appCatalog.getComputeResource().getSSHJobSubmission(preferredJobSubmissionInterface.getJobSubmissionInterfaceId());
-
+
Cluster pbsCluster = null;
String key=sshAuth.getKey();
boolean recreate = false;
@@ -281,16 +282,8 @@ public class GFACSSHUtils {
public static JobDescriptor createJobDescriptor(JobExecutionContext jobExecutionContext, Cluster cluster) {
JobDescriptor jobDescriptor = new JobDescriptor();
TaskDetails taskData = jobExecutionContext.getTaskData();
- ResourceJobManager resourceJobManager = jobExecutionContext.getResourceJobManager();
- Map<JobManagerCommand, String> jobManagerCommands = resourceJobManager.getJobManagerCommands();
- if (jobManagerCommands != null && !jobManagerCommands.isEmpty()) {
- for (JobManagerCommand command : jobManagerCommands.keySet()) {
- if (command == JobManagerCommand.SUBMISSION) {
- String commandVal = jobManagerCommands.get(command);
- jobDescriptor.setJobSubmitter(commandVal);
- }
- }
- }
+
+
try {
if(ServerSettings.getSetting(ServerSettings.JOB_NOTIFICATION_ENABLE).equalsIgnoreCase("true")) {
String flags = ServerSettings.getSetting(ServerSettings.JOB_NOTIFICATION_FLAGS);
@@ -321,7 +314,7 @@ public class GFACSSHUtils {
logger.error("ApplicationSettingsException : " +e.getLocalizedMessage());
}
// this is common for any application descriptor
-
+
jobDescriptor.setCallBackIp(ServerSettings.getIp());
jobDescriptor.setCallBackPort(ServerSettings.getSetting(org.apache.airavata.common.utils.Constants.GFAC_SERVER_PORT, "8950"));
jobDescriptor.setInputDirectory(jobExecutionContext.getInputDir());
@@ -407,6 +400,9 @@ public class GFACSSHUtils {
jobDescriptor.setAllEnvExport(true);
jobDescriptor.setOwner(((PBSCluster) cluster).getServerInfo().getUserName());
+ ResourceJobManager resourceJobManager = jobExecutionContext.getResourceJobManager();
+
+
ComputationalResourceScheduling taskScheduling = taskData.getTaskScheduling();
if (taskScheduling != null) {
int totalNodeCount = taskScheduling.getNodeCount();
@@ -466,6 +462,21 @@ public class GFACSSHUtils {
jobDescriptor.addPostJobCommand(parseCommand(postJobCommand, jobExecutionContext));
}
}
+
+ ApplicationParallelismType parallelism = appDepDescription.getParallelism();
+ if (parallelism != null){
+ if (parallelism == ApplicationParallelismType.MPI || parallelism == ApplicationParallelismType.OPENMP || parallelism == ApplicationParallelismType.OPENMP_MPI){
+ Map<JobManagerCommand, String> jobManagerCommands = resourceJobManager.getJobManagerCommands();
+ if (jobManagerCommands != null && !jobManagerCommands.isEmpty()) {
+ for (JobManagerCommand command : jobManagerCommands.keySet()) {
+ if (command == JobManagerCommand.SUBMISSION) {
+ String commandVal = jobManagerCommands.get(command);
+ jobDescriptor.setJobSubmitter(commandVal);
+ }
+ }
+ }
+ }
+ }
return jobDescriptor;
}