use of com.sequenceiq.environment.environment.flow.creation.event.EnvCreationFailureEvent in project cloudbreak by hortonworks.
the class FreeIpaCreationHandler method accept.
@Override
public void accept(Event<EnvironmentDto> environmentDtoEvent) {
EnvironmentDto environmentDto = environmentDtoEvent.getData();
Optional<Environment> environmentOptional = environmentService.findEnvironmentById(environmentDto.getId());
try {
if (environmentOptional.isPresent()) {
Environment environment = environmentOptional.get();
if (Objects.nonNull(environment.getParentEnvironment())) {
attachParentFreeIpa(environmentDto);
} else if (environment.isCreateFreeIpa() && supportedPlatforms.supportedPlatformForFreeIpa(environment.getCloudPlatform())) {
createFreeIpa(environmentDtoEvent, environmentDto);
} else {
boolean supported = supportedPlatforms.supportedPlatformForFreeIpa(environment.getCloudPlatform());
LOGGER.info("Freeipa won't create: parent: {}, create freeipa: {}, {} provider is supproted: {}", environment.getParentEnvironment(), environment.isCreateFreeIpa(), environment.getCloudPlatform(), supported);
}
}
eventSender().sendEvent(getNextStepObject(environmentDto), environmentDtoEvent.getHeaders());
} catch (Exception ex) {
LOGGER.error(String.format("Error occurred during creating FreeIpa for environment %s.", environmentDto), ex);
EnvCreationFailureEvent failureEvent = new EnvCreationFailureEvent(environmentDto.getId(), environmentDto.getName(), ex, environmentDto.getResourceCrn());
eventBus.notify(failureEvent.selector(), new Event<>(environmentDtoEvent.getHeaders(), failureEvent));
}
}
use of com.sequenceiq.environment.environment.flow.creation.event.EnvCreationFailureEvent in project cloudbreak by hortonworks.
the class EnvCreationActions method networkCreationAction.
@Bean(name = "NETWORK_CREATION_STARTED_STATE")
public Action<?, ?> networkCreationAction() {
return new AbstractEnvironmentCreationAction<>(EnvCreationEvent.class) {
@Override
protected void doExecute(CommonContext context, EnvCreationEvent payload, Map<Object, Object> variables) {
environmentService.findEnvironmentById(payload.getResourceId()).ifPresentOrElse(environment -> {
LOGGER.info("Creation of Network has started. Current state is - NETWORK_CREATION_STARTED_STATE");
environment.setStatus(EnvironmentStatus.NETWORK_CREATION_IN_PROGRESS);
environment.setStatusReason(null);
environment = environmentService.save(environment);
EnvironmentDto environmentDto = environmentService.getEnvironmentDto(environment);
eventService.sendEventAndNotification(environmentDto, context.getFlowTriggerUserCrn(), ENVIRONMENT_NETWORK_CREATION_STARTED);
sendEvent(context, CREATE_NETWORK_EVENT.selector(), environmentDto);
}, () -> {
EnvCreationFailureEvent failureEvent = new EnvCreationFailureEvent(payload.getResourceId(), payload.getResourceName(), null, payload.getResourceCrn());
LOGGER.debug("Environment network creation action went failed with EnvCreationFailureEvent was: {}", failureEvent);
eventService.sendEventAndNotificationForMissingEnv(payload, ENVIRONMENT_NETWORK_CREATION_FAILED, context.getFlowTriggerUserCrn());
LOGGER.warn("Failed to create network for environment! No environment found with id '{}'.", payload.getResourceId());
sendEvent(context, failureEvent);
});
}
};
}
use of com.sequenceiq.environment.environment.flow.creation.event.EnvCreationFailureEvent in project cloudbreak by hortonworks.
the class EnvCreationActions method environmentInitAction.
@Bean(name = "ENVIRONMENT_INITIALIZATION_STATE")
public Action<?, ?> environmentInitAction() {
return new AbstractEnvironmentCreationAction<>(EnvCreationEvent.class) {
@Override
protected void doExecute(CommonContext context, EnvCreationEvent payload, Map<Object, Object> variables) {
environmentService.findEnvironmentById(payload.getResourceId()).ifPresentOrElse(environment -> {
LOGGER.info("Initialization of Environment has started. Current state is - ENVIRONMENT_INITIALIZATION_STATE");
environment.setStatus(EnvironmentStatus.ENVIRONMENT_INITIALIZATION_IN_PROGRESS);
environment.setStatusReason(null);
environment = environmentService.save(environment);
EnvironmentDto environmentDto = environmentService.getEnvironmentDto(environment);
eventService.sendEventAndNotification(environmentDto, context.getFlowTriggerUserCrn(), ENVIRONMENT_INITIALIZATION_STARTED);
sendEvent(context, INITIALIZE_ENVIRONMENT_EVENT.selector(), environmentDto);
}, () -> {
EnvCreationFailureEvent failureEvent = new EnvCreationFailureEvent(payload.getResourceId(), payload.getResourceName(), null, payload.getResourceCrn());
LOGGER.debug("Environment init action went failed with EnvCreationFailureEvent was: {}", failureEvent);
eventService.sendEventAndNotificationForMissingEnv(payload, ENVIRONMENT_INITIALIZATION_FAILED, context.getFlowTriggerUserCrn());
LOGGER.warn("Failed to validate environment creation request! No environment found with id '{}'.", payload.getResourceId());
sendEvent(context, failureEvent);
});
}
};
}
use of com.sequenceiq.environment.environment.flow.creation.event.EnvCreationFailureEvent in project cloudbreak by hortonworks.
the class EnvCreationActions method freeipaCreationAction.
@Bean(name = "FREEIPA_CREATION_STARTED_STATE")
public Action<?, ?> freeipaCreationAction() {
return new AbstractEnvironmentCreationAction<>(EnvCreationEvent.class) {
@Override
protected void doExecute(CommonContext context, EnvCreationEvent payload, Map<Object, Object> variables) {
environmentService.findEnvironmentById(payload.getResourceId()).ifPresentOrElse(environment -> {
LOGGER.info("Creation of FreeIPA has started. Current state is - FREEIPA_CREATION_STARTED_STATE");
environment.setStatus(EnvironmentStatus.FREEIPA_CREATION_IN_PROGRESS);
environment.setStatusReason(null);
environment = environmentService.save(environment);
EnvironmentDto environmentDto = environmentService.getEnvironmentDto(environment);
eventService.sendEventAndNotification(environmentDto, context.getFlowTriggerUserCrn(), ENVIRONMENT_FREEIPA_CREATION_STARTED);
sendEvent(context, CREATE_FREEIPA_EVENT.selector(), environmentDto);
}, () -> {
EnvCreationFailureEvent failureEvent = new EnvCreationFailureEvent(payload.getResourceId(), payload.getResourceName(), null, payload.getResourceCrn());
LOGGER.debug("Environment freeipa creation action went failed with EnvCreationFailureEvent was: {}", failureEvent);
eventService.sendEventAndNotificationForMissingEnv(payload, ENVIRONMENT_FREEIPA_CREATION_FAILED, context.getFlowTriggerUserCrn());
LOGGER.warn("Failed to create freeipa for environment! No environment found with id '{}'.", payload.getResourceId());
sendEvent(context, failureEvent);
});
}
};
}
Aggregations