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 2014/11/07 19:56:30 UTC
airavata git commit: adding missing job parameters at
createJobDescriptor
Repository: airavata
Updated Branches:
refs/heads/gfac_appcatalog_int e54132907 -> 62f003631
adding missing job parameters at createJobDescriptor
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/62f00363
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/62f00363
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/62f00363
Branch: refs/heads/gfac_appcatalog_int
Commit: 62f003631e1493dfaacff2357c96e90088d5187d
Parents: e541329
Author: chathuriw <ka...@gmail.com>
Authored: Fri Nov 7 13:55:55 2014 -0500
Committer: Chathuri Wimalasena <ka...@gmail.com>
Committed: Fri Nov 7 13:55:55 2014 -0500
----------------------------------------------------------------------
.../client/samples/CreateLaunchExperiment.java | 18 ++++----
.../gfac/gsissh/util/GFACGSISSHUtils.java | 45 ++++++++++++++++++++
2 files changed, 54 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/62f00363/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 d6c0f80..d437c4a 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
@@ -56,9 +56,9 @@ public class CreateLaunchExperiment {
private static final String DEFAULT_GATEWAY = "default.registry.gateway";
private static Airavata.Client airavataClient;
- private static String echoAppId = "Echo_37c26231-8784-4a40-b184-ae00f6330113";
- private static String wrfAppId = "WRF_5f097c9c-7066-49ec-aed7-4e39607b3adc";
- private static String amberAppId = "Amber_89906be6-5678-49a6-9d04-a0604fbdef2e";
+ private static String echoAppId = "Echo_647ba0c5-64ef-4efe-9786-2d28f4d5acc9";
+ private static String wrfAppId = "WRF_a458df70-6808-4d5d-ae32-c49082f2a6cc";
+ private static String amberAppId = "Amber_1b99f73b-a88d-44e3-b04e-4f56ba95ed6f";
private static String localHost = "localhost";
private static String trestlesHostName = "trestles.sdsc.xsede.org";
@@ -178,7 +178,7 @@ public class CreateLaunchExperiment {
for (String id : computeResources.keySet()) {
String resourceName = computeResources.get(id);
if (resourceName.equals(trestlesHostName)) {
- ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(id, 1, 1, 1, "normal", 1, 0, 1, "sds128");
+ ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(id, 1, 1, 1, "normal", 30, 0, 1, "sds128");
UserConfigurationData userConfigurationData = new UserConfigurationData();
userConfigurationData.setAiravataAutoSchedule(false);
userConfigurationData.setOverrideManualScheduledParams(false);
@@ -234,7 +234,7 @@ public class CreateLaunchExperiment {
for (String id : computeResources.keySet()) {
String resourceName = computeResources.get(id);
if (resourceName.equals(unicoreHostName)) {
- ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(id, 1, 1, 1, "normal", 1, 0, 1, "sds128");
+ ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(id, 1, 1, 1, "normal", 30, 0, 1, "sds128");
UserConfigurationData userConfigurationData = new UserConfigurationData();
userConfigurationData.setAiravataAutoSchedule(false);
userConfigurationData.setOverrideManualScheduledParams(false);
@@ -384,7 +384,7 @@ public class CreateLaunchExperiment {
for (String id : computeResources.keySet()) {
String resourceName = computeResources.get(id);
if (resourceName.equals(trestlesHostName)) {
- ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(id, 1, 1, 1, "normal", 1, 0, 1, "sds128");
+ ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(id, 1, 1, 1, "normal", 30, 0, 1, "sds128");
UserConfigurationData userConfigurationData = new UserConfigurationData();
userConfigurationData.setAiravataAutoSchedule(false);
userConfigurationData.setOverrideManualScheduledParams(false);
@@ -460,7 +460,7 @@ public class CreateLaunchExperiment {
for (String id : computeResources.keySet()) {
String resourceName = computeResources.get(id);
if (resourceName.equals(localHost)) {
- ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(id, 1, 1, 1, "normal", 1, 0, 1, "");
+ ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(id, 1, 1, 1, "normal", 30, 0, 1, "");
UserConfigurationData userConfigurationData = new UserConfigurationData();
userConfigurationData.setAiravataAutoSchedule(false);
userConfigurationData.setOverrideManualScheduledParams(false);
@@ -560,7 +560,7 @@ public class CreateLaunchExperiment {
for (String id : computeResources.keySet()) {
String resourceName = computeResources.get(id);
if (resourceName.equals(stampedeHostName)) {
- ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(id, 1, 1, 1, "normal", 1, 0, 1, "TG-STA110014S");
+ ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(id, 1, 1, 1, "normal", 30, 0, 1, "TG-STA110014S");
UserConfigurationData userConfigurationData = new UserConfigurationData();
userConfigurationData.setAiravataAutoSchedule(false);
userConfigurationData.setOverrideManualScheduledParams(false);
@@ -684,7 +684,7 @@ public class CreateLaunchExperiment {
for (String id : computeResources.keySet()) {
String resourceName = computeResources.get(id);
if (resourceName.equals(br2HostName)) {
- ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(id, 1, 1, 1, "normal", 1, 0, 1, null);
+ ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(id, 1, 1, 1, "normal", 30, 0, 1, null);
UserConfigurationData userConfigurationData = new UserConfigurationData();
userConfigurationData.setAiravataAutoSchedule(false);
userConfigurationData.setOverrideManualScheduledParams(false);
http://git-wip-us.apache.org/repos/asf/airavata/blob/62f00363/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 2adc013..3c2e839 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
@@ -42,6 +42,7 @@ import org.apache.airavata.gsi.ssh.api.Cluster;
import org.apache.airavata.gsi.ssh.api.ServerInfo;
import org.apache.airavata.gsi.ssh.api.job.JobDescriptor;
import org.apache.airavata.gsi.ssh.api.job.JobManagerConfiguration;
+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;
@@ -50,6 +51,8 @@ import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionInterfa
import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol;
import org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission;
import org.apache.airavata.model.appcatalog.computeresource.SecurityProtocol;
+import org.apache.airavata.model.workspace.experiment.ComputationalResourceScheduling;
+import org.apache.airavata.model.workspace.experiment.TaskDetails;
import org.apache.airavata.schemas.gfac.FileArrayType;
import org.apache.airavata.schemas.gfac.StringArrayType;
import org.apache.airavata.schemas.gfac.URIArrayType;
@@ -168,6 +171,7 @@ public class GFACGSISSHUtils {
JobDescriptor jobDescriptor = new JobDescriptor();
ApplicationContext applicationContext = jobExecutionContext.getApplicationContext();
ApplicationDeploymentDescription app = applicationContext.getApplicationDeploymentDescription();
+ TaskDetails taskData = jobExecutionContext.getTaskData();
// 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"));
@@ -191,6 +195,47 @@ public class GFACGSISSHUtils {
}
jobDescriptor.setInputValues(inputValues);
+ jobDescriptor.setUserName(((GSISSHAbstractCluster) cluster).getServerInfo().getUserName());
+ jobDescriptor.setShellName("/bin/bash");
+ jobDescriptor.setAllEnvExport(true);
+ jobDescriptor.setMailOptions("n");
+ jobDescriptor.setOwner(((PBSCluster) cluster).getServerInfo().getUserName());
+
+ ComputationalResourceScheduling taskScheduling = taskData.getTaskScheduling();
+ if (taskScheduling != null) {
+ int totalNodeCount = taskScheduling.getNodeCount();
+ int totalCPUCount = taskScheduling.getTotalCPUCount();
+
+// jobDescriptor.setJobSubmitter(applicationDeploymentType.getJobSubmitterCommand());
+ if (taskScheduling.getComputationalProjectAccount() != null) {
+ jobDescriptor.setAcountString(taskScheduling.getComputationalProjectAccount());
+ }
+ if (taskScheduling.getQueueName() != null) {
+ jobDescriptor.setQueueName(taskScheduling.getQueueName());
+ }
+
+ if (totalNodeCount > 0) {
+ jobDescriptor.setNodes(totalNodeCount);
+ }
+ if (taskScheduling.getComputationalProjectAccount() != null) {
+ jobDescriptor.setAcountString(taskScheduling.getComputationalProjectAccount());
+ }
+ if (taskScheduling.getQueueName() != null) {
+ jobDescriptor.setQueueName(taskScheduling.getQueueName());
+ }
+ if (totalCPUCount > 0) {
+ int ppn = totalCPUCount / totalNodeCount;
+ jobDescriptor.setProcessesPerNode(ppn);
+ jobDescriptor.setCPUCount(totalCPUCount);
+ }
+ if (taskScheduling.getWallTimeLimit() > 0) {
+ jobDescriptor.setMaxWallTime(String.valueOf(taskScheduling.getWallTimeLimit()));
+ }
+ } else {
+ logger.error("Task scheduling cannot be null at this point..");
+ }
+
+
return jobDescriptor;
}
}