Search in sources :

Example 6 with OrchestratorException

use of org.apache.airavata.orchestrator.core.exception.OrchestratorException in project airavata by apache.

the class OrchestratorServerHandler method launchProcess.

@Override
public boolean launchProcess(String processId, String airavataCredStoreToken, String gatewayId) throws TException {
    try {
        ProcessModel processModel = (ProcessModel) experimentCatalog.get(ExperimentCatalogModelType.PROCESS, processId);
        String applicationId = processModel.getApplicationInterfaceId();
        if (applicationId == null) {
            log.error(processId, "Application interface id shouldn't be null.");
            throw new OrchestratorException("Error executing the job, application interface id shouldn't be null.");
        }
        // set application deployment id to process model
        ApplicationDeploymentDescription applicationDeploymentDescription = getAppDeployment(processModel, applicationId);
        processModel.setApplicationDeploymentId(applicationDeploymentDescription.getAppDeploymentId());
        // set compute resource id to process model, default we set the same in the user preferred compute host id
        processModel.setComputeResourceId(processModel.getProcessResourceSchedule().getResourceHostId());
        experimentCatalog.update(ExperimentCatalogModelType.PROCESS, processModel, processModel.getProcessId());
        return orchestrator.launchProcess(processModel, airavataCredStoreToken);
    } catch (Exception e) {
        log.error(processId, "Error while launching process ", e);
        throw new TException(e);
    }
}
Also used : TException(org.apache.thrift.TException) ProcessModel(org.apache.airavata.model.process.ProcessModel) ApplicationDeploymentDescription(org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription) OrchestratorException(org.apache.airavata.orchestrator.core.exception.OrchestratorException) OrchestratorException(org.apache.airavata.orchestrator.core.exception.OrchestratorException) AiravataException(org.apache.airavata.common.exception.AiravataException) LaunchValidationException(org.apache.airavata.model.error.LaunchValidationException) TException(org.apache.thrift.TException) ApplicationSettingsException(org.apache.airavata.common.exception.ApplicationSettingsException)

Example 7 with OrchestratorException

use of org.apache.airavata.orchestrator.core.exception.OrchestratorException in project airavata by apache.

the class GFACPassiveJobSubmitter method terminate.

/**
 * Submit the experiment the terminate.queue job queue and remove the experiment from shared launch.queue
 * @param experimentId
 * @param processId
 * @return
 * @throws OrchestratorException
 */
public boolean terminate(String experimentId, String processId, String tokenId) throws OrchestratorException {
    String gatewayId = null;
    try {
        CredentialReader credentialReader = GFacUtils.getCredentialReader();
        if (credentialReader != null) {
            try {
                gatewayId = credentialReader.getGatewayID(tokenId);
            } catch (Exception e) {
                logger.error(e.getLocalizedMessage());
            }
        }
        if (gatewayId == null || gatewayId.isEmpty()) {
            gatewayId = ServerSettings.getDefaultUserGateway();
        }
        ProcessTerminateEvent processTerminateEvent = new ProcessTerminateEvent(processId, gatewayId, tokenId);
        MessageContext messageContext = new MessageContext(processTerminateEvent, MessageType.TERMINATEPROCESS, "LAUNCH.TERMINATE-" + UUID.randomUUID().toString(), gatewayId);
        messageContext.setUpdatedTime(AiravataUtils.getCurrentTimestamp());
        publisher.publish(messageContext);
        return true;
    } catch (Exception e) {
        throw new OrchestratorException(e);
    }
}
Also used : CredentialReader(org.apache.airavata.credential.store.store.CredentialReader) ProcessTerminateEvent(org.apache.airavata.model.messaging.event.ProcessTerminateEvent) OrchestratorException(org.apache.airavata.orchestrator.core.exception.OrchestratorException) MessageContext(org.apache.airavata.messaging.core.MessageContext) OrchestratorException(org.apache.airavata.orchestrator.core.exception.OrchestratorException) AiravataException(org.apache.airavata.common.exception.AiravataException)

Aggregations

OrchestratorException (org.apache.airavata.orchestrator.core.exception.OrchestratorException)7 AiravataException (org.apache.airavata.common.exception.AiravataException)5 LaunchValidationException (org.apache.airavata.model.error.LaunchValidationException)3 TException (org.apache.thrift.TException)3 URISyntaxException (java.net.URISyntaxException)2 CredentialReader (org.apache.airavata.credential.store.store.CredentialReader)2 TaskException (org.apache.airavata.gfac.core.task.TaskException)2 MessageContext (org.apache.airavata.messaging.core.MessageContext)2 ProcessModel (org.apache.airavata.model.process.ProcessModel)2 ApplicationSettingsException (org.apache.airavata.common.exception.ApplicationSettingsException)1 ApplicationDeploymentDescription (org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription)1 ApplicationInterfaceDescription (org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription)1 ComputeResourcePreference (org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference)1 ProcessSubmitEvent (org.apache.airavata.model.messaging.event.ProcessSubmitEvent)1 ProcessTerminateEvent (org.apache.airavata.model.messaging.event.ProcessTerminateEvent)1 ComputationalResourceSchedulingModel (org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel)1 TaskStatus (org.apache.airavata.model.status.TaskStatus)1