You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2012/11/10 12:58:08 UTC

svn commit: r1407786 - in /airavata/sandbox/grid-tools/gram-client: ./ config/ src/main/java/org/apache/airavata/jobsubmission/ src/main/java/org/apache/airavata/jobsubmission/context/ src/main/java/org/apache/airavata/jobsubmission/gram/ src/main/java...

Author: smarru
Date: Sat Nov 10 11:58:07 2012
New Revision: 1407786

URL: http://svn.apache.org/viewvc?rev=1407786&view=rev
Log:
working gram client to trestles

Added:
    airavata/sandbox/grid-tools/gram-client/README
    airavata/sandbox/grid-tools/gram-client/src/main/resources/
    airavata/sandbox/grid-tools/gram-client/src/main/resources/airavata-gram-client.properties
      - copied, changed from r1407739, airavata/sandbox/grid-tools/gram-client/config/gramclient.properties
Removed:
    airavata/sandbox/grid-tools/gram-client/config/
Modified:
    airavata/sandbox/grid-tools/gram-client/pom.xml
    airavata/sandbox/grid-tools/gram-client/run.sh
    airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/JobStatus.java
    airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/context/ApplicationContext.java
    airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/gram/ExectionContext.java
    airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/gram/GramJobSubmission.java
    airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/gram/JobSubmissionListener.java
    airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/utils/ServiceConstants.java

Added: airavata/sandbox/grid-tools/gram-client/README
URL: http://svn.apache.org/viewvc/airavata/sandbox/grid-tools/gram-client/README?rev=1407786&view=auto
==============================================================================
--- airavata/sandbox/grid-tools/gram-client/README (added)
+++ airavata/sandbox/grid-tools/gram-client/README Sat Nov 10 11:58:07 2012
@@ -0,0 +1,19 @@
+Apache Airavata GRAM Client - README
+Licensed under Apache License 2.0 - http://www.apache.org/licenses/LICENSE-2.0
+--------------------------------------------------------------------------------
+
+About
+=====
+Apache Airavata, a software framework to executing and managing computational jobs on 
+distributed computing resources including local clusters, supercomputers, national grids, 
+academic and commercial clouds. 
+
+The airavata-gram-client is a test suite to run stand alone tests to a given GRAM5 end point. 
+
+
+CA Trusted Certificates
+===========================
+* The XSEDE project maintains a repo of International Grid Certificate Authorities
+* The certificate tar file can be downloaded from https://software.xsede.org/security/xsede-certs.tar.gz
+* Once the certificates are downloaded locally, the airavata-gram-client.properties has to be configured. 
+

Modified: airavata/sandbox/grid-tools/gram-client/pom.xml
URL: http://svn.apache.org/viewvc/airavata/sandbox/grid-tools/gram-client/pom.xml?rev=1407786&r1=1407785&r2=1407786&view=diff
==============================================================================
--- airavata/sandbox/grid-tools/gram-client/pom.xml (original)
+++ airavata/sandbox/grid-tools/gram-client/pom.xml Sat Nov 10 11:58:07 2012
@@ -97,6 +97,24 @@
 					<target>1.5</target>
 				</configuration>
 			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-dependency-plugin</artifactId>
+				<executions>
+					<execution>
+						<id>copy-dependencies</id>
+						<phase>package</phase>
+						<goals>
+							<goal>copy-dependencies</goal>
+						</goals>
+						<configuration>
+							<outputDirectory>target/lib</outputDirectory>
+							<overWriteReleases>false</overWriteReleases>
+							<overWriteSnapshots>true</overWriteSnapshots>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
 		</plugins>
 	</build>
 

Modified: airavata/sandbox/grid-tools/gram-client/run.sh
URL: http://svn.apache.org/viewvc/airavata/sandbox/grid-tools/gram-client/run.sh?rev=1407786&r1=1407785&r2=1407786&view=diff
==============================================================================
--- airavata/sandbox/grid-tools/gram-client/run.sh (original)
+++ airavata/sandbox/grid-tools/gram-client/run.sh Sat Nov 10 11:58:07 2012
@@ -5,8 +5,8 @@ do
   CLASSPATH=$CLASSPATH:$i
 done
 
-CLASSPATH=$CLASSPATH:target/GRAM5-Lite-1.0.jar:./config
+CLASSPATH=$CLASSPATH:target/airavata-gram-client-0.1-SNAPSHOT.jar:./config
 
 echo $CLASSPATH
 
-$JAVA_HOME/bin/java -classpath $CLASSPATH org.apache.airavata.jobsubmission.JobSubmission $*
+java -classpath $CLASSPATH org.apache.airavata.jobsubmission.JobSubmission $*

Modified: airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/JobStatus.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/JobStatus.java?rev=1407786&r1=1407785&r2=1407786&view=diff
==============================================================================
--- airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/JobStatus.java (original)
+++ airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/JobStatus.java Sat Nov 10 11:58:07 2012
@@ -36,7 +36,7 @@ public class JobStatus {
 
             String rsl = "";
             GramJob job = new GramJob(context.getGssCredential(), rsl);
-            job.setID("https://gatekeeper.ranger.tacc.teragrid.org:50388/16073791261988702796/9536223017013632385/");
+            job.setID("https://trestles-login2.sdsc.edu:50385/16289849894573229156/9412551328091080577/");
             JobListener listener = new JobListener(job, context.getGssCredential());
             job.addListener(listener);
             System.out.println("Status 1111111" + job.getStatusAsString());

Modified: airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/context/ApplicationContext.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/context/ApplicationContext.java?rev=1407786&r1=1407785&r2=1407786&view=diff
==============================================================================
--- airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/context/ApplicationContext.java (original)
+++ airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/context/ApplicationContext.java Sat Nov 10 11:58:07 2012
@@ -37,7 +37,7 @@ public class ApplicationContext {
 	 * 
 	 */
     private static final long serialVersionUID = -2270092298283648553L;
-    public static final String GRAMCLIENT_PROPERTY = "gramclient.properties";
+    public static final String GRAMCLIENT_PROPERTY = "airavata-gram-client.properties";
     private Properties properties;
     protected GSSCredential gssCredential;
 

Modified: airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/gram/ExectionContext.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/gram/ExectionContext.java?rev=1407786&r1=1407785&r2=1407786&view=diff
==============================================================================
--- airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/gram/ExectionContext.java (original)
+++ airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/gram/ExectionContext.java Sat Nov 10 11:58:07 2012
@@ -30,6 +30,15 @@ import org.apache.airavata.jobsubmission
 
 public class ExectionContext {
 
+    private String testingHost;
+    
+    private String lonestarGRAM;
+    private String lonestarGridFTP;
+    private String rangerGRAM;
+    private String rangerGridFTP;
+    private String trestlesGRAM;
+    private String trestlesGridFTP;
+    
     private String workingDir;
     private String tmpDir;
     private String stdOut;
@@ -56,7 +65,7 @@ public class ExectionContext {
     private String gridFTPServerDest;
     private String destdataLocation;
 
-    public static final String PROPERTY_FILE = "gramclient.properties";
+    public static final String PROPERTY_FILE = "airavata-gram-client.properties";
 
     public ExectionContext() throws IOException {
         loadConfigration();
@@ -69,8 +78,17 @@ public class ExectionContext {
         Properties properties = new Properties();
         if (propertyStream != null) {
             properties.load(propertyStream);
-            String gateway = properties.getProperty(ServiceConstants.GATEWAY);
-            String exec = properties.getProperty(ServiceConstants.EXECUTION);
+            
+            String testinghost = properties.getProperty(ServiceConstants.TESTINGHOST);
+            
+            String lonestargram = properties.getProperty(ServiceConstants.LONESTARGRAMEPR);
+            String lonestargridftp = properties.getProperty(ServiceConstants.LONESTARGRIDFTPEPR);
+            String rangergram = properties.getProperty(ServiceConstants.RANGERGRAMEPR);
+            String rangergridftp = properties.getProperty(ServiceConstants.RANGERGRIDFTPEPR);
+            String trestlesgram = properties.getProperty(ServiceConstants.TRESTLESGRAMEPR);
+            String trestlesgridftp = properties.getProperty(ServiceConstants.TRESTLESGRIDFTPEPR);
+
+            String exec = properties.getProperty(ServiceConstants.EXECUTABLE);
             String args = properties.getProperty(ServiceConstants.ARGUMENTS);
             String queueName = properties.getProperty(ServiceConstants.QUEUE);
             String pn = properties.getProperty(ServiceConstants.PROJECT_NUMBER);
@@ -82,9 +100,30 @@ public class ExectionContext {
             String gridFTPSourcePath = properties.getProperty(ServiceConstants.GRIDFTPSOURCEPATH);
             String gridFTPServerDest = properties.getProperty(ServiceConstants.GRIDFTPSERVERDEST);
             String gridFTPDestPath = properties.getProperty(ServiceConstants.GRIDFTPDESTPATH);
-            if (gateway != null) {
-                this.host = gateway;
+
+            if (testinghost != null) {
+                this.testingHost = testinghost;
+            }
+            
+            if (lonestargram != null) {
+                this.lonestarGRAM = lonestargram;
+            }
+            if (lonestargridftp != null) {
+                this.lonestarGridFTP = lonestargridftp;
+            }
+            if (rangergram != null) {
+                this.rangerGRAM = rangergram;
             }
+            if (rangergridftp != null) {
+                this.rangerGridFTP= rangergridftp;
+            }
+            if (trestlesgram != null) {
+                this.trestlesGRAM = trestlesgram;
+            }
+            if (trestlesgridftp != null) {
+                this.trestlesGridFTP = trestlesgridftp;
+            }
+            
             if (exec != null) {
                 this.executable = exec;
             }
@@ -137,6 +176,62 @@ public class ExectionContext {
         }
     }
 
+    public String getTestingHost() {
+        return testingHost;
+    }
+
+    public void setTestingHost(String testingHost) {
+        this.testingHost = testingHost;
+    }
+
+    public String getLonestarGRAM() {
+        return lonestarGRAM;
+    }
+
+    public void setLonestarGRAM(String lonestarGRAM) {
+        this.lonestarGRAM = lonestarGRAM;
+    }
+
+    public String getLonestarGridFTP() {
+        return lonestarGridFTP;
+    }
+
+    public void setLonestarGridFTP(String lonestarGridFTP) {
+        this.lonestarGridFTP = lonestarGridFTP;
+    }
+
+    public String getRangerGRAM() {
+        return rangerGRAM;
+    }
+
+    public void setRangerGRAM(String rangerGRAM) {
+        this.rangerGRAM = rangerGRAM;
+    }
+
+    public String getRangerGridFTP() {
+        return rangerGridFTP;
+    }
+
+    public void setRangerGridFTP(String rangerGridFTP) {
+        this.rangerGridFTP = rangerGridFTP;
+    }
+
+    public String getTrestlesGRAM() {
+        return trestlesGRAM;
+    }
+
+    public void setTrestlesGRAM(String trestlesGRAM) {
+        this.trestlesGRAM = trestlesGRAM;
+    }
+
+    public String getTrestlesGridFTP() {
+        return trestlesGridFTP;
+    }
+
+    public void setTrestlesGridFTP(String trestlesGridFTP) {
+        this.trestlesGridFTP = trestlesGridFTP;
+    }
+
     /**
      * @return the workingDir
      */

Modified: airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/gram/GramJobSubmission.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/gram/GramJobSubmission.java?rev=1407786&r1=1407785&r2=1407786&view=diff
==============================================================================
--- airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/gram/GramJobSubmission.java (original)
+++ airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/gram/GramJobSubmission.java Sat Nov 10 11:58:07 2012
@@ -43,8 +43,15 @@ public class GramJobSubmission {
     public void executeJob(GSSCredential gssCred, ExectionContext appExecContext, StringBuffer buffer) throws Exception {
 
         try {
-            log.setLevel(org.apache.log4j.Level.INFO);
-            String contact = appExecContext.getHost();
+            log.setLevel(org.apache.log4j.Level.ALL);
+            String contact = "";
+            if (appExecContext.getTestingHost().equals("trestles")) {
+                contact = appExecContext.getTrestlesGRAM();
+            } else if (appExecContext.getTestingHost().equals("ranger")) {
+                contact = appExecContext.getRangerGRAM();
+            } else if (appExecContext.getTestingHost().equals("lonestar")) {
+                contact = appExecContext.getLonestarGRAM();
+            }
             GramAttributes jobAttr = configureRemoteJob(appExecContext);
             String rsl = jobAttr.toRSL();
             GramJob job = new GramJob(rsl);
@@ -83,30 +90,18 @@ public class GramJobSubmission {
             jobAttr.setStdout(appExecContext.getStdOut());
             jobAttr.setStderr(appExecContext.getStderr());
         }
-        // The env here contains the env of the host and the application. i.e
-        // ArrayList<String[]> nv = appExecContext.getEnv();
-        //
-        // for (int i = 0; i < nv.size(); ++i) {
-        // String[] nvPair = (String[]) nv.get(i);
-        // jobAttr.addEnvVariable(nvPair[0], nvPair[1]);
-        // }
-
-        // jobAttr.addEnvVariable(GFacConstants.INPUT_DATA_DIR,
-        // appExecContext.getInputDataDir());
-        // jobAttr.addEnvVariable(GFacConstants.OUTPUT_DATA_DIR,
-        // appExecContext.getOutputDataDir());
 
         if (appExecContext.getMaxWallTime() != null && appExecContext.getMaxWallTime() > 0) {
             log.info("Setting max wall clock time to " + appExecContext.getMaxWallTime());
             jobAttr.setMaxWallTime(appExecContext.getMaxWallTime());
             jobAttr.set("proxy_timeout", "1");
         }
-        if (appExecContext.getPcount() != null && appExecContext.getPcount() > 1) {
+        if (appExecContext.getPcount() != null && appExecContext.getPcount() >= 1) {
             log.info("Setting number of procs to " + appExecContext.getPcount());
             jobAttr.setNumProcs(appExecContext.getPcount());
         }
 
-        if (appExecContext.getHostCount() != null && appExecContext.getHostCount() > 1) {
+        if (appExecContext.getHostCount() != null && appExecContext.getHostCount() >= 1) {
             jobAttr.set("hostCount", String.valueOf(appExecContext.getHostCount()));
         }
 
@@ -140,23 +135,6 @@ public class GramJobSubmission {
             jobAttr.setJobType(GramAttributes.JOBTYPE_CONDOR);
         }
 
-        // Support to add the Additional RSL parameters
-        // RSLParmType[] rslParams = app.getRslparmArray();
-        // if (rslParams.length > 0) {
-        // for (RSLParmType rslType : rslParams) {
-        // log.info("Adding rsl param of [" + rslType.getName() + ","
-        // + rslType.getStringValue() + "]");
-        // if(rslType.getName()!= ""){
-        // jobAttr.set(rslType.getName(), rslType.getStringValue());
-        // }
-        // }
-        // }
-
-        // support urgency/SPRUCE case
-        // only add spruce rsl parameter if this host has a spruce jobmanager
-        // configured
-        // jobAttr.set("urgency", appExecContext.getLeadHeader().getUrgency());
-
         return jobAttr;
     }
 }

Modified: airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/gram/JobSubmissionListener.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/gram/JobSubmissionListener.java?rev=1407786&r1=1407785&r2=1407786&view=diff
==============================================================================
--- airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/gram/JobSubmissionListener.java (original)
+++ airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/gram/JobSubmissionListener.java Sat Nov 10 11:58:07 2012
@@ -59,7 +59,7 @@ public class JobSubmissionListener imple
             }
 
             synchronized (this) {
-                wait(60 * 1000l);
+                wait(20 * 1000l);
             }
         }
     }

Modified: airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/utils/ServiceConstants.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/utils/ServiceConstants.java?rev=1407786&r1=1407785&r2=1407786&view=diff
==============================================================================
--- airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/utils/ServiceConstants.java (original)
+++ airavata/sandbox/grid-tools/gram-client/src/main/java/org/apache/airavata/jobsubmission/utils/ServiceConstants.java Sat Nov 10 11:58:07 2012
@@ -31,8 +31,16 @@ public class ServiceConstants {
 	public static final String TRUSTED_CERTS_FILE = "trustedCertsFile";
 	public static final String HOSTCERTS_KEY_FILE = "hostcertsKeyFile";
 
-	public static final String GATEWAY = "gateway";
-	public static final String EXECUTION = "execution";
+	public static final String TESTINGHOST = "testing.host";
+	
+    public static final String LONESTARGRAMEPR = "lonestar.gram.endpoint";
+    public static final String LONESTARGRIDFTPEPR = "lonestar.gridftp.endpoint";
+    public static final String RANGERGRAMEPR = "ranger.gram.endpoint";
+    public static final String RANGERGRIDFTPEPR = "ranger.gridftp.endpoint";
+    public static final String TRESTLESGRAMEPR = "trestles.gram.endpoint";
+    public static final String TRESTLESGRIDFTPEPR = "trestles.gridftp.endpoint";
+	
+	public static final String EXECUTABLE = "executable";
 	public static final String ARGUMENTS = "arguments";
 	public static final String QUEUE = "queue";
 	public static final String PROJECT_NUMBER = "project_number";

Copied: airavata/sandbox/grid-tools/gram-client/src/main/resources/airavata-gram-client.properties (from r1407739, airavata/sandbox/grid-tools/gram-client/config/gramclient.properties)
URL: http://svn.apache.org/viewvc/airavata/sandbox/grid-tools/gram-client/src/main/resources/airavata-gram-client.properties?p2=airavata/sandbox/grid-tools/gram-client/src/main/resources/airavata-gram-client.properties&p1=airavata/sandbox/grid-tools/gram-client/config/gramclient.properties&r1=1407739&r2=1407786&rev=1407786&view=diff
==============================================================================
--- airavata/sandbox/grid-tools/gram-client/config/gramclient.properties (original)
+++ airavata/sandbox/grid-tools/gram-client/src/main/resources/airavata-gram-client.properties Sat Nov 10 11:58:07 2012
@@ -5,14 +5,27 @@ myproxyUserName=
 myproxyPasswd=
 myproxyPort=7512
 
-#gateway=login5.ranger.tacc.utexas.edu:2120/jobmanager-sge
-#gateway=gatekeeper.lonestar.tacc.teragrid.org:2120/jobmanager-lsf
-#gateway=queenbee.loni-lsu.teragrid.org:2120/jobmanager-pbs
-gateway=gatekeeper.ranger.tacc.teragrid.org:2120/jobmanager-sge
-execution=/bin/sleep
+
+testing.host=trestles
+#testing.host=ranger
+#testing.host=lonestar
+
+## TACC Lonestar         
+lonestar.gram.endpoint=gridftp1.ls4.tacc.utexas.edu:2119/jobmanager-sge
+lonestar.gridftp.endpoint=gsiftp://gridftp1.ls4.tacc.utexas.edu:2811/
+
+## TACC Ranger        
+ranger.gram.endpoint=gatekeeper.ranger.tacc.teragrid.org:2119/jobmanager-sge
+ranger.gridftp.endpoint=gsiftp://gridftp.ranger.tacc.teragrid.org:2811/
+
+## SDSC Trestles        
+trestles.gram.endpoint=trestles-login2.sdsc.edu:2119/jobmanager-pbstest2
+trestles.gridftp.endpoint=gsiftp://trestles.sdsc.edu:2811/
+
+executable=/bin/hostname
 arguments=30
 queue=normal
-project_number=
+project_number=TG-STA110014S
 jobtype=single
 maxwalltime=1
 processors=1