use of com.sequenceiq.cloudbreak.reactor.api.event.cluster.DeregisterServicesResult in project cloudbreak by hortonworks.
the class DeregisterServicesHandler method accept.
@Override
public void accept(Event<DeregisterServicesRequest> event) {
DeregisterServicesResult result;
try {
LOGGER.info("Received DeregisterServicesRequest event: {}", event.getData());
Stack stack = stackService.getByIdWithListsInTransaction(event.getData().getResourceId());
ClusterApi clusterApi = clusterApiConnectors.getConnector(stack);
Optional<DatalakeDto> datalakeDto = Optional.empty();
Optional<Stack> dataLakeOptional = datalakeService.getDatalakeStackByDatahubStack(stack);
if (dataLakeOptional.isPresent()) {
Stack dataLake = dataLakeOptional.get();
HttpClientConfig httpClientConfig = tlsSecurityService.buildTLSClientConfigForPrimaryGateway(dataLake.getId(), dataLake.getClusterManagerIp(), dataLake.cloudPlatform());
datalakeDto = Optional.ofNullable(DatalakeDto.DatalakeDtoBuilder.aDatalakeDto().withGatewayPort(dataLake.getGatewayPort()).withHttpClientConfig(httpClientConfig).withPassword(dataLake.getCluster().getCloudbreakAmbariPassword()).withUser(dataLake.getCluster().getCloudbreakAmbariUser()).withName(dataLake.getName()).build());
}
clusterApi.clusterSecurityService().deregisterServices(stack.getName(), datalakeDto);
LOGGER.info("Finished disabling Security");
result = new DeregisterServicesResult(event.getData());
} catch (Exception e) {
LOGGER.warn("An error has occured during disabling security", e);
result = new DeregisterServicesResult(e.getMessage(), e, event.getData());
}
LOGGER.info("Sending out DeregisterServicesResult: {}", result);
eventBus.notify(result.selector(), new Event<>(event.getHeaders(), result));
LOGGER.info("DeregisterServicesResult has been sent");
}
Aggregations