Search in sources :

Example 1 with ExtendHostMetadataRequest

use of com.sequenceiq.cloudbreak.reactor.api.event.resource.ExtendHostMetadataRequest in project cloudbreak by hortonworks.

the class StackUpscaleActions method extendHostMetadata.

@Bean(name = "EXTEND_HOST_METADATA_STATE")
public Action<?, ?> extendHostMetadata() {
    return new AbstractStackUpscaleAction<BootstrapNewNodesResult>(BootstrapNewNodesResult.class) {

        @Override
        protected void doExecute(StackScalingFlowContext context, BootstrapNewNodesResult payload, Map<Object, Object> variables) {
            stackUpscaleService.extendingHostMetadata(context.getStack());
            Selectable request = new ExtendHostMetadataRequest(context.getStack().getId(), payload.getRequest().getUpscaleCandidateAddresses());
            sendEvent(context.getFlowId(), request);
        }
    };
}
Also used : Selectable(com.sequenceiq.cloudbreak.cloud.event.Selectable) BootstrapNewNodesResult(com.sequenceiq.cloudbreak.reactor.api.event.resource.BootstrapNewNodesResult) ExtendHostMetadataRequest(com.sequenceiq.cloudbreak.reactor.api.event.resource.ExtendHostMetadataRequest) Map(java.util.Map) StackScalingFlowContext(com.sequenceiq.cloudbreak.core.flow2.stack.downscale.StackScalingFlowContext) Bean(org.springframework.context.annotation.Bean)

Example 2 with ExtendHostMetadataRequest

use of com.sequenceiq.cloudbreak.reactor.api.event.resource.ExtendHostMetadataRequest in project cloudbreak by hortonworks.

the class ExtendHostMetadataHandler method accept.

@Override
public void accept(Event<ExtendHostMetadataRequest> event) {
    ExtendHostMetadataRequest request = event.getData();
    ExtendHostMetadataResult result;
    try {
        hostMetadataSetup.setupNewHostMetadata(request.getStackId(), request.getUpscaleCandidateAddresses());
        result = new ExtendHostMetadataResult(request);
    } catch (Exception e) {
        result = new ExtendHostMetadataResult(e.getMessage(), e, request);
    }
    eventBus.notify(result.selector(), new Event<>(event.getHeaders(), result));
}
Also used : ExtendHostMetadataResult(com.sequenceiq.cloudbreak.reactor.api.event.resource.ExtendHostMetadataResult) ExtendHostMetadataRequest(com.sequenceiq.cloudbreak.reactor.api.event.resource.ExtendHostMetadataRequest)

Aggregations

ExtendHostMetadataRequest (com.sequenceiq.cloudbreak.reactor.api.event.resource.ExtendHostMetadataRequest)2 Selectable (com.sequenceiq.cloudbreak.cloud.event.Selectable)1 StackScalingFlowContext (com.sequenceiq.cloudbreak.core.flow2.stack.downscale.StackScalingFlowContext)1 BootstrapNewNodesResult (com.sequenceiq.cloudbreak.reactor.api.event.resource.BootstrapNewNodesResult)1 ExtendHostMetadataResult (com.sequenceiq.cloudbreak.reactor.api.event.resource.ExtendHostMetadataResult)1 Map (java.util.Map)1 Bean (org.springframework.context.annotation.Bean)1