You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2014/04/11 22:09:42 UTC
git commit: fixing test cases and changing the property names
Repository: airavata
Updated Branches:
refs/heads/master a8d53cdaa -> a5def0963
fixing test cases and changing the property names
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/a5def096
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/a5def096
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/a5def096
Branch: refs/heads/master
Commit: a5def09630000299a3cfcf8295c88da9ab4d8af1
Parents: a8d53cd
Author: lahiru <la...@apache.org>
Authored: Fri Apr 11 16:09:35 2014 -0400
Committer: lahiru <la...@apache.org>
Committed: Fri Apr 11 16:09:35 2014 -0400
----------------------------------------------------------------------
.../main/resources/airavata-server.properties | 4 +-
.../org/apache/airavata/gfac/Constants.java | 4 +-
.../services/impl/BigRed2TestWithSSHAuth.java | 17 ++-
.../impl/GSISSHProviderTestWithMyProxyAuth.java | 8 +-
.../GSISecurityContextTestWithMyProxyAuth.java | 20 ++-
.../airavata/job/monitor/MonitorManager.java | 11 ++
.../airavata/job/monitor/QstatMonitorTest.java | 139 ------------------
.../QstatMonitorTestWithMyProxyAuth.java | 143 +++++++++++++++++++
modules/orchestrator/orchestrator-core/pom.xml | 23 +++
.../orchestrator/core/BaseOrchestratorTest.java | 4 +
.../orchestrator/core/NewOrchestratorTest.java | 83 ++++++-----
.../core/OrchestratorTestWithGSISSH.java | 96 -------------
.../core/OrchestratorTestWithMyProxyAuth.java | 113 +++++++++++++++
.../src/test/resources/PBSTemplate.xslt | 77 ++++++++++
.../registry/jpa/impl/LoggingRegistryImpl.java | 4 +
samples/distribution/pom.xml | 1 +
.../impl/DefaultSSHApiTestWithMyProxyAuth.java | 14 +-
.../gsi/ssh/impl/VanilaTestWithSSHAuth.java | 16 +--
18 files changed, 464 insertions(+), 313 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/a5def096/modules/configuration/server/src/main/resources/airavata-server.properties
----------------------------------------------------------------------
diff --git a/modules/configuration/server/src/main/resources/airavata-server.properties b/modules/configuration/server/src/main/resources/airavata-server.properties
index ef17106..22849b1 100644
--- a/modules/configuration/server/src/main/resources/airavata-server.properties
+++ b/modules/configuration/server/src/main/resources/airavata-server.properties
@@ -99,8 +99,8 @@ gfac.embedded=true
###########################################################################
myproxy.server=myproxy.teragrid.org
-myproxy.user=ogce
-myproxy.pass=
+myproxy.username=ogce
+myproxy.password=
myproxy.life=3600
# XSEDE Trusted certificates can be downloaded from https://software.xsede.org/security/xsede-certs.tar.gz
trusted.cert.location=/Users/lahirugunathilake/Downloads/certificates
http://git-wip-us.apache.org/repos/asf/airavata/blob/a5def096/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/Constants.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/Constants.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/Constants.java
index 5f1af68..bda40b1 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/Constants.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/Constants.java
@@ -57,8 +57,8 @@ public class Constants {
public static final String TRUSTED_CERTIFICATE_SYSTEM_PROPERTY = "X509_CERT_DIR";
public static final String MYPROXY_SERVER = "myproxy.server";
public static final String MYPROXY_SERVER_PORT = "myproxy.port";
- public static final String MYPROXY_USER = "myproxy.user";
- public static final String MYPROXY_PASS = "myproxy.pass";
+ public static final String MYPROXY_USER = "myproxy.username";
+ public static final String MYPROXY_PASS = "myproxy.password";
public static final String MYPROXY_LIFE = "myproxy.life";
/*
* SSH properties
http://git-wip-us.apache.org/repos/asf/airavata/blob/a5def096/modules/gfac/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/BigRed2TestWithSSHAuth.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/BigRed2TestWithSSHAuth.java b/modules/gfac/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/BigRed2TestWithSSHAuth.java
index 2fc1038..de8e1b4 100644
--- a/modules/gfac/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/BigRed2TestWithSSHAuth.java
+++ b/modules/gfac/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/BigRed2TestWithSSHAuth.java
@@ -76,20 +76,21 @@ public class BigRed2TestWithSSHAuth {
// System.setProperty("ssh.public.key.path", "/Users/lahirugunathilake/.ssh/id_dsa.pub");
// System.setProperty("ssh.working.directory", "/tmp");
+ this.hostName = "bigred2.uits.iu.edu";
this.hostName = System.getProperty("ssh.host");
- this.userName = System.getProperty("ssh.user");
+ this.userName = System.getProperty("ssh.username");
this.password = System.getProperty("ssh.password");
- this.privateKeyPath = System.getProperty("ssh.private.key.path");
- this.publicKeyPath = System.getProperty("ssh.public.key.path");
- this.passPhrase = System.getProperty("ssh.private.key.passphrase");
+ this.privateKeyPath = System.getProperty("private.ssh.key");
+ this.publicKeyPath = System.getProperty("public.ssh.key");
+ this.passPhrase = System.getProperty("ssh.keypass");
this.workingDirectory = System.getProperty("ssh.working.directory");
if (this.userName == null
|| (this.password==null && (this.publicKeyPath == null || this.privateKeyPath == null)) || this.workingDirectory == null) {
System.out.println("########### In order to test you have to either username password or private,public keys");
- System.out.println("Use -Dssh.user=xxx -Dssh.password=yyy -Dssh.private.key.passphrase=zzz " +
- "-Dssh.private.key.path -Dssh.public.key.path -Dssh.working.directory ");
+ System.out.println("Use -Dssh.username=xxx -Dssh.password=yyy -Dssh.keypass=zzz " +
+ "-Dprivate.ssh.key -Dpublic.ssh.key -Dssh.working.directory ");
}
URL resource = GramProviderTestWithMyProxyAuth.class.getClassLoader().getResource(org.apache.airavata.common.utils.Constants.GFAC_CONFIG_XML);
assert resource != null;
@@ -242,9 +243,11 @@ public class BigRed2TestWithSSHAuth {
}
@Test
- public void testGramProvider() throws GFacException {
+ public void testSSHProvider() throws GFacException {
GFacImpl gFacAPI = new GFacImpl();
gFacAPI.submitJob(jobExecutionContext);
+ org.junit.Assert.assertNotNull(jobExecutionContext.getJobDetails().getJobDescription());
+ org.junit.Assert.assertNotNull(jobExecutionContext.getJobDetails().getJobID());
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a5def096/modules/gfac/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/GSISSHProviderTestWithMyProxyAuth.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/GSISSHProviderTestWithMyProxyAuth.java b/modules/gfac/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/GSISSHProviderTestWithMyProxyAuth.java
index fbf93dd..221f6e1 100644
--- a/modules/gfac/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/GSISSHProviderTestWithMyProxyAuth.java
+++ b/modules/gfac/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/GSISSHProviderTestWithMyProxyAuth.java
@@ -72,14 +72,14 @@ public class GSISSHProviderTestWithMyProxyAuth {
// System.setProperty("basedir", "/Users/lahirugunathilake/Downloads");
// System.setProperty("gsi.working.directory", "/home/ogce");
// System.setProperty("gsi.certificate.path", "/Users/lahirugunathilake/Downloads/certificates");
- certificateLocation = System.getProperty("gsi.certificate.path");
- myProxyUserName = System.getProperty("myproxy.user");
+ certificateLocation = System.getProperty("trusted.cert.location");
+ myProxyUserName = System.getProperty("myproxy.username");
myProxyPassword = System.getProperty("myproxy.password");
workingDirectory = System.getProperty("gsi.working.directory");
if (myProxyUserName == null || myProxyPassword == null || certificateLocation == null) {
System.out.println(">>>>>> Please run tests with my proxy user name and password. " +
- "E.g :- mvn clean install -Dmyproxy.user=xxx -Dmyproxy.password=xxx -Dgsi.working.directory=/path<<<<<<<");
+ "E.g :- mvn clean install -Dmyproxy.username=xxx -Dmyproxy.password=xxx -Dgsi.working.directory=/path<<<<<<<");
throw new Exception("Need my proxy user name password to run tests.");
}
URL resource = GSISSHProviderTestWithMyProxyAuth.class.getClassLoader().getResource(org.apache.airavata.common.utils.Constants.GFAC_CONFIG_XML);
@@ -220,7 +220,7 @@ public class GSISSHProviderTestWithMyProxyAuth {
return sshSecurityContext;
}
@Test
- public void testGramProvider() throws GFacException {
+ public void testGSISSHProvider() throws GFacException {
GFacImpl gFacAPI = new GFacImpl();
gFacAPI.submitJob(jobExecutionContext);
System.out.println(jobExecutionContext.getJobDetails().getJobDescription());
http://git-wip-us.apache.org/repos/asf/airavata/blob/a5def096/modules/gfac/gfac-core/src/test/java/org/apache/airavata/gfac/context/security/GSISecurityContextTestWithMyProxyAuth.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/test/java/org/apache/airavata/gfac/context/security/GSISecurityContextTestWithMyProxyAuth.java b/modules/gfac/gfac-core/src/test/java/org/apache/airavata/gfac/context/security/GSISecurityContextTestWithMyProxyAuth.java
index 9789756..9a24931 100644
--- a/modules/gfac/gfac-core/src/test/java/org/apache/airavata/gfac/context/security/GSISecurityContextTestWithMyProxyAuth.java
+++ b/modules/gfac/gfac-core/src/test/java/org/apache/airavata/gfac/context/security/GSISecurityContextTestWithMyProxyAuth.java
@@ -35,13 +35,6 @@ import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
-import java.io.File;
-
-/**
- * User: AmilaJ (amilaj@apache.org)
- * Date: 7/12/13
- * Time: 12:58 PM
- */
public class GSISecurityContextTestWithMyProxyAuth extends DatabaseTestCases {
@@ -54,13 +47,18 @@ public class GSISecurityContextTestWithMyProxyAuth extends DatabaseTestCases {
public static void setUpClass() throws Exception {
AiravataUtils.setExecutionAsServer();
- System.setProperty("myproxy.user", "ogce");
- System.setProperty("myproxy.password", "");
- userName = System.getProperty("myproxy.user");
+// System.setProperty("myproxy.username", "ogce");
+// System.setProperty("myproxy.password", "");
+ userName = System.getProperty("myproxy.username");
password = System.getProperty("myproxy.password");
+ System.setProperty("myproxy.server", "myproxy.teragrid.org");
+ System.setProperty("myproxy.life", "3600");
+ System.setProperty("credential.store.keystore.url", "../configuration/server/src/main/resources/airavata.jks");
+ System.setProperty("credential.store.keystore.alias", "airavata");
+ System.setProperty("credential.store.keystore.password", "airavata");
if (userName == null || password == null || userName.trim().equals("") || password.trim().equals("")) {
- log.error("===== Please set myproxy.user and myproxy.password system properties. =======");
+ log.error("===== Please set myproxy.username and myproxy.password system properties. =======");
Assert.fail("Please set myproxy.user and myproxy.password system properties.");
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a5def096/modules/gfac/gfac-monitor/src/main/java/org/apache/airavata/job/monitor/MonitorManager.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/java/org/apache/airavata/job/monitor/MonitorManager.java b/modules/gfac/gfac-monitor/src/main/java/org/apache/airavata/job/monitor/MonitorManager.java
index 272053c..45b7230 100644
--- a/modules/gfac/gfac-monitor/src/main/java/org/apache/airavata/job/monitor/MonitorManager.java
+++ b/modules/gfac/gfac-monitor/src/main/java/org/apache/airavata/job/monitor/MonitorManager.java
@@ -32,6 +32,7 @@ import org.apache.airavata.job.monitor.impl.pull.qstat.QstatMonitor;
import org.apache.airavata.job.monitor.impl.push.amqp.AMQPMonitor;
import org.apache.airavata.job.monitor.util.CommonUtils;
import org.apache.airavata.persistance.registry.jpa.impl.RegistryImpl;
+import org.apache.airavata.registry.cpi.Registry;
import org.apache.airavata.schemas.gfac.GlobusHostType;
import org.apache.airavata.schemas.gfac.GsisshHostType;
import org.apache.airavata.schemas.gfac.SSHHostType;
@@ -83,6 +84,16 @@ public class MonitorManager {
registerListener(new AiravataJobStatusUpdator(new RegistryImpl(), getFinishQueue()));
}
+ public MonitorManager(Registry registry) {
+ pullMonitors = new ArrayList<PullMonitor>();
+ pushMonitors = new ArrayList<PushMonitor>();
+ pullQueue = new LinkedBlockingQueue<UserMonitorData>();
+ pushQueue = new LinkedBlockingQueue<MonitorID>();
+ finishQueue = new LinkedBlockingQueue<MonitorID>();
+ localJobQueue = new LinkedBlockingQueue<MonitorID>();
+ monitorPublisher = new MonitorPublisher(new EventBus());
+ registerListener(new AiravataJobStatusUpdator(registry, getFinishQueue()));
+ }
/**
* This can be use to add an empty AMQPMonitor object to the monitor system
* and tihs method will take care of the initialization
http://git-wip-us.apache.org/repos/asf/airavata/blob/a5def096/modules/gfac/gfac-monitor/src/test/java/org/apache/airavata/job/monitor/QstatMonitorTest.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/test/java/org/apache/airavata/job/monitor/QstatMonitorTest.java b/modules/gfac/gfac-monitor/src/test/java/org/apache/airavata/job/monitor/QstatMonitorTest.java
deleted file mode 100644
index 68460d4..0000000
--- a/modules/gfac/gfac-monitor/src/test/java/org/apache/airavata/job/monitor/QstatMonitorTest.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- *
- * 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.
- *
-*/
-package org.apache.airavata.job.monitor;
-
-import org.apache.airavata.commons.gfac.type.HostDescription;
-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.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;
-import org.junit.Before;
-import org.junit.Test;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-public class QstatMonitorTest {
- private MonitorManager monitorManager;
- private String myProxyUserName;
- private String myProxyPassword;
- private String certificateLocation;
- private String pbsFilePath;
- private String workingDirectory;
- private HostDescription hostDescription;
-
- @Before
- public void setUp() throws Exception {
- System.setProperty("myproxy.user", "ogce");
- System.setProperty("myproxy.password", "");
- System.setProperty("basedir", "/Users/lahirugunathilake/work/airavata/sandbox/gsissh");
- System.setProperty("gsi.working.directory", "/home/ogce");
- myProxyUserName = System.getProperty("myproxy.user");
- myProxyPassword = System.getProperty("myproxy.password");
- workingDirectory = System.getProperty("gsi.working.directory");
- String pomDirectory = System.getProperty("basedir");
- certificateLocation = "/Users/lahirugunathilake/Downloads/certificates";
- if (myProxyUserName == null || myProxyPassword == null || workingDirectory == null) {
- System.out.println(">>>>>> Please run tests with my proxy user name and password. " +
- "E.g :- mvn clean install -Dmyproxy.user=xxx -Dmyproxy.password=xxx -Dgsi.working.directory=/path<<<<<<<");
- throw new Exception("Need my proxy user name password to run tests.");
- }
-
- monitorManager = new MonitorManager();
- QstatMonitor qstatMonitor = new
- QstatMonitor(monitorManager.getPullQueue(), monitorManager.getMonitorPublisher());
- try {
- monitorManager.addPullMonitor(qstatMonitor);
- monitorManager.launchMonitor();
- } catch (AiravataMonitorException e) {
- e.printStackTrace();
- }
-
- hostDescription = new HostDescription(GsisshHostType.type);
- hostDescription.getType().setHostAddress("trestles.sdsc.edu");
- hostDescription.getType().setHostName("gsissh-gordon");
- }
-
- @Test
- public void testQstatMonitor() throws SSHApiException {
- /* now have to submit a job to some machine and add that job to the queue */
- //Create authentication
- GSIAuthenticationInfo authenticationInfo
- = new MyProxyAuthenticationInfo(myProxyUserName, myProxyPassword, "myproxy.teragrid.org",
- 7512, 17280000, certificateLocation);
-
- // Server info
- ServerInfo serverInfo = new ServerInfo("ogce", hostDescription.getType().getHostAddress());
-
-
- Cluster pbsCluster = new PBSCluster(serverInfo, authenticationInfo, CommonUtils.getPBSJobManager("/opt/torque/bin/"));
-
-
- // Execute command
- System.out.println("Target PBS file path: " + workingDirectory);
- // constructing the job object
- JobDescriptor jobDescriptor = new JobDescriptor();
- jobDescriptor.setWorkingDirectory(workingDirectory);
- jobDescriptor.setShellName("/bin/bash");
- jobDescriptor.setJobName("GSI_SSH_SLEEP_JOB");
- jobDescriptor.setExecutablePath("/bin/echo");
- jobDescriptor.setAllEnvExport(true);
- jobDescriptor.setMailOptions("n");
- jobDescriptor.setStandardOutFile(workingDirectory + File.separator + "application.out");
- jobDescriptor.setStandardErrorFile(workingDirectory + File.separator + "application.err");
- jobDescriptor.setNodes(1);
- jobDescriptor.setProcessesPerNode(1);
- jobDescriptor.setQueueName("normal");
- jobDescriptor.setMaxWallTime("60");
- jobDescriptor.setAcountString("sds128");
- List<String> inputs = new ArrayList<String>();
- jobDescriptor.setOwner("ogce");
- inputs.add("Hello World");
- jobDescriptor.setInputValues(inputs);
- //finished construction of job object
- System.out.println(jobDescriptor.toXML());
- for (int i = 0; i < 1; i++) {
- String jobID = pbsCluster.submitBatchJob(jobDescriptor);
- MonitorID monitorID = new MonitorID(hostDescription, jobID,null,null, "ogce");
- monitorID.setAuthenticationInfo(authenticationInfo);
- try {
- monitorManager.addAJobToMonitor(monitorID);
- } catch (AiravataMonitorException e) {
- e.printStackTrace();
- } catch (InterruptedException e) {
- e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
- }
- }
- try {
- Thread.sleep(10000000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a5def096/modules/gfac/gfac-monitor/src/test/java/org/apache/airavata/job/monitor/QstatMonitorTestWithMyProxyAuth.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/test/java/org/apache/airavata/job/monitor/QstatMonitorTestWithMyProxyAuth.java b/modules/gfac/gfac-monitor/src/test/java/org/apache/airavata/job/monitor/QstatMonitorTestWithMyProxyAuth.java
new file mode 100644
index 0000000..33ed964
--- /dev/null
+++ b/modules/gfac/gfac-monitor/src/test/java/org/apache/airavata/job/monitor/QstatMonitorTestWithMyProxyAuth.java
@@ -0,0 +1,143 @@
+/*
+ *
+ * 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.
+ *
+*/
+package org.apache.airavata.job.monitor;
+
+import org.apache.airavata.commons.gfac.type.HostDescription;
+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.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.persistance.registry.jpa.impl.RegistryFactory;
+import org.apache.airavata.schemas.gfac.GsisshHostType;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+public class QstatMonitorTestWithMyProxyAuth {
+ private MonitorManager monitorManager;
+ private String myProxyUserName;
+ private String myProxyPassword;
+ private String certificateLocation;
+ private String pbsFilePath;
+ private String workingDirectory;
+ private HostDescription hostDescription;
+
+ @Before
+ public void setUp() throws Exception {
+// System.setProperty("myproxy.username", "ogce");
+// System.setProperty("myproxy.password", "");
+// System.setProperty("basedir", "/Users/lahirugunathilake/work/airavata/sandbox/gsissh");
+// System.setProperty("gsi.working.directory", "/home/ogce");
+// System.setProperty("trusted.cert.location", "/Users/lahirugunathilake/Downloads/certificates");
+ myProxyUserName = System.getProperty("myproxy.username");
+ myProxyPassword = System.getProperty("myproxy.password");
+ workingDirectory = System.getProperty("gsi.working.directory");
+ certificateLocation = System.getProperty("trusted.cert.location");
+ if (myProxyUserName == null || myProxyPassword == null || workingDirectory == null) {
+ System.out.println(">>>>>> Please run tests with my proxy user name and password. " +
+ "E.g :- mvn clean install -Dmyproxy.username=xxx -Dmyproxy.password=xxx -Dgsi.working.directory=/path<<<<<<<");
+ throw new Exception("Need my proxy user name password to run tests.");
+ }
+
+ monitorManager = new MonitorManager(RegistryFactory.getLoggingRegistry());
+ QstatMonitor qstatMonitor = new
+ QstatMonitor(monitorManager.getPullQueue(), monitorManager.getMonitorPublisher());
+ try {
+ monitorManager.addPullMonitor(qstatMonitor);
+ monitorManager.launchMonitor();
+ } catch (AiravataMonitorException e) {
+ e.printStackTrace();
+ }
+
+ hostDescription = new HostDescription(GsisshHostType.type);
+ hostDescription.getType().setHostAddress("trestles.sdsc.edu");
+ hostDescription.getType().setHostName("gsissh-gordon");
+ ((GsisshHostType) hostDescription.getType()).setPort(22);
+ ((GsisshHostType)hostDescription.getType()).setInstalledPath("/opt/torque/bin/");
+ }
+
+ @Test
+ public void testQstatMonitor() throws SSHApiException {
+ /* now have to submit a job to some machine and add that job to the queue */
+ //Create authentication
+ GSIAuthenticationInfo authenticationInfo
+ = new MyProxyAuthenticationInfo(myProxyUserName, myProxyPassword, "myproxy.teragrid.org",
+ 7512, 17280000, certificateLocation);
+
+ // Server info
+ ServerInfo serverInfo = new ServerInfo("ogce", hostDescription.getType().getHostAddress());
+
+
+ Cluster pbsCluster = new PBSCluster(serverInfo, authenticationInfo, CommonUtils.getPBSJobManager("/opt/torque/bin/"));
+
+
+ // Execute command
+ System.out.println("Target PBS file path: " + workingDirectory);
+ // constructing the job object
+ JobDescriptor jobDescriptor = new JobDescriptor();
+ jobDescriptor.setWorkingDirectory(workingDirectory);
+ jobDescriptor.setShellName("/bin/bash");
+ jobDescriptor.setJobName("GSI_SSH_SLEEP_JOB");
+ jobDescriptor.setExecutablePath("/bin/echo");
+ jobDescriptor.setAllEnvExport(true);
+ jobDescriptor.setMailOptions("n");
+ jobDescriptor.setStandardOutFile(workingDirectory + File.separator + "application.out");
+ jobDescriptor.setStandardErrorFile(workingDirectory + File.separator + "application.err");
+ jobDescriptor.setNodes(1);
+ jobDescriptor.setProcessesPerNode(1);
+ jobDescriptor.setQueueName("normal");
+ jobDescriptor.setMaxWallTime("60");
+ jobDescriptor.setAcountString("sds128");
+ List<String> inputs = new ArrayList<String>();
+ jobDescriptor.setOwner("ogce");
+ inputs.add("Hello World");
+ jobDescriptor.setInputValues(inputs);
+ //finished construction of job object
+ System.out.println(jobDescriptor.toXML());
+ for (int i = 0; i < 1; i++) {
+ String jobID = pbsCluster.submitBatchJob(jobDescriptor);
+ System.out.println("Job submitted successfully, Job ID: " + jobID);
+ MonitorID monitorID = new MonitorID(hostDescription, jobID,null,null, "ogce");
+ monitorID.setAuthenticationInfo(authenticationInfo);
+ try {
+ monitorManager.addAJobToMonitor(monitorID);
+ } catch (AiravataMonitorException e) {
+ e.printStackTrace();
+ } catch (InterruptedException e) {
+ e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ }
+ }
+ try {
+ Thread.sleep(10000000);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a5def096/modules/orchestrator/orchestrator-core/pom.xml
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/pom.xml b/modules/orchestrator/orchestrator-core/pom.xml
index d12f24e..e718c93 100644
--- a/modules/orchestrator/orchestrator-core/pom.xml
+++ b/modules/orchestrator/orchestrator-core/pom.xml
@@ -75,6 +75,24 @@ the License. -->
<artifactId>gfac-monitor</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
+ <version>${derby.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derbyclient</artifactId>
+ <version>${derby.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derbynet</artifactId>
+ <version>${derby.version}</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
@@ -86,6 +104,11 @@ the License. -->
<version>6.1.1</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-server-configuration</artifactId>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.apache.airavata</groupId>
<artifactId>airavata-server-configuration</artifactId>
http://git-wip-us.apache.org/repos/asf/airavata/blob/a5def096/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/BaseOrchestratorTest.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/BaseOrchestratorTest.java b/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/BaseOrchestratorTest.java
index 0d5447c..f880f95 100644
--- a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/BaseOrchestratorTest.java
+++ b/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/BaseOrchestratorTest.java
@@ -91,4 +91,8 @@ public class BaseOrchestratorTest {
public void setDocumentCreator(DocumentCreator documentCreator) {
this.documentCreator = documentCreator;
}
+
+ private void settingServerProperties(){
+
+ }
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a5def096/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/NewOrchestratorTest.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/NewOrchestratorTest.java b/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/NewOrchestratorTest.java
index 522e3b2..e161da6 100644
--- a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/NewOrchestratorTest.java
+++ b/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/NewOrchestratorTest.java
@@ -27,24 +27,32 @@ import org.apache.airavata.client.api.exception.AiravataAPIInvocationException;
import org.apache.airavata.common.exception.ApplicationSettingsException;
import org.apache.airavata.common.utils.AiravataUtils;
import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.model.util.ExperimentModelUtil;
+import org.apache.airavata.model.workspace.experiment.*;
import org.apache.airavata.orchestrator.cpi.Orchestrator;
import org.apache.airavata.orchestrator.cpi.impl.SimpleOrchestratorImpl;
+import org.apache.airavata.persistance.registry.jpa.impl.RegistryFactory;
import org.apache.airavata.persistance.registry.jpa.impl.RegistryImpl;
import org.apache.airavata.registry.cpi.ChildDataType;
import org.apache.airavata.registry.cpi.ParentDataType;
import org.apache.airavata.registry.cpi.Registry;
+import org.apache.airavata.schemas.gfac.DataType;
+import org.apache.thrift.TException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
public class NewOrchestratorTest extends BaseOrchestratorTest {
private static final Logger log = LoggerFactory.getLogger(NewOrchestratorTest.class);
private Orchestrator orchestrator;
private String experimentID;
+ private List<TaskDetails> tasks;
@BeforeTest
public void setUp() throws Exception {
@@ -52,51 +60,52 @@ public class NewOrchestratorTest extends BaseOrchestratorTest {
super.setUp();
orchestrator = new SimpleOrchestratorImpl();
createJobRequestWithDocuments(getAiravataAPI());
+ // System.setProperty("myproxy.user", "ogce");
+// System.setProperty("myproxy.pass", "");
+// System.setProperty("trusted.cert.location", "/Users/lahirugunathilake/Downloads/certificates");
+ //this is the same propertySystem.getProperty("myproxy.user");
+// System.setProperty("myproxy.pass",System.getProperty("myproxy.password"));
+// System.setProperty("trusted.cert.location",System.getProperty("gsi.working.directory"));
}
private void createJobRequestWithDocuments(AiravataAPI airavataAPI) throws Exception{
// creating host description
+ List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
+ DataObjectType input = new DataObjectType();
+ input.setKey("echo_input");
+ input.setType(DataType.STRING.toString());
+ input.setValue("echo_output=Hello World");
+ exInputs.add(input);
- //Using new airavata-api methods to store experiment metadata
-// BasicMetadata basicMetadata = new BasicMetadata();
-// basicMetadata.setExperimentName("test123");
-// basicMetadata.setUserName("admin");
-// basicMetadata.setUserNameIsSet(true);
-// basicMetadata.setProjectID("default");
-//
-// AdvancedInputDataHandling advancedInputDataHandling = new AdvancedInputDataHandling();
-// AdvancedOutputDataHandling advancedOutputDataHandling = new AdvancedOutputDataHandling();
-// ComputationalResourceScheduling computationalResourceScheduling = new ComputationalResourceScheduling();
-// QualityOfServiceParams qualityOfServiceParams = new QualityOfServiceParams();
-// ConfigurationData configurationData = new ConfigurationData();
-//
-//
-// HashMap<String, String> exInputs = new HashMap<String, String>();
-// exInputs.put("echo_input", "echo_output=hello");
-//
-// configurationData.setExperimentInputs(exInputs);
-// configurationData.setAdvanceInputDataHandling(advancedInputDataHandling);
-// configurationData.setAdvanceOutputDataHandling(advancedOutputDataHandling);
-// configurationData.setComputationalResourceScheduling(computationalResourceScheduling);
-// configurationData.setQosParams(qualityOfServiceParams);
-// configurationData.setApplicationId("Echo");
-//
-// Registry registry = new RegistryImpl();
-// experimentID = (String) registry.add(ParentDataType.EXPERIMENT, basicMetadata);
-// registry.add(ChildDataType.EXPERIMENT_CONFIGURATION_DATA, configurationData, experimentID);
- }
+ List<DataObjectType> exOut = new ArrayList<DataObjectType>();
+ DataObjectType output = new DataObjectType();
+ output.setKey("echo_output");
+ output.setType(DataType.STRING.toString());
+ output.setValue("");
+ exOut.add(output);
- @Test
- public void noDescriptorTest() throws Exception {
+ Experiment simpleExperiment =
+ ExperimentModelUtil.createSimpleExperiment("project1", "admin", "echoExperiment", "SimpleEcho0", "SimpleEcho0", exInputs);
+ simpleExperiment.setExperimentOutputs(exOut);
-// boolean b = orchestrator.launchExperiment(experimentID);
+ ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling("localhost", 1, 1, 1, "normal", 0, 0, 1, "sds128");
+ scheduling.setResourceHostId("localhost");
+ UserConfigurationData userConfigurationData = new UserConfigurationData();
+ userConfigurationData.setAiravataAutoSchedule(false);
+ userConfigurationData.setOverrideManualScheduledParams(false);
+ userConfigurationData.setComputationalResourceScheduling(scheduling);
+ simpleExperiment.setUserConfigurationData(userConfigurationData);
-// if (b) {
-// This means orchestrator successfully accepted the job
-// Assert.assertTrue(true);
-// } else {
-// Assert.assertFalse(true);
-// }
+ Registry defaultRegistry = RegistryFactory.getDefaultRegistry();
+ experimentID = (String)defaultRegistry.add(ParentDataType.EXPERIMENT, simpleExperiment);
+ tasks = orchestrator.createTasks(experimentID);
+ }
+
+ @Test
+ public void localHostTest() throws Exception {
+ for(TaskDetails details:tasks) {
+ orchestrator.launchExperiment(experimentID, details.getTaskID());
+ }
}
private AiravataAPI getAiravataAPI() {
http://git-wip-us.apache.org/repos/asf/airavata/blob/a5def096/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/OrchestratorTestWithGSISSH.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/OrchestratorTestWithGSISSH.java b/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/OrchestratorTestWithGSISSH.java
deleted file mode 100644
index 5042062..0000000
--- a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/OrchestratorTestWithGSISSH.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- *
- * 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.
- *
-*/
-package org.apache.airavata.orchestrator.core;
-
-import junit.framework.Assert;
-
-import org.apache.airavata.client.api.AiravataAPI;
-import org.apache.airavata.common.utils.AiravataUtils;
-import org.apache.airavata.orchestrator.cpi.Orchestrator;
-import org.apache.airavata.orchestrator.cpi.impl.SimpleOrchestratorImpl;
-import org.apache.airavata.persistance.registry.jpa.impl.RegistryImpl;
-import org.apache.airavata.registry.cpi.ChildDataType;
-import org.apache.airavata.registry.cpi.ParentDataType;
-import org.apache.airavata.registry.cpi.Registry;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.testng.annotations.BeforeTest;
-import org.testng.annotations.Test;
-
-import java.util.HashMap;
-
-public class OrchestratorTestWithGSISSH extends BaseOrchestratorTest {
- private static final Logger log = LoggerFactory.getLogger(NewOrchestratorTest.class);
-
- private Orchestrator orchestrator;
-
- private String experimentID;
-
- @BeforeTest
- public void setUp() throws Exception {
- AiravataUtils.setExecutionAsServer();
- super.setUp();
- orchestrator = new SimpleOrchestratorImpl();
- createJobRequestWithDocuments();
- }
-
- private void createJobRequestWithDocuments() throws Exception{
- //Using new airavata-api methods to store experiment metadata
-// BasicMetadata basicMetadata = new BasicMetadata();
-// basicMetadata.setExperimentName("test-trestles-gsissh");
-// basicMetadata.setUserName("admin");
-// basicMetadata.setUserNameIsSet(true);
-// basicMetadata.setProjectID("default");
-//
-// AdvancedInputDataHandling advancedInputDataHandling = new AdvancedInputDataHandling();
-// AdvancedOutputDataHandling advancedOutputDataHandling = new AdvancedOutputDataHandling();
-// ComputationalResourceScheduling computationalResourceScheduling = new ComputationalResourceScheduling();
-// QualityOfServiceParams qualityOfServiceParams = new QualityOfServiceParams();
-// ConfigurationData configurationData = new ConfigurationData();
-//
-// HashMap<String, String> exInputs = new HashMap<String, String>();
-// exInputs.put("echo_input", "echo_output=hello");
-//
-// configurationData.setExperimentInputs(exInputs);
-// configurationData.setAdvanceInputDataHandling(advancedInputDataHandling);
-// configurationData.setAdvanceOutputDataHandling(advancedOutputDataHandling);
-// configurationData.setComputationalResourceScheduling(computationalResourceScheduling);
-// configurationData.setQosParams(qualityOfServiceParams);
-// configurationData.setApplicationId("SimpleEcho2");
-//
-// Registry registry = new RegistryImpl();
-// experimentID = (String) registry.add(ParentDataType.EXPERIMENT, basicMetadata);
-// registry.add(ChildDataType.EXPERIMENT_CONFIGURATION_DATA, configurationData, experimentID);
- }
-
- @Test
- public void noDescriptorTest() throws Exception {
-// boolean b = orchestrator.launchExperiment(experimentID);
-// if (b) {
-// This means orchestrator successfully accepted the job
-// Assert.assertTrue(true);
-// } else {
-// Assert.assertFalse(true);
-// }
- }
-
-
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a5def096/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/OrchestratorTestWithMyProxyAuth.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/OrchestratorTestWithMyProxyAuth.java b/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/OrchestratorTestWithMyProxyAuth.java
new file mode 100644
index 0000000..9fafe98
--- /dev/null
+++ b/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/OrchestratorTestWithMyProxyAuth.java
@@ -0,0 +1,113 @@
+/*
+ *
+ * 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.
+ *
+*/
+package org.apache.airavata.orchestrator.core;
+
+import junit.framework.Assert;
+
+import org.apache.airavata.client.api.AiravataAPI;
+import org.apache.airavata.common.utils.AiravataUtils;
+import org.apache.airavata.common.utils.ApplicationSettings;
+import org.apache.airavata.model.util.ExperimentModelUtil;
+import org.apache.airavata.model.workspace.experiment.*;
+import org.apache.airavata.orchestrator.cpi.Orchestrator;
+import org.apache.airavata.orchestrator.cpi.impl.SimpleOrchestratorImpl;
+import org.apache.airavata.persistance.registry.jpa.impl.RegistryFactory;
+import org.apache.airavata.persistance.registry.jpa.impl.RegistryImpl;
+import org.apache.airavata.persistance.registry.jpa.model.TaskDetail;
+import org.apache.airavata.registry.cpi.ChildDataType;
+import org.apache.airavata.registry.cpi.ParentDataType;
+import org.apache.airavata.registry.cpi.Registry;
+import org.apache.airavata.schemas.gfac.DataType;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.testng.annotations.BeforeTest;
+import org.testng.annotations.Test;
+
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+public class OrchestratorTestWithMyProxyAuth extends BaseOrchestratorTest {
+ private static final Logger log = LoggerFactory.getLogger(NewOrchestratorTest.class);
+
+ private Orchestrator orchestrator;
+
+ private String experimentID;
+
+ private List<TaskDetails> tasks;
+
+ @BeforeTest
+ public void setUp() throws Exception {
+ AiravataUtils.setExecutionAsServer();
+ super.setUp();
+ orchestrator = new SimpleOrchestratorImpl();
+ createJobRequestWithDocuments();
+// System.setProperty("myproxy.user", "ogce");
+// System.setProperty("myproxy.pass", "");
+// System.setProperty("trusted.cert.location", "/Users/lahirugunathilake/Downloads/certificates");
+ // this is the same propertySystem.getProperty("myproxy.user");
+// System.setProperty("myproxy.pass",System.getProperty("myproxy.password"));
+// System.setProperty("trusted.cert.location",System.getProperty("gsi.working.directory"));
+ }
+
+ private void createJobRequestWithDocuments() throws Exception{
+ List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
+ DataObjectType input = new DataObjectType();
+ input.setKey("echo_input");
+ input.setType(DataType.STRING.toString());
+ input.setValue("echo_output=Hello World");
+ exInputs.add(input);
+
+ List<DataObjectType> exOut = new ArrayList<DataObjectType>();
+ DataObjectType output = new DataObjectType();
+ output.setKey("echo_output");
+ output.setType(DataType.STRING.toString());
+ output.setValue("");
+ exOut.add(output);
+
+ 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");
+ UserConfigurationData userConfigurationData = new UserConfigurationData();
+ userConfigurationData.setAiravataAutoSchedule(false);
+ userConfigurationData.setOverrideManualScheduledParams(false);
+ userConfigurationData.setComputationalResourceScheduling(scheduling);
+ simpleExperiment.setUserConfigurationData(userConfigurationData);
+
+ Registry registry = RegistryFactory.getDefaultRegistry();
+ experimentID = (String) registry.add(ParentDataType.EXPERIMENT, simpleExperiment);
+ tasks = orchestrator.createTasks(experimentID);
+
+ }
+
+ @Test
+ public void noDescriptorTest() throws Exception {
+ for(TaskDetails taskDetail:tasks) {
+ orchestrator.launchExperiment(experimentID, taskDetail.getTaskID());
+ }
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a5def096/modules/orchestrator/orchestrator-core/src/test/resources/PBSTemplate.xslt
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/test/resources/PBSTemplate.xslt b/modules/orchestrator/orchestrator-core/src/test/resources/PBSTemplate.xslt
new file mode 100644
index 0000000..e4398e0
--- /dev/null
+++ b/modules/orchestrator/orchestrator-core/src/test/resources/PBSTemplate.xslt
@@ -0,0 +1,77 @@
+<!--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">
+#! /bin/sh
+# <xsl:choose>
+ <xsl:when test="ns:shellName">
+##PBS -S <xsl:value-of select="ns:shellName"/>
+ </xsl:when></xsl:choose>
+ <xsl:choose>
+ <xsl:when test="ns:queueName">
+#PBS -q <xsl:value-of select="ns:queueName"/>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="ns:mailOptions">
+#PBS -m <xsl:value-of select="ns:mailOptions"/>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:choose>
+<xsl:when test="ns:acountString">
+#PBS -A <xsl:value-of select="ns:acountString"/>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="ns:maxWallTime">
+#PBS -l walltime=<xsl:value-of select="ns:maxWallTime"/>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="ns:jobName">
+#PBS -N <xsl:value-of select="ns:jobName"/>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="ns:standardOutFile">
+#PBS -o <xsl:value-of select="ns:standardOutFile"/>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="ns:standardOutFile">
+#PBS -e <xsl:value-of select="ns:standardErrorFile"/>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="(ns:nodes) and (ns:processesPerNode)">
+#PBS -l nodes=<xsl:value-of select="ns:nodes"/>:ppn=<xsl:value-of select="ns:processesPerNode"/>
+<xsl:text>
</xsl:text>
+ </xsl:when>
+ </xsl:choose>
+<xsl:for-each select="ns:exports/ns:name">
+<xsl:value-of select="."/>=<xsl:value-of select="./@value"/><xsl:text>
</xsl:text>
+export<xsl:text> </xsl:text><xsl:value-of select="."/>
+<xsl:text>
</xsl:text>
+</xsl:for-each>
+<xsl:for-each select="ns:preJobCommands/ns:command">
+ <xsl:value-of select="."/><xsl:text> </xsl:text>
+ </xsl:for-each>
+cd <xsl:text> </xsl:text><xsl:value-of select="ns:workingDirectory"/><xsl:text>
</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:for-each select="ns:postJobCommands/ns:command">
+ <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/a5def096/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/LoggingRegistryImpl.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/LoggingRegistryImpl.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/LoggingRegistryImpl.java
index 49532d9..1c6f923 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/LoggingRegistryImpl.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/LoggingRegistryImpl.java
@@ -21,10 +21,14 @@
package org.apache.airavata.persistance.registry.jpa.impl;
import org.apache.airavata.registry.cpi.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.util.List;
public class LoggingRegistryImpl implements Registry {
+ private final static Logger logger = LoggerFactory.getLogger(LoggingRegistryImpl.class);
+
public Object add(ChildDataType dataType, Object newObjectToAdd, Object dependentIdentifiers) throws RegistryException {
return null; //To change body of implemented methods use File | Settings | File Templates.
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a5def096/samples/distribution/pom.xml
----------------------------------------------------------------------
diff --git a/samples/distribution/pom.xml b/samples/distribution/pom.xml
index 8f1b2fc..85f9049 100644
--- a/samples/distribution/pom.xml
+++ b/samples/distribution/pom.xml
@@ -93,6 +93,7 @@
<artifactId>airavata-simple-math-service</artifactId>
<version>${project.version}</version>
</dependency>
+
</dependencies>
<properties>
<archieve.name>apache-airavata-samples</archieve.name>
http://git-wip-us.apache.org/repos/asf/airavata/blob/a5def096/tools/gsissh/src/test/java/org/apache/airavata/gsi/ssh/impl/DefaultSSHApiTestWithMyProxyAuth.java
----------------------------------------------------------------------
diff --git a/tools/gsissh/src/test/java/org/apache/airavata/gsi/ssh/impl/DefaultSSHApiTestWithMyProxyAuth.java b/tools/gsissh/src/test/java/org/apache/airavata/gsi/ssh/impl/DefaultSSHApiTestWithMyProxyAuth.java
index ae3f4d4..1e99b9d 100644
--- a/tools/gsissh/src/test/java/org/apache/airavata/gsi/ssh/impl/DefaultSSHApiTestWithMyProxyAuth.java
+++ b/tools/gsissh/src/test/java/org/apache/airavata/gsi/ssh/impl/DefaultSSHApiTestWithMyProxyAuth.java
@@ -53,19 +53,19 @@ public class DefaultSSHApiTestWithMyProxyAuth {
@BeforeTest
public void setUp() throws Exception {
System.out.println("Test case name " + this.getClass().getName());
- System.setProperty("myproxy.user", "ogce");
- System.setProperty("myproxy.password", "0Gce3098");
- System.setProperty("gsi.certificate.path", "/Users/lahirugunathilake/Downloads/certificates");
- System.setProperty("gsi.working.directory", "/home/ogce");
+// System.setProperty("myproxy.username", "ogce");
+// System.setProperty("myproxy.password", "");
+// System.setProperty("trusted.cert.location", "/Users/lahirugunathilake/Downloads/certificates");
+// System.setProperty("gsi.working.directory", "/home/ogce");
- certificateLocation = System.getProperty("gsi.certificate.path");
- myProxyUserName = System.getProperty("myproxy.user");
+ certificateLocation = System.getProperty("trusted.cert.location");
+ myProxyUserName = System.getProperty("myproxy.username");
myProxyPassword = System.getProperty("myproxy.password");
workingDirectory = System.getProperty("gsi.working.directory");
if (myProxyUserName == null || myProxyPassword == null || workingDirectory == null) {
System.out.println(">>>>>> Please run tests with my proxy user name and password. " +
- "E.g :- mvn clean install -Dmyproxy.user=xxx -Dmyproxy.password=xxx -Dgsi.working.directory=/path<<<<<<<");
+ "E.g :- mvn clean install -Dmyproxy.username=xxx -Dmyproxy.password=xxx -Dtrusted.cert.location=/path<<<<<<<");
throw new Exception("Need my proxy user name password to run tests.");
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a5def096/tools/gsissh/src/test/java/org/apache/airavata/gsi/ssh/impl/VanilaTestWithSSHAuth.java
----------------------------------------------------------------------
diff --git a/tools/gsissh/src/test/java/org/apache/airavata/gsi/ssh/impl/VanilaTestWithSSHAuth.java b/tools/gsissh/src/test/java/org/apache/airavata/gsi/ssh/impl/VanilaTestWithSSHAuth.java
index f20647d..dfbaef0 100644
--- a/tools/gsissh/src/test/java/org/apache/airavata/gsi/ssh/impl/VanilaTestWithSSHAuth.java
+++ b/tools/gsissh/src/test/java/org/apache/airavata/gsi/ssh/impl/VanilaTestWithSSHAuth.java
@@ -52,17 +52,17 @@ public class VanilaTestWithSSHAuth {
public void setUp() throws Exception {
System.out.println("Test case name " + this.getClass().getName());
this.hostName = "bigred2.uits.iu.edu"; //default ssh host
- System.setProperty("ssh.user", "lginnali");
- System.setProperty("ssh.private.key.path", "/Users/lahirugunathilake/.ssh/id_dsa");
- System.setProperty("ssh.public.key.path", "/Users/lahirugunathilake/.ssh/id_dsa.pub");
- System.setProperty("ssh.working.directory", "/tmp");
+// System.setProperty("ssh.user", "lginnali");
+// System.setProperty("ssh.private.key.path", "/Users/lahirugunathilake/.ssh/id_dsa");
+// System.setProperty("ssh.public.key.path", "/Users/lahirugunathilake/.ssh/id_dsa.pub");
+// System.setProperty("ssh.working.directory", "/tmp");
this.hostName = System.getProperty("ssh.host");
- this.userName = System.getProperty("ssh.user");
+ this.userName = System.getProperty("ssh.username");
this.password = System.getProperty("ssh.password");
- this.privateKeyPath = System.getProperty("ssh.private.key.path");
- this.publicKeyPath = System.getProperty("ssh.public.key.path");
- this.passPhrase = System.getProperty("ssh.private.key.passphrase");
+ this.privateKeyPath = System.getProperty("private.ssh.key");
+ this.publicKeyPath = System.getProperty("public.ssh.key");
+ this.passPhrase = System.getProperty("ssh.keypass");
this.workingDirectory = System.getProperty("ssh.working.directory");