public Object getFieldValue(_Fields field) { switch (field) { case JOB_SUBMISSION_INTERFACE_ID: return getJobSubmissionInterfaceId(); case SECURITY_PROTOCOL: return getSecurityProtocol(); case RESOURCE_JOB_MANAGER: return getResourceJobManager(); case ALTERNATIVE_SSHHOST_NAME: return getAlternativeSSHHostName(); case SSH_PORT: return getSshPort(); case MONITOR_MODE: return getMonitorMode(); case BATCH_QUEUE_EMAIL_SENDERS: return getBatchQueueEmailSenders(); } throw new IllegalStateException(); }
public static SSHJobSubmission getSSHJobSubmissionDescription (SshJobSubmissionResource submission) throws AppCatalogException { SSHJobSubmission sshJobSubmission = new SSHJobSubmission(); sshJobSubmission.setAlternativeSSHHostName(submission.getAlternativeSshHostname()); sshJobSubmission.setJobSubmissionInterfaceId(submission.getJobSubmissionInterfaceId()); sshJobSubmission.setResourceJobManager(getResourceJobManager(submission.getResourceJobManagerResource())); sshJobSubmission.setSecurityProtocol(SecurityProtocol.valueOf(submission.getSecurityProtocol())); sshJobSubmission.setSshPort(submission.getSshPort()); if (submission.getMonitorMode() != null){ sshJobSubmission.setMonitorMode(MonitorMode.valueOf(submission.getMonitorMode())); } return sshJobSubmission; }
case JOB_SUBMISSION_INTERFACE_ID: if (value == null) { unsetJobSubmissionInterfaceId(); } else { setJobSubmissionInterfaceId((String)value); unsetSecurityProtocol(); } else { setSecurityProtocol((org.apache.airavata.model.data.movement.SecurityProtocol)value); unsetResourceJobManager(); } else { setResourceJobManager((ResourceJobManager)value); unsetAlternativeSSHHostName(); } else { setAlternativeSSHHostName((String)value); unsetSshPort(); } else { setSshPort((Integer)value); unsetMonitorMode(); } else { setMonitorMode((MonitorMode)value); unsetBatchQueueEmailSenders(); } else { setBatchQueueEmailSenders((List<String>)value);
SSHJobSubmission sshJobSubmission = new SSHJobSubmission(); sshJobSubmission.setResourceJobManager(resourceJobManager); sshJobSubmission.setSecurityProtocol(securityProtocol); sshJobSubmission.setSshPort(portNumber); sshJobSubmission.setMonitorMode(MonitorMode.JOB_EMAIL_NOTIFICATION_MONITOR); airavataClient.addSSHJobSubmissionDetails(new AuthzToken(""), computeResourceId, 1, sshJobSubmission);
@Override public String addSSHJobSubmission(SSHJobSubmission sshJobSubmission) throws AppCatalogException { try { String submissionId = AppCatalogUtils.getID("SSH"); sshJobSubmission.setJobSubmissionInterfaceId(submissionId); String resourceJobManagerId = addResourceJobManager(sshJobSubmission.getResourceJobManager()); SshJobSubmissionResource resource = AppCatalogThriftConversion.getSSHJobSubmission(sshJobSubmission); resource.setResourceJobManagerId(resourceJobManagerId); resource.getResourceJobManagerResource().setResourceJobManagerId(resourceJobManagerId); if (sshJobSubmission.getMonitorMode() != null){ resource.setMonitorMode(sshJobSubmission.getMonitorMode().toString()); } resource.save(); return submissionId; }catch (Exception e) { logger.error("Error while saving SSH Job Submission...", e); throw new AppCatalogException(e); } }
|| jobProtocol == JobSubmissionProtocol.CLOUD || jobProtocol == JobSubmissionProtocol.LOCAL) { logger.error("This is a wrong method to invoke to non ssh host types,please check your gfac-config.xml"); } else if (jobProtocol == JobSubmissionProtocol.SSH && sshJobSubmission.getSecurityProtocol() == SecurityProtocol.GSI) { sshJobSubmission.getSshPort(); boolean recreate = false; synchronized (clusters) { sshJobSubmission.getSshPort()); String installedParentPath = sshJobSubmission.getResourceJobManager().getJobManagerBinPath(); String jobManager = sshJobSubmission.getResourceJobManager().getResourceJobManagerType().toString(); if (jobManager == null) { logger.error("No Job Manager is configured, so we are picking pbs as the default job manager");
throw new GFacException("Error while reading compute resource", e); MonitorMode monitorMode = sshJobSubmission.getMonitorMode(); if (monitorMode != null && monitorMode == MonitorMode.JOB_EMAIL_NOTIFICATION_MONITOR) { try { EmailBasedMonitor emailBasedMonitor = EmailMonitorFactory.getEmailBasedMonitor( sshJobSubmission.getResourceJobManager().getResourceJobManagerType()); emailBasedMonitor.addToJobMonitorMap(jobExecutionContext); } catch (AiravataException e) {
AppCatalog appCatalog = jobExecutionContext.getAppCatalog(); SSHJobSubmission sshJobSubmission = appCatalog.getComputeResource().getSSHJobSubmission(preferredJobSubmissionInterface.getJobSubmissionInterfaceId()); SecurityProtocol securityProtocol = sshJobSubmission.getSecurityProtocol(); if (securityProtocol == SecurityProtocol.GSI || securityProtocol == SecurityProtocol.SSH_KEYS || securityProtocol == SecurityProtocol.USERNAME_PASSWORD) { SSHSecurityContext sshSecurityContext = new SSHSecurityContext(); String jobManager = sshJobSubmission.getResourceJobManager().getResourceJobManagerType().toString(); if (jobManager == null) { logger.error("No Job Manager is configured, so we are picking pbs as the default job manager");
MonitorMode monitorMode = sshJobSubmission.getMonitorMode(); for (ThreadedHandler threadedHandler : daemonHandlers) { if ("org.apache.airavata.gfac.monitor.handlers.GridPullMonitorHandler".equals(threadedHandler.getClass().getName())) {
public static ResourceJobManager getResourceJobManager(ProcessContext processContext) { try { JobSubmissionProtocol submissionProtocol = getPreferredJobSubmissionProtocol(processContext); JobSubmissionInterface jobSubmissionInterface = getPreferredJobSubmissionInterface(processContext); if (submissionProtocol == JobSubmissionProtocol.SSH ) { SSHJobSubmission sshJobSubmission = GFacUtils.getSSHJobSubmission(jobSubmissionInterface.getJobSubmissionInterfaceId()); if (sshJobSubmission != null) { return sshJobSubmission.getResourceJobManager(); } } else if (submissionProtocol == JobSubmissionProtocol.LOCAL) { LOCALSubmission localJobSubmission = GFacUtils.getLocalJobSubmission(jobSubmissionInterface.getJobSubmissionInterfaceId()); if (localJobSubmission != null) { return localJobSubmission.getResourceJobManager(); } } else if (submissionProtocol == JobSubmissionProtocol.SSH_FORK){ SSHJobSubmission sshJobSubmission = GFacUtils.getSSHJobSubmission(jobSubmissionInterface.getJobSubmissionInterfaceId()); if (sshJobSubmission != null) { return sshJobSubmission.getResourceJobManager(); } } } catch (AppCatalogException e) { log.error("Error occured while retrieving resource job manager", e); } return null; }
public SSHJobSubmission deepCopy() { return new SSHJobSubmission(this); }
public static String registerComputeHost(String hostName, String hostDesc, ResourceJobManagerType resourceJobManagerType, String monitoringEndPoint, String jobMangerBinPath, SecurityProtocol securityProtocol, int portNumber, String jobManagerCommand) throws TException { ComputeResourceDescription computeResourceDescription = RegisterSampleApplicationsUtils .createComputeResourceDescription(hostName, hostDesc, null, null); String computeResourceId = airavataClient.registerComputeResource(new AuthzToken(""), computeResourceDescription); if (computeResourceId.isEmpty()) throw new AiravataClientException(); ResourceJobManager resourceJobManager = RegisterSampleApplicationsUtils.createResourceJobManager(resourceJobManagerType, monitoringEndPoint, jobMangerBinPath, null); if (jobManagerCommand != null) { Map<JobManagerCommand, String> jobManagerCommandStringMap = new HashMap<JobManagerCommand, String>(); jobManagerCommandStringMap.put(JobManagerCommand.SUBMISSION, jobManagerCommand); resourceJobManager.setJobManagerCommands(jobManagerCommandStringMap); } SSHJobSubmission sshJobSubmission = new SSHJobSubmission(); sshJobSubmission.setResourceJobManager(resourceJobManager); sshJobSubmission.setSecurityProtocol(securityProtocol); sshJobSubmission.setSshPort(portNumber); airavataClient.addSSHJobSubmissionDetails(new AuthzToken(""), computeResourceId, 1, sshJobSubmission); SCPDataMovement scpDataMovement = new SCPDataMovement(); scpDataMovement.setSecurityProtocol(securityProtocol); scpDataMovement.setSshPort(portNumber); airavataClient.addSCPDataMovementDetails(new AuthzToken(""), computeResourceId, DMType.COMPUTE_RESOURCE, 1, scpDataMovement); return computeResourceId; } public static String updateComputeHost( String computeResourceId, String hostName, String hostDesc, ResourceJobManagerType resourceJobManagerType, String monitoringEndPoint,
case JOB_SUBMISSION_INTERFACE_ID: if (value == null) { unsetJobSubmissionInterfaceId(); } else { setJobSubmissionInterfaceId((String)value); unsetSecurityProtocol(); } else { setSecurityProtocol((org.apache.airavata.model.data.movement.SecurityProtocol)value); unsetResourceJobManager(); } else { setResourceJobManager((ResourceJobManager)value); unsetAlternativeSSHHostName(); } else { setAlternativeSSHHostName((String)value); unsetSshPort(); } else { setSshPort((Integer)value); unsetMonitorMode(); } else { setMonitorMode((MonitorMode)value); unsetBatchQueueEmailSenders(); } else { setBatchQueueEmailSenders((List<String>)value);
@Override public String addSSHJobSubmission(SSHJobSubmission sshJobSubmission) throws AppCatalogException { try { String submissionId = AppCatalogUtils.getID("SSH"); sshJobSubmission.setJobSubmissionInterfaceId(submissionId); String resourceJobManagerId = addResourceJobManager(sshJobSubmission.getResourceJobManager()); SshJobSubmissionResource resource = AppCatalogThriftConversion.getSSHJobSubmission(sshJobSubmission); resource.setResourceJobManagerId(resourceJobManagerId); resource.getResourceJobManagerResource().setResourceJobManagerId(resourceJobManagerId); if (sshJobSubmission.getMonitorMode() != null){ resource.setMonitorMode(sshJobSubmission.getMonitorMode().toString()); } resource.save(); return submissionId; }catch (Exception e) { logger.error("Error while saving SSH Job Submission...", e); throw new AppCatalogException(e); } }
MonitorMode monitorMode = sshJobSubmission.getMonitorMode(); if (monitorMode != null && monitorMode == MonitorMode.JOB_EMAIL_NOTIFICATION_MONITOR) { try { EmailBasedMonitor emailBasedMonitor = EmailMonitorFactory.getEmailBasedMonitor( sshJobSubmission.getResourceJobManager().getResourceJobManagerType()); emailBasedMonitor.addToJobMonitorMap(jobExecutionContext); } catch (AiravataException e) { throw new GFacException(MessageFormat.format("expId: {0} , jobId {1} :- Job monitor mode {2} is not yet " + "implemented, please change compute resource monitor mode to {3}", jobExecutionContext.getExperimentID(), jobExecutionContext.getJobDetails().getJobID(), sshJobSubmission.getMonitorMode().name(), MonitorMode.JOB_EMAIL_NOTIFICATION_MONITOR.name()));
public static boolean isEmailBasedJobMonitor(ProcessContext processContext) throws GFacException, AppCatalogException { JobSubmissionProtocol jobSubmissionProtocol = getPreferredJobSubmissionProtocol(processContext); JobSubmissionInterface jobSubmissionInterface = getPreferredJobSubmissionInterface(processContext); if (jobSubmissionProtocol == JobSubmissionProtocol.SSH) { String jobSubmissionInterfaceId = jobSubmissionInterface.getJobSubmissionInterfaceId(); SSHJobSubmission sshJobSubmission = processContext.getAppCatalog().getComputeResource().getSSHJobSubmission(jobSubmissionInterfaceId); MonitorMode monitorMode = sshJobSubmission.getMonitorMode(); return monitorMode != null && monitorMode == MonitorMode.JOB_EMAIL_NOTIFICATION_MONITOR; } else { return false; } }
String jobManager = sshJobSubmission.getResourceJobManager().getResourceJobManagerType().toString(); if (jobManager == null) { logger.error("No Job Manager is configured, so we are picking pbs as the default job manager");
public SSHJobSubmission deepCopy() { return new SSHJobSubmission(this); }
public Object getFieldValue(_Fields field) { switch (field) { case JOB_SUBMISSION_INTERFACE_ID: return getJobSubmissionInterfaceId(); case SECURITY_PROTOCOL: return getSecurityProtocol(); case RESOURCE_JOB_MANAGER: return getResourceJobManager(); case ALTERNATIVE_SSHHOST_NAME: return getAlternativeSSHHostName(); case SSH_PORT: return getSshPort(); case MONITOR_MODE: return getMonitorMode(); case BATCH_QUEUE_EMAIL_SENDERS: return getBatchQueueEmailSenders(); } throw new IllegalStateException(); }
public static String updateComputeHost( String computeResourceId, String hostName, String hostDesc, ResourceJobManagerType resourceJobManagerType, String monitoringEndPoint, String jobMangerBinPath, SecurityProtocol securityProtocol, int portNumber, String jobManagerCommand) throws TException { if (computeResourceId.isEmpty()) throw new AiravataClientException(); ResourceJobManager resourceJobManager = RegisterSampleApplicationsUtils.createResourceJobManager(resourceJobManagerType, monitoringEndPoint, jobMangerBinPath, null); if (jobManagerCommand != null) { Map<JobManagerCommand, String> jobManagerCommandStringMap = new HashMap<JobManagerCommand, String>(); jobManagerCommandStringMap.put(JobManagerCommand.SUBMISSION, jobManagerCommand); resourceJobManager.setJobManagerCommands(jobManagerCommandStringMap); } SSHJobSubmission sshJobSubmission = new SSHJobSubmission(); sshJobSubmission.setResourceJobManager(resourceJobManager); sshJobSubmission.setSecurityProtocol(securityProtocol); sshJobSubmission.setSshPort(portNumber); airavataClient.addSSHJobSubmissionDetails(new AuthzToken(""), computeResourceId, 1, sshJobSubmission); ComputeResourceDescription computeResourceDescription = airavataClient.getComputeResource(new AuthzToken(""), computeResourceId); computeResourceDescription.getJobSubmissionInterfacesIterator(); SCPDataMovement scpDataMovement = new SCPDataMovement(); scpDataMovement.setSecurityProtocol(securityProtocol); scpDataMovement.setSshPort(portNumber); airavataClient.addSCPDataMovementDetails(new AuthzToken(""), computeResourceId, DMType.COMPUTE_RESOURCE, 1, scpDataMovement); return computeResourceId; } }