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 <[email protected]> Authored: Fri Nov 7 13:55:55 2014 -0500 Committer: Chathuri Wimalasena <[email protected]> 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; } }
