use of com.sequenceiq.cloudbreak.reactor.api.event.stack.loadbalancer.RegisterFreeIpaDnsRequest in project cloudbreak by hortonworks.
the class StackLoadBalancerUpdateActions method registerFreeIpaDnsAction.
@Bean(name = "REGISTERING_FREEIPA_DNS_STATE")
public Action<?, ?> registerFreeIpaDnsAction() {
return new AbstractStackLoadBalancerUpdateAction<>(RegisterPublicDnsSuccess.class) {
@Override
protected void doExecute(StackContext context, RegisterPublicDnsSuccess payload, Map<Object, Object> variables) {
stackLoadBalancerUpdateService.registeringFreeIpaDns(context.getStack());
StackContext newContext = new StackContext(context.getFlowParameters(), payload.getStack(), context.getCloudContext(), context.getCloudCredential(), context.getCloudStack());
sendEvent(newContext);
}
@Override
protected Selectable createRequest(StackContext context) {
return new RegisterFreeIpaDnsRequest(context.getStack());
}
};
}
use of com.sequenceiq.cloudbreak.reactor.api.event.stack.loadbalancer.RegisterFreeIpaDnsRequest in project cloudbreak by hortonworks.
the class RegisterFreeIpaDnsHandler method doAccept.
@Override
protected Selectable doAccept(HandlerEvent<RegisterFreeIpaDnsRequest> event) {
RegisterFreeIpaDnsRequest request = event.getData();
Stack stack = request.getStack();
try {
LOGGER.info("Registering load balancer DNS entry with FreeIPA");
clusterPublicEndpointManagementService.registerLoadBalancerWithFreeIPA(stack);
LOGGER.info("Load balancer FreeIPA DNS registration was successful");
return new RegisterFreeIpaDnsSuccess(stack);
} catch (Exception e) {
LOGGER.warn("Failed to register load balancers with FreeIPA.", e);
return new RegisterFreeIpaDnsFailure(request.getResourceId(), e);
}
}
Aggregations