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/01/08 07:42:48 UTC
svn commit: r1556450 - in
/airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core:
ExperimentRequest.java JobRequest.java PullBasedOrchestrator.java
utils/OrchestratorUtils.java
Author: lahiru
Date: Wed Jan 8 06:42:47 2014
New Revision: 1556450
URL: http://svn.apache.org/r1556450
Log:
more changes to orchestrator core.
Modified:
airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/ExperimentRequest.java
airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/JobRequest.java
airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java
airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java
Modified: airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/ExperimentRequest.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/ExperimentRequest.java?rev=1556450&r1=1556449&r2=1556450&view=diff
==============================================================================
--- airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/ExperimentRequest.java (original)
+++ airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/ExperimentRequest.java Wed Jan 8 06:42:47 2014
@@ -25,4 +25,14 @@ import org.slf4j.LoggerFactory;
public class ExperimentRequest {
private final static Logger logger = LoggerFactory.getLogger(ExperimentRequest.class);
+
+ private String userName;
+
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
}
Modified: airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/JobRequest.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/JobRequest.java?rev=1556450&r1=1556449&r2=1556450&view=diff
==============================================================================
--- airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/JobRequest.java (original)
+++ airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/JobRequest.java Wed Jan 8 06:42:47 2014
@@ -25,4 +25,24 @@ import org.slf4j.LoggerFactory;
public class JobRequest {
private final static Logger logger = LoggerFactory.getLogger(JobRequest.class);
+
+ private String userName;
+
+ private String experimentID;
+
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ public String getExperimentID() {
+ return experimentID;
+ }
+
+ public void setExperimentID(String experimentID) {
+ this.experimentID = experimentID;
+ }
}
Modified: airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java?rev=1556450&r1=1556449&r2=1556450&view=diff
==============================================================================
--- airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java (original)
+++ airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java Wed Jan 8 06:42:47 2014
@@ -77,7 +77,6 @@ public class PullBasedOrchestrator imple
executor = Executors.newFixedThreadPool(orchestratorConfiguration.getThreadPoolSize());
-
} catch (RegistryException e) {
logger.error("Failed to initializing Orchestrator");
OrchestratorException orchestratorException = new OrchestratorException(e);
@@ -99,18 +98,43 @@ public class PullBasedOrchestrator imple
return false; //To change body of implemented methods use File | Settings | File Templates.
}
+ //todo decide whether to return an error or do what
+
public String createExperiment(ExperimentRequest request) throws OrchestratorException {
- return null; //To change body of implemented methods use File | Settings | File Templates.
+ String experimentID = UUID.randomUUID().toString();
+ String username = request.getUserName();
+ try {
+ airavataRegistry.storeExperiment(username, experimentID);
+ } catch (RegistryException e) {
+ //todo put more meaningful error message
+ logger.error("Failed to create experiment for the request from " + request.getUserName());
+ throw new OrchestratorException(e);
+ }
+ return experimentID;
}
public boolean acceptExperiment(JobRequest request) throws OrchestratorException {
- return false; //To change body of implemented methods use File | Settings | File Templates.
+ // validate the jobRequest first
+ if (!OrchestratorUtils.validateJobRequest(request)) {
+ logger.error("Invalid Job request sent, Experiment creation failed");
+ return false;
+ }
+ String experimentID = request.getExperimentID();
+ String username = request.getUserName();
+ try {
+ airavataRegistry.storeExperiment(username, experimentID);
+ } catch (RegistryException e) {
+ //todo put more meaningful error message
+ logger.error("Failed to create experiment for the request from " + request.getUserName());
+ return false;
+ }
+ return true;
}
public void startJobSubmitter() throws OrchestratorException {
for (int i = 0; i < orchestratorContext.getOrchestratorConfiguration().getThreadPoolSize(); i++) {
- JobSubmitterWorker jobSubmitterWorker = new JobSubmitterWorker(orchestratorContext);
- executor.execute(jobSubmitterWorker);
+ JobSubmitterWorker jobSubmitterWorker = new JobSubmitterWorker(orchestratorContext);
+ executor.execute(jobSubmitterWorker);
}
}
}
Modified: airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java?rev=1556450&r1=1556449&r2=1556450&view=diff
==============================================================================
--- airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java (original)
+++ airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java Wed Jan 8 06:42:47 2014
@@ -20,6 +20,7 @@
*/
package org.apache.airavata.orchestrator.core.utils;
+import org.apache.airavata.orchestrator.core.JobRequest;
import org.apache.airavata.orchestrator.core.JobSubmitterWorker;
import org.apache.airavata.orchestrator.core.OrchestratorConfiguration;
import org.apache.airavata.orchestrator.core.exception.OrchestratorException;
@@ -51,4 +52,10 @@ public class OrchestratorUtils {
return orchestratorConfiguration;
}
+ public static boolean validateJobRequest(JobRequest request){
+ /* todo implement a job request validation */
+
+ return true;
+ }
+
}