credential store start up logs and adding xsede job reporting to 
JobSubmissionTask


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

Branch: refs/heads/master
Commit: 8e23fadcf0c8235b337b1d060a9cf319b6b47c40
Parents: b09ce0c
Author: Chathuri Wimalasena <[email protected]>
Authored: Wed Feb 24 14:39:38 2016 -0500
Committer: Chathuri Wimalasena <[email protected]>
Committed: Wed Feb 24 14:39:38 2016 -0500

----------------------------------------------------------------------
 .../store/server/CredentialStoreServer.java     |  3 +-
 .../impl/task/DefaultJobSubmissionTask.java     | 31 ++++++++++++++++----
 .../org/apache/airavata/server/ServerMain.java  |  4 +--
 3 files changed, 28 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/8e23fadc/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/server/CredentialStoreServer.java
----------------------------------------------------------------------
diff --git 
a/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/server/CredentialStoreServer.java
 
b/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/server/CredentialStoreServer.java
index 2e3db05..5ccec02 100644
--- 
a/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/server/CredentialStoreServer.java
+++ 
b/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/server/CredentialStoreServer.java
@@ -101,7 +101,6 @@ public class CredentialStoreServer  implements IServer {
             }.start();
         } catch (TTransportException e) {
             setStatus(ServerStatus.FAILED);
-//                logger.error("Error while starting the credential store 
service", e);
             throw new Exception("Error while starting the credential store 
service", e);
         }
     }
@@ -135,7 +134,7 @@ public class CredentialStoreServer  implements IServer {
 
     @Override
     public ServerStatus getStatus() throws Exception {
-        return null;
+        return status;
     }
 
     private void setStatus(IServer.ServerStatus stat){

http://git-wip-us.apache.org/repos/asf/airavata/blob/8e23fadc/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/DefaultJobSubmissionTask.java
----------------------------------------------------------------------
diff --git 
a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/DefaultJobSubmissionTask.java
 
b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/DefaultJobSubmissionTask.java
index 81b5f91..fd2af7f 100644
--- 
a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/DefaultJobSubmissionTask.java
+++ 
b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/DefaultJobSubmissionTask.java
@@ -24,19 +24,25 @@ package org.apache.airavata.gfac.impl.task;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.AiravataUtils;
 import org.apache.airavata.gfac.core.*;
+import org.apache.airavata.gfac.core.cluster.CommandInfo;
 import org.apache.airavata.gfac.core.cluster.JobSubmissionOutput;
+import org.apache.airavata.gfac.core.cluster.RawCommandInfo;
 import org.apache.airavata.gfac.core.cluster.RemoteCluster;
 import org.apache.airavata.gfac.core.context.ProcessContext;
 import org.apache.airavata.gfac.core.context.TaskContext;
 import org.apache.airavata.gfac.core.task.JobSubmissionTask;
 import org.apache.airavata.gfac.core.task.TaskException;
 import org.apache.airavata.gfac.impl.Factory;
+import 
org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
 import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager;
 import org.apache.airavata.model.commons.ErrorModel;
+import org.apache.airavata.model.experiment.ExperimentModel;
 import org.apache.airavata.model.job.JobModel;
 import org.apache.airavata.model.status.*;
 import org.apache.airavata.model.task.TaskTypes;
 import org.apache.airavata.registry.cpi.AppCatalogException;
+import org.apache.airavata.registry.cpi.ExperimentCatalogModelType;
+import org.apache.airavata.registry.cpi.RegistryException;
 import org.apache.commons.io.FileUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -82,13 +88,14 @@ public class DefaultJobSubmissionTask implements 
JobSubmissionTask {
                                
jobModel.setStdErr(jobSubmissionOutput.getStdErr());
                                
jobModel.setStdOut(jobSubmissionOutput.getStdOut());
                                String jobId = jobSubmissionOutput.getJobId();
-                               if (exitCode != 0 || 
jobSubmissionOutput.isJobSubmissionFailed()) {
+                String experimentId = taskContext.getExperimentId();
+                if (exitCode != 0 || 
jobSubmissionOutput.isJobSubmissionFailed()) {
                                        jobModel.setJobId(DEFAULT_JOB_ID);
                                        if 
(jobSubmissionOutput.isJobSubmissionFailed()) {
                                                jobModel.setJobStatus(new 
JobStatus(JobState.FAILED));
                                                
jobModel.getJobStatus().setReason(jobSubmissionOutput.getFailureReason());
                                                log.error("expId: {}, 
processid: {}, taskId: {} :- Job submission failed for job name {}",
-                                                               
taskContext.getExperimentId(), taskContext.getProcessId(), 
taskContext.getTaskId(), jobModel.getJobName());
+                                experimentId, taskContext.getProcessId(), 
taskContext.getTaskId(), jobModel.getJobName());
                                                ErrorModel errorModel = new 
ErrorModel();
                                                
errorModel.setUserFriendlyMessage(jobSubmissionOutput.getFailureReason());
                                                
errorModel.setActualErrorMessage(jobSubmissionOutput.getFailureReason());
@@ -135,8 +142,9 @@ public class DefaultJobSubmissionTask implements 
JobSubmissionTask {
                                    jobModel.setJobId(jobId);
                                    GFacUtils.saveJobModel(processContext, 
jobModel);
                                    jobStatus.setJobState(JobState.SUBMITTED);
-                                   jobStatus.setReason("Successfully Submitted 
to " + taskContext.getParentProcessContext()
-                                                   
.getComputeResourceDescription().getHostName());
+                    ComputeResourceDescription computeResourceDescription = 
taskContext.getParentProcessContext()
+                            .getComputeResourceDescription();
+                    jobStatus.setReason("Successfully Submitted to " + 
computeResourceDescription.getHostName());
                     
jobStatus.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
                                    jobModel.setJobStatus(jobStatus);
                                    
GFacUtils.saveJobStatus(taskContext.getParentProcessContext(), jobModel);
@@ -147,6 +155,15 @@ public class DefaultJobSubmissionTask implements 
JobSubmissionTask {
                                            jobModel.setJobStatus(jobStatus);
                                            
GFacUtils.saveJobStatus(taskContext.getParentProcessContext(), jobModel);
                                    }
+                    // doing gateway reporting
+                    if (computeResourceDescription.isGatewayUsageReporting()){
+                        String loadCommand = 
computeResourceDescription.getGatewayUsageModuleLoadCommand();
+                        String usageExecutable = 
computeResourceDescription.getGatewayUsageExecutable();
+                        ExperimentModel experiment = 
(ExperimentModel)taskContext.getParentProcessContext().getExperimentCatalog().get(ExperimentCatalogModelType.EXPERIMENT,
 experimentId);
+                        RawCommandInfo rawCommandInfo = new 
RawCommandInfo(loadCommand + " && " + usageExecutable + " -gateway_user " +  
experiment.getUserName()  +
+                                                                           " 
-submit_time \"`date '+%F %T %:z'`\"  -jobid " + jobId );
+                        remoteCluster.execute(rawCommandInfo);
+                    }
                                    taskStatus = new 
TaskStatus(TaskState.COMPLETED);
                                    taskStatus.setReason("Submitted job to 
compute resource");
                     
taskStatus.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
@@ -252,9 +269,11 @@ public class DefaultJobSubmissionTask implements 
JobSubmissionTask {
                    errorModel.setActualErrorMessage(e.getMessage());
                    errorModel.setUserFriendlyMessage(msg);
                    taskContext.getTaskModel().setTaskError(errorModel);
-           }
+           } catch (RegistryException e) {
+            e.printStackTrace();
+        }
 
-           taskContext.setTaskStatus(taskStatus);
+        taskContext.setTaskStatus(taskStatus);
            try {
                    GFacUtils.saveAndPublishTaskStatus(taskContext);
            } catch (GFacException e) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/8e23fadc/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java
----------------------------------------------------------------------
diff --git 
a/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java 
b/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java
index 0117f7a..8055dda 100644
--- a/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java
+++ b/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java
@@ -296,7 +296,7 @@ public class ServerMain {
                        }
                }
        }
-       private static final int SERVER_STATUS_CHANGE_WAIT_INTERVAL=100;
+       private static final int SERVER_STATUS_CHANGE_WAIT_INTERVAL=500;
 
        private static void waitForServerToStart(IServer server,Integer 
maxWait) throws Exception {
                int count=0;
@@ -307,7 +307,7 @@ public class ServerMain {
                        Thread.sleep(SERVER_STATUS_CHANGE_WAIT_INTERVAL);
                        count+=SERVER_STATUS_CHANGE_WAIT_INTERVAL;
                }
-               if (server.getStatus()!=ServerStatus.STARTED){
+               if (server.getStatus()!= ServerStatus.STARTED){
                        logger.error("The "+server.getName()+" did not 
start!!!");
                }
        }

Reply via email to