Repository: airavata
Updated Branches:
  refs/heads/master 532f2691e -> c57378bda


More changes to slurm implementation - AIRAVATA-1057


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/0315de48
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/0315de48
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/0315de48

Branch: refs/heads/master
Commit: 0315de482a079dc97d1a128f08d554629ad47721
Parents: 532f269
Author: lahiru <[email protected]>
Authored: Thu Mar 6 22:27:38 2014 -0500
Committer: lahiru <[email protected]>
Committed: Thu Mar 6 22:27:38 2014 -0500

----------------------------------------------------------------------
 .../client/samples/CreateLaunchExperiment.java  | 12 ++--
 .../airavata/job/monitor/AMQPMonitorTest.java   |  4 +-
 .../airavata/job/monitor/QstatMonitorTest.java  |  3 +-
 .../src/main/assembly/bin-assembly.xml          |  1 +
 .../src/main/resources/SLURMTemplate.xslt       | 69 ++++++++++++++++++++
 .../org/apache/airavata/gfac/cpi/GFacImpl.java  | 16 +++--
 .../core/gfac/services/impl/BigRed2Test.java    |  7 +-
 .../gfac/services/impl/GSISSHProviderTest.java  |  3 +-
 8 files changed, 98 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/0315de48/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 63184d3..3bad86b 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
@@ -123,7 +123,7 @@ public class CreateLaunchExperiment {
             DocumentCreator documentCreator = new 
DocumentCreator(getAiravataAPI());
             documentCreator.createLocalHostDocs();
             documentCreator.createGramDocs();
-            documentCreator.createGSISSHDocs();
+            documentCreator.createSlurmDocs();
         } catch (AiravataAPIInvocationException e) {
             logger.error("Unable to create airavata API", e.getMessage());
             throw new AiravataAPIInvocationException(e);
@@ -165,11 +165,13 @@ public class CreateLaunchExperiment {
             output.setValue("");
             exOut.add(output);
 
-            Experiment simpleExperiment = 
ExperimentModelUtil.createSimpleExperiment("project1", "admin", 
"echoExperiment", "SimpleEcho2", "SimpleEcho2", exInputs);
+            Experiment simpleExperiment =
+                    ExperimentModelUtil.createSimpleExperiment("project1", 
"admin", "echoExperiment", "SimpleEcho2", "SimpleEcho2", exInputs);
             simpleExperiment.setExperimentOutputs(exOut);
 
-            ComputationalResourceScheduling scheduling = 
ExperimentModelUtil.createComputationResourceScheduling("trestles.sdsc.edu", 1, 
1, 1, "normal", 0, 0, 1, "sds128");
-            scheduling.setResourceHostId("gsissh-trestles");
+            ComputationalResourceScheduling scheduling =
+                    
ExperimentModelUtil.createComputationResourceScheduling("stampede.tacc.xsede.org",
 1, 1, 1, "normal", 0, 0, 1, "TG-STA110014S");
+            scheduling.setResourceHostId("stampede-host");
             UserConfigurationData userConfigurationData = new 
UserConfigurationData();
             userConfigurationData.setAiravataAutoSchedule(false);
             userConfigurationData.setOverrideManualScheduledParams(false);
@@ -192,7 +194,7 @@ public class CreateLaunchExperiment {
     }
 
     public static void launchExperiment (Airavata.Client client, String expId)
-            throws ExperimentNotFoundException, AiravataSystemException, 
InvalidRequestException,AiravataClientException, TException{
+            throws TException{
         try {
             client.launchExperiment(expId, "testToken");
         } catch (ExperimentNotFoundException e) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/0315de48/modules/airavata-job-monitor/src/test/java/org/apache/airavata/job/monitor/AMQPMonitorTest.java
----------------------------------------------------------------------
diff --git 
a/modules/airavata-job-monitor/src/test/java/org/apache/airavata/job/monitor/AMQPMonitorTest.java
 
b/modules/airavata-job-monitor/src/test/java/org/apache/airavata/job/monitor/AMQPMonitorTest.java
index 8f920c1..a6ef7ea 100644
--- 
a/modules/airavata-job-monitor/src/test/java/org/apache/airavata/job/monitor/AMQPMonitorTest.java
+++ 
b/modules/airavata-job-monitor/src/test/java/org/apache/airavata/job/monitor/AMQPMonitorTest.java
@@ -31,6 +31,7 @@ import 
org.apache.airavata.gsi.ssh.impl.authentication.MyProxyAuthenticationInfo
 import org.apache.airavata.job.monitor.exception.AiravataMonitorException;
 import org.apache.airavata.job.monitor.impl.push.amqp.AMQPMonitor;
 import org.apache.airavata.schemas.gfac.GsisshHostType;
+import org.apache.axiom.om.util.CommonUtils;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -93,7 +94,8 @@ public class AMQPMonitorTest {
         ServerInfo serverInfo = new ServerInfo("ogce", "trestles.sdsc.edu");
 
 
-        Cluster pbsCluster = new PBSCluster(serverInfo, authenticationInfo, 
"/opt/torque/bin/");
+        Cluster pbsCluster = new
+                PBSCluster(serverInfo, authenticationInfo, 
org.apache.airavata.gsi.ssh.util.CommonUtils.getPBSJobManager("/opt/torque/bin/"));
 
 
         // Execute command

http://git-wip-us.apache.org/repos/asf/airavata/blob/0315de48/modules/airavata-job-monitor/src/test/java/org/apache/airavata/job/monitor/QstatMonitorTest.java
----------------------------------------------------------------------
diff --git 
a/modules/airavata-job-monitor/src/test/java/org/apache/airavata/job/monitor/QstatMonitorTest.java
 
b/modules/airavata-job-monitor/src/test/java/org/apache/airavata/job/monitor/QstatMonitorTest.java
index 6b1074a..aabc0d7 100644
--- 
a/modules/airavata-job-monitor/src/test/java/org/apache/airavata/job/monitor/QstatMonitorTest.java
+++ 
b/modules/airavata-job-monitor/src/test/java/org/apache/airavata/job/monitor/QstatMonitorTest.java
@@ -28,6 +28,7 @@ import 
org.apache.airavata.gsi.ssh.api.authentication.GSIAuthenticationInfo;
 import org.apache.airavata.gsi.ssh.api.job.JobDescriptor;
 import org.apache.airavata.gsi.ssh.impl.PBSCluster;
 import 
org.apache.airavata.gsi.ssh.impl.authentication.MyProxyAuthenticationInfo;
+import org.apache.airavata.gsi.ssh.util.CommonUtils;
 import org.apache.airavata.job.monitor.exception.AiravataMonitorException;
 import org.apache.airavata.job.monitor.impl.pull.qstat.QstatMonitor;
 import org.apache.airavata.schemas.gfac.GsisshHostType;
@@ -92,7 +93,7 @@ public class QstatMonitorTest {
         ServerInfo serverInfo = new ServerInfo("ogce", 
hostDescription.getType().getHostAddress());
 
 
-        Cluster pbsCluster = new PBSCluster(serverInfo, authenticationInfo, 
"/opt/torque/bin/");
+        Cluster pbsCluster = new PBSCluster(serverInfo, authenticationInfo, 
CommonUtils.getPBSJobManager("/opt/torque/bin/"));
 
 
         // Execute command

http://git-wip-us.apache.org/repos/asf/airavata/blob/0315de48/modules/distribution/airavata-server/src/main/assembly/bin-assembly.xml
----------------------------------------------------------------------
diff --git 
a/modules/distribution/airavata-server/src/main/assembly/bin-assembly.xml 
b/modules/distribution/airavata-server/src/main/assembly/bin-assembly.xml
index 9b9f67c..8509c77 100644
--- a/modules/distribution/airavata-server/src/main/assembly/bin-assembly.xml
+++ b/modules/distribution/airavata-server/src/main/assembly/bin-assembly.xml
@@ -126,6 +126,7 @@
                 <include>provenance.sql</include>
                 <include>gfac-config.xml</include>
                 <include>PBSTemplate.xslt</include>
+                <include>SLURMTemplate.xslt</include>
                 <include>gsissh.properties</include>
             </includes>
         </fileSet>

http://git-wip-us.apache.org/repos/asf/airavata/blob/0315de48/modules/distribution/airavata-server/src/main/resources/SLURMTemplate.xslt
----------------------------------------------------------------------
diff --git 
a/modules/distribution/airavata-server/src/main/resources/SLURMTemplate.xslt 
b/modules/distribution/airavata-server/src/main/resources/SLURMTemplate.xslt
new file mode 100644
index 0000000..169dbbf
--- /dev/null
+++ b/modules/distribution/airavata-server/src/main/resources/SLURMTemplate.xslt
@@ -0,0 +1,69 @@
+<!--Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements. See the NOTICE file
+       distributed with this work for additional information regarding 
copyright ownership. The ASF licenses this file to you under
+       the Apache License, Version 2.0 (theÏ "License"); you may not use this 
file except in compliance with the License. You may
+       obtain a copy of the License at 
http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or 
agreed to
+       in writing, software distributed under the License is distributed on an 
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+       ANY ~ KIND, either express or implied. See the License for the specific 
language governing permissions and limitations under
+       the License. -->
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns:ns="http://airavata.apache.org/gsi/ssh/2012/12";>
+<xsl:output method="text" />
+<xsl:template match="/ns:JobDescriptor">
+<xsl:choose>
+<xsl:when test="ns:shellName">
+#!<xsl:value-of select="ns:shellName"/>
+    </xsl:when>
+    </xsl:choose>
+<xsl:choose>
+    <xsl:when test="ns:queueName">
+#SBATCH -p <xsl:value-of select="ns:queueName"/>
+    </xsl:when>
+    </xsl:choose>
+<xsl:choose>
+    <xsl:when test="ns:nodes">
+#SBATCH -n <xsl:value-of select="ns:nodes"/>
+    </xsl:when>
+    </xsl:choose>
+    <xsl:choose>
+    <xsl:when test="ns:mailAddress">
+#SBATCH -mail-user=<xsl:value-of select="ns:mailAddress"/>
+    </xsl:when>
+    </xsl:choose>
+    <xsl:choose>
+    <xsl:when test="ns:mailType">
+#SBATCH -mail-type=<xsl:value-of select="ns:mailType"/>
+    </xsl:when>
+    </xsl:choose>
+    <xsl:choose>
+<xsl:when test="ns:acountString">
+#SBATCH -A <xsl:value-of select="ns:acountString"/>
+    </xsl:when>
+    </xsl:choose>
+    <xsl:choose>
+    <xsl:when test="ns:maxWallTime">
+#SBATCH -t <xsl:value-of select="ns:maxWallTime"/>
+    </xsl:when>
+    </xsl:choose>
+    <xsl:choose>
+    <xsl:when test="ns:jobName">
+#SBATCH -J <xsl:value-of select="ns:jobName"/>
+    </xsl:when>
+    </xsl:choose>
+    <xsl:choose>
+    <xsl:when test="ns:standardOutFile">
+#SBATCH -o <xsl:value-of select="ns:standardOutFile"/>
+    </xsl:when>
+    </xsl:choose>
+    <xsl:choose>
+    <xsl:when test="ns:standardOutFile">
+#SBATCH -e <xsl:value-of select="ns:standardErrorFile"/>
+    </xsl:when>
+    </xsl:choose>
+cd <xsl:text>   </xsl:text><xsl:value-of 
select="ns:workingDirectory"/><xsl:text>&#xa;</xsl:text>
+    <xsl:choose><xsl:when test="ns:jobSubmitterCommand">
+<xsl:value-of select="ns:jobSubmitterCommand"/><xsl:text>   
</xsl:text></xsl:when></xsl:choose><xsl:value-of 
select="ns:executablePath"/><xsl:text>   </xsl:text>
+<xsl:for-each select="ns:inputs/ns:input">
+      <xsl:value-of select="."/><xsl:text>   </xsl:text>
+    </xsl:for-each>
+</xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/0315de48/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/cpi/GFacImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/cpi/GFacImpl.java
 
b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/cpi/GFacImpl.java
index 8988554..47dee57 100644
--- 
a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/cpi/GFacImpl.java
+++ 
b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/cpi/GFacImpl.java
@@ -375,7 +375,9 @@ public class GFacImpl implements GFac {
                 GSIAuthenticationInfo authenticationInfo
                         = new 
MyProxyAuthenticationInfo(requestData.getMyProxyUserName(), 
requestData.getMyProxyPassword(), requestData.getMyProxyServerUrl(),
                         requestData.getMyProxyPort(), 
requestData.getMyProxyLifeTime(), 
System.getProperty(Constants.TRUSTED_CERTIFICATE_SYSTEM_PROPERTY));
-                ServerInfo serverInfo = new 
ServerInfo(requestData.getMyProxyUserName(), 
registeredHost.getType().getHostAddress());
+                GsisshHostType gsisshHostType = 
(GsisshHostType)registeredHost.getType();
+                ServerInfo serverInfo = new 
ServerInfo(requestData.getMyProxyUserName(), 
registeredHost.getType().getHostAddress(),
+                        gsisshHostType.getPort());
 
                 Cluster pbsCluster = null;
                 try {
@@ -383,17 +385,17 @@ public class GFacImpl implements GFac {
                     String installedParentPath = 
((HpcApplicationDeploymentType)
                             
jobExecutionContext.getApplicationContext().getApplicationDeploymentDescription().getType()).getInstalledParentPath();
                     String jobManager = ((GsisshHostType) 
registeredHost.getType()).getJobManager();
-                    if(jobManager == null){
-                         log.error("No Job Manager is configured, so we are 
picking pbs as the default job manager");
+                    if (jobManager == null) {
+                        log.error("No Job Manager is configured, so we are 
picking pbs as the default job manager");
                         jConfig = 
CommonUtils.getPBSJobManager(installedParentPath);
-                    }else{
-                        if("pbs".equalsIgnoreCase(jobManager)){
+                    } else {
+                        if ("pbs".equalsIgnoreCase(jobManager)) {
                             jConfig = 
CommonUtils.getPBSJobManager(installedParentPath);
-                        }else if("slurm".equalsIgnoreCase(jobManager)){
+                        } else if ("slurm".equalsIgnoreCase(jobManager)) {
                             jConfig = 
CommonUtils.getSLURMJobManager(installedParentPath);
                         }
                     }
-                    pbsCluster = new PBSCluster(serverInfo, 
authenticationInfo,jConfig);
+                    pbsCluster = new PBSCluster(serverInfo, 
authenticationInfo, jConfig);
                 } catch (SSHApiException e) {
                     e.printStackTrace();  //To change body of catch statement 
use File | Settings | File Templates.
                 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/0315de48/modules/gfac/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/BigRed2Test.java
----------------------------------------------------------------------
diff --git 
a/modules/gfac/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/BigRed2Test.java
 
b/modules/gfac/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/BigRed2Test.java
index bca3b2b..feeefe2 100644
--- 
a/modules/gfac/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/BigRed2Test.java
+++ 
b/modules/gfac/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/BigRed2Test.java
@@ -36,8 +36,11 @@ import org.apache.airavata.gsi.ssh.api.Cluster;
 import org.apache.airavata.gsi.ssh.api.SSHApiException;
 import org.apache.airavata.gsi.ssh.api.ServerInfo;
 import org.apache.airavata.gsi.ssh.api.authentication.AuthenticationInfo;
+import org.apache.airavata.gsi.ssh.api.job.JobManagerConfiguration;
+import org.apache.airavata.gsi.ssh.api.job.PBSJobConfiguration;
 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.schemas.gfac.*;
 import org.junit.Before;
 import org.junit.Test;
@@ -189,8 +192,8 @@ public class BigRed2Test {
 
         Cluster pbsCluster = null;
         try {
-             pbsCluster = new PBSCluster(serverInfo, authenticationInfo,
-                     (app.getInstalledParentPath()));
+            JobManagerConfiguration pbsJobManager = 
CommonUtils.getPBSJobManager(app.getInstalledParentPath());
+             pbsCluster = new PBSCluster(serverInfo, 
authenticationInfo,pbsJobManager);
         } catch (SSHApiException e) {
             e.printStackTrace();  //To change body of catch statement use File 
| Settings | File Templates.
         }

http://git-wip-us.apache.org/repos/asf/airavata/blob/0315de48/modules/gfac/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/GSISSHProviderTest.java
----------------------------------------------------------------------
diff --git 
a/modules/gfac/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/GSISSHProviderTest.java
 
b/modules/gfac/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/GSISSHProviderTest.java
index abc41b9..1041540 100644
--- 
a/modules/gfac/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/GSISSHProviderTest.java
+++ 
b/modules/gfac/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/GSISSHProviderTest.java
@@ -39,6 +39,7 @@ import org.apache.airavata.gsi.ssh.api.ServerInfo;
 import org.apache.airavata.gsi.ssh.api.authentication.GSIAuthenticationInfo;
 import org.apache.airavata.gsi.ssh.impl.PBSCluster;
 import 
org.apache.airavata.gsi.ssh.impl.authentication.MyProxyAuthenticationInfo;
+import org.apache.airavata.gsi.ssh.util.CommonUtils;
 import org.apache.airavata.schemas.gfac.*;
 import org.junit.Before;
 import org.junit.Test;
@@ -191,7 +192,7 @@ public class GSISSHProviderTest {
         ServerInfo serverInfo = new ServerInfo("ogce", "trestles.sdsc.edu");
         Cluster pbsCluster = null;
         try {
-            pbsCluster = new PBSCluster(serverInfo, authenticationInfo, 
app.getInstalledParentPath());
+            pbsCluster = new PBSCluster(serverInfo, authenticationInfo, 
CommonUtils.getPBSJobManager(app.getInstalledParentPath()));
         } catch (SSHApiException e) {
             e.printStackTrace();  //To change body of catch statement use File 
| Settings | File Templates.
         }

Reply via email to