Search in sources :

Example 1 with DeregisterServicesResult

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");
}
Also used : ClusterApi(com.sequenceiq.cloudbreak.cluster.api.ClusterApi) HttpClientConfig(com.sequenceiq.cloudbreak.client.HttpClientConfig) DatalakeDto(com.sequenceiq.cloudbreak.dto.datalake.DatalakeDto) DeregisterServicesResult(com.sequenceiq.cloudbreak.reactor.api.event.cluster.DeregisterServicesResult) Stack(com.sequenceiq.cloudbreak.domain.stack.Stack)

Aggregations

HttpClientConfig (com.sequenceiq.cloudbreak.client.HttpClientConfig)1 ClusterApi (com.sequenceiq.cloudbreak.cluster.api.ClusterApi)1 Stack (com.sequenceiq.cloudbreak.domain.stack.Stack)1 DatalakeDto (com.sequenceiq.cloudbreak.dto.datalake.DatalakeDto)1 DeregisterServicesResult (com.sequenceiq.cloudbreak.reactor.api.event.cluster.DeregisterServicesResult)1