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/03/04 23:01:16 UTC
[1/2] git commit: Fixing issue with multiple calls in airavata-server
Repository: airavata
Updated Branches:
refs/heads/master 592f10276 -> 4d6dbbeec
Fixing issue with multiple calls in airavata-server
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/e0eb89a0
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/e0eb89a0
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/e0eb89a0
Branch: refs/heads/master
Commit: e0eb89a074ecca6e7e4ff641509875877a926343
Parents: 5b62ef6
Author: lahiru <la...@apache.org>
Authored: Tue Mar 4 17:00:50 2014 -0500
Committer: lahiru <la...@apache.org>
Committed: Tue Mar 4 17:00:50 2014 -0500
----------------------------------------------------------------------
.../server/handler/AiravataServerHandler.java | 50 ++++++++-----
.../client/samples/CreateLaunchExperiment.java | 5 ++
.../job/monitor/AiravataJobStatusUpdator.java | 74 ++++++++++----------
3 files changed, 76 insertions(+), 53 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/e0eb89a0/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index 72446e3..03a47a4 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -50,6 +50,7 @@ public class AiravataServerHandler implements Airavata.Iface {
private static final Logger logger = LoggerFactory.getLogger(AiravataServerHandler.class);
public static final String ORCHESTRATOR_SERVER_HOST = "localhost";
public static final int ORCHESTRATOR_SERVER_PORT = 8940;
+ private OrchestratorService.Client orchestratorClient;
/**
* Query Airavata to fetch the API version
*/
@@ -269,26 +270,41 @@ public class AiravataServerHandler implements Airavata.Iface {
* if more security credentials are enables, then the structure ExecutionSecurityParameters should be used.
* Note: This parameter is not persisted within Airavata Registry for security reasons.
* @return This method call does not have a return value.
- * @throws org.apache.airavata.api.error.InvalidRequestException For any incorrect forming of the request itself.
- * @throws org.apache.airavata.api.error.ExperimentNotFoundException If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
- * @throws org.apache.airavata.api.error.AiravataClientException The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
- * <p/>
- * UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
- * step, then Airavata Registry will not have a provenance area setup. The client has to follow
- * gateway registration steps and retry this request.
- * <p/>
- * AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
- * For now this is a place holder.
- * <p/>
- * INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
- * is implemented, the authorization will be more substantial.
- * @throws org.apache.airavata.api.error.AiravataSystemException This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
- * rather an Airavata Administrator will be notified to take corrective action.
+ * @throws org.apache.airavata.api.error.InvalidRequestException
+ * For any incorrect forming of the request itself.
+ * @throws org.apache.airavata.api.error.ExperimentNotFoundException
+ * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
+ * @throws org.apache.airavata.api.error.AiravataClientException
+ * The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+ * <p/>
+ * UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+ * step, then Airavata Registry will not have a provenance area setup. The client has to follow
+ * gateway registration steps and retry this request.
+ * <p/>
+ * AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+ * For now this is a place holder.
+ * <p/>
+ * INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+ * is implemented, the authorization will be more substantial.
+ * @throws org.apache.airavata.api.error.AiravataSystemException
+ * This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+ * rather an Airavata Administrator will be notified to take corrective action.
*/
@Override
public void launchExperiment(String airavataExperimentId, String airavataCredStoreToken) throws InvalidRequestException, ExperimentNotFoundException, AiravataClientException, AiravataSystemException, TException {
- OrchestratorService.Client orchestratorClient = OrchestratorClientFactory.createOrchestratorClient(ORCHESTRATOR_SERVER_HOST, ORCHESTRATOR_SERVER_PORT);
- orchestratorClient.launchExperiment(airavataExperimentId);
+ if(orchestratorClient == null){
+ orchestratorClient = OrchestratorClientFactory.createOrchestratorClient(ORCHESTRATOR_SERVER_HOST, ORCHESTRATOR_SERVER_PORT);
+ }
+ final String expID = airavataExperimentId;
+ (new Thread(){
+ public void run(){
+ try {
+ orchestratorClient.launchExperiment(expID);
+ } catch (TException e) {
+ e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ }
+ }
+ }).start();
}
/**
http://git-wip-us.apache.org/repos/asf/airavata/blob/e0eb89a0/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 6bf809f..0c5e351 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
@@ -65,6 +65,11 @@ public class CreateLaunchExperiment {
System.out.println("Experiment ID : " + expId);
launchExperiment(airavata, expId);
System.out.println("Launched successfully");
+ try {
+ Thread.sleep(20000);
+ } catch (InterruptedException e) {
+ e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ }
Thread monitor = (new Thread(){
public void run() {
Map<String, JobStatus> jobStatuses = null;
http://git-wip-us.apache.org/repos/asf/airavata/blob/e0eb89a0/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/AiravataJobStatusUpdator.java
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/AiravataJobStatusUpdator.java b/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/AiravataJobStatusUpdator.java
index a6d6c31..78f0621 100644
--- a/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/AiravataJobStatusUpdator.java
+++ b/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/AiravataJobStatusUpdator.java
@@ -68,42 +68,44 @@ public class AiravataJobStatusUpdator{
the registry accordingly, for now we are just printing to standard Out
*/
JobState state = jobStatus.getState();
- try {
- updateJobStatus(jobStatus.getMonitorID().getJobID(),state);
- } catch (Exception e) {
- logger.error("Error persisting data" + e.getLocalizedMessage(),e);
- }
- switch (state) {
- case COMPLETE:
- logger.info("Job ID:" + jobStatus.getMonitorID().getJobID() + " is DONE");
- jobsToMonitor.remove(jobStatus.getMonitorID());
- break;
- case UNKNOWN:
- logger.info("Job ID:" + jobStatus.getMonitorID().getJobID() + " is UNKNOWN");
- logger.info("Unknown job status came, if the old job status is RUNNING or something active, we have to make it complete");
- //todo implement this logic
- break;
- case QUEUED:
- logger.info("Job ID:" + jobStatus.getMonitorID().getJobID() + " is QUEUED");
- break;
- case SUBMITTED:
- logger.info("Job ID:" + jobStatus.getMonitorID().getJobID() + " is SUBMITTED");
- break;
- case ACTIVE:
- logger.info("Job ID:" + jobStatus.getMonitorID().getJobID() + " is ACTIVE");
- break;
- case CANCELED:
- logger.info("Job ID:" + jobStatus.getMonitorID().getJobID() + " is CANCELED");
- break;
- case FAILED:
- logger.info("Job ID:" + jobStatus.getMonitorID().getJobID() + " is FAILED");
- break;
- case HELD:
- logger.info("Job ID:" + jobStatus.getMonitorID().getJobID() + " is HELD");
- break;
- case SUSPENDED:
- logger.info("Job ID:" + jobStatus.getMonitorID().getJobID() + " is SUSPENDED");
- break;
+ if (state != null) {
+ try {
+ updateJobStatus(jobStatus.getMonitorID().getJobID(), state);
+ } catch (Exception e) {
+ logger.error("Error persisting data" + e.getLocalizedMessage(), e);
+ }
+ switch (state) {
+ case COMPLETE:
+ logger.info("Job ID:" + jobStatus.getMonitorID().getJobID() + " is DONE");
+ jobsToMonitor.remove(jobStatus.getMonitorID());
+ break;
+ case UNKNOWN:
+ logger.info("Job ID:" + jobStatus.getMonitorID().getJobID() + " is UNKNOWN");
+ logger.info("Unknown job status came, if the old job status is RUNNING or something active, we have to make it complete");
+ //todo implement this logic
+ break;
+ case QUEUED:
+ logger.info("Job ID:" + jobStatus.getMonitorID().getJobID() + " is QUEUED");
+ break;
+ case SUBMITTED:
+ logger.info("Job ID:" + jobStatus.getMonitorID().getJobID() + " is SUBMITTED");
+ break;
+ case ACTIVE:
+ logger.info("Job ID:" + jobStatus.getMonitorID().getJobID() + " is ACTIVE");
+ break;
+ case CANCELED:
+ logger.info("Job ID:" + jobStatus.getMonitorID().getJobID() + " is CANCELED");
+ break;
+ case FAILED:
+ logger.info("Job ID:" + jobStatus.getMonitorID().getJobID() + " is FAILED");
+ break;
+ case HELD:
+ logger.info("Job ID:" + jobStatus.getMonitorID().getJobID() + " is HELD");
+ break;
+ case SUSPENDED:
+ logger.info("Job ID:" + jobStatus.getMonitorID().getJobID() + " is SUSPENDED");
+ break;
+ }
}
}
public static void updateJobStatus(String jobID, JobState state) throws Exception {
[2/2] git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/airavata
Posted by la...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/4d6dbbee
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/4d6dbbee
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/4d6dbbee
Branch: refs/heads/master
Commit: 4d6dbbeecd72137002b2054737c84918fc5bf8df
Parents: e0eb89a 592f102
Author: lahiru <la...@apache.org>
Authored: Tue Mar 4 17:01:09 2014 -0500
Committer: lahiru <la...@apache.org>
Committed: Tue Mar 4 17:01:09 2014 -0500
----------------------------------------------------------------------
.../gfac/handler/GramDirectorySetupHandler.java | 7 ++++--
.../gfac/handler/GridFTPInputHandler.java | 5 ++++-
.../gfac/handler/GridFTPOutputHandler.java | 5 ++++-
.../gfac/handler/SCPDirectorySetupHandler.java | 9 +++++++-
.../airavata/gfac/handler/SCPInputHandler.java | 7 +++++-
.../airavata/gfac/handler/SCPOutputHandler.java | 3 +++
.../gfac/provider/impl/GSISSHProvider.java | 18 +++++++++++----
.../gfac/provider/impl/GramProvider.java | 23 +++++++++++++++-----
.../apache/airavata/gfac/utils/GFacUtils.java | 16 ++++++++++++++
.../gfac/utils/GramJobSubmissionListener.java | 3 ++-
10 files changed, 79 insertions(+), 17 deletions(-)
----------------------------------------------------------------------