use of com.sequenceiq.cloudbreak.core.flow2.cluster.AbstractClusterAction in project cloudbreak by hortonworks.
the class ChangePrimaryGatewayActions method repairGatewayAction.
@Bean(name = "CHANGE_PRIMARY_GATEWAY_STATE")
public Action<?, ?> repairGatewayAction() {
return new AbstractClusterAction<ChangePrimaryGatewayTriggerEvent>(ChangePrimaryGatewayTriggerEvent.class) {
@Override
protected void doExecute(ClusterViewContext context, ChangePrimaryGatewayTriggerEvent payload, Map<Object, Object> variables) {
changePrimaryGatewayService.changePrimaryGatewayStarted(context.getStackId());
Selectable request = new ChangePrimaryGatewayRequest(context.getStackId());
sendEvent(context.getFlowId(), request.selector(), request);
}
};
}
use of com.sequenceiq.cloudbreak.core.flow2.cluster.AbstractClusterAction in project cloudbreak by hortonworks.
the class ClusterDownscaleActions method collectCandidatesAction.
@Bean(name = "COLLECT_CANDIDATES_STATE")
public Action<?, ?> collectCandidatesAction() {
return new AbstractClusterAction<ClusterDownscaleTriggerEvent>(ClusterDownscaleTriggerEvent.class) {
@Override
protected void doExecute(ClusterViewContext context, ClusterDownscaleTriggerEvent payload, Map<Object, Object> variables) {
clusterDownscaleService.clusterDownscaleStarted(context.getStackId(), payload.getHostGroupName(), payload.getAdjustment(), payload.getHostNames());
Selectable request = new CollectDownscaleCandidatesRequest(context.getStackId(), payload.getHostGroupName(), payload.getAdjustment(), payload.getHostNames());
sendEvent(context.getFlowId(), request.selector(), request);
}
};
}
use of com.sequenceiq.cloudbreak.core.flow2.cluster.AbstractClusterAction in project cloudbreak by hortonworks.
the class ClusterCredentialChangeActions method changingClusterCredential.
@Bean(name = "CLUSTER_CREDENTIALCHANGE_STATE")
public Action<?, ?> changingClusterCredential() {
return new AbstractClusterAction<ClusterCredentialChangeTriggerEvent>(ClusterCredentialChangeTriggerEvent.class) {
@Override
protected void doExecute(ClusterViewContext ctx, ClusterCredentialChangeTriggerEvent payload, Map<Object, Object> variables) {
clusterCredentialChangeService.credentialChange(ctx.getStackId());
ClusterCredentialChangeRequest request;
switch(payload.getType()) {
case REPLACE:
request = ClusterCredentialChangeRequest.replaceUserRequest(ctx.getStackId(), payload.getUser(), payload.getPassword());
break;
case UPDATE:
request = ClusterCredentialChangeRequest.changePasswordRequest(ctx.getStackId(), payload.getPassword());
break;
default:
throw new UnsupportedOperationException("Ambari credential update request not supported: " + payload.getType());
}
sendEvent(ctx.getFlowId(), request);
}
};
}
use of com.sequenceiq.cloudbreak.core.flow2.cluster.AbstractClusterAction in project cloudbreak by hortonworks.
the class ClusterTerminationActions method terminatingCluster.
@Bean(name = "CLUSTER_TERMINATING_STATE")
public Action<?, ?> terminatingCluster() {
return new AbstractClusterAction<StackEvent>(StackEvent.class) {
@Override
protected void doExecute(ClusterViewContext context, StackEvent payload, Map<Object, Object> variables) {
clusterTerminationFlowService.terminateCluster(context);
sendEvent(context);
}
@Override
protected void initPayloadConverterMap(List<PayloadConverter<StackEvent>> payloadConverters) {
payloadConverters.add(new DisableKerberosResultToStackEventConverter());
}
@Override
protected Selectable createRequest(ClusterViewContext context) {
return new ClusterTerminationRequest(context.getStackId(), context.getClusterView() != null ? context.getClusterView().getId() : null);
}
};
}
use of com.sequenceiq.cloudbreak.core.flow2.cluster.AbstractClusterAction in project cloudbreak by hortonworks.
the class EphemeralClusterActions method updateNameserverAction.
@Bean(name = "EPHEMERAL_CLUSTER_UPDATE_STATE")
public Action<?, ?> updateNameserverAction() {
return new AbstractClusterAction<EphemeralClusterUpdateTriggerEvent>(EphemeralClusterUpdateTriggerEvent.class) {
@Override
protected void doExecute(ClusterViewContext context, EphemeralClusterUpdateTriggerEvent payload, Map<Object, Object> variables) {
ephemeralClusterService.updateClusterStarted(context.getStackId());
Selectable request = new EphemeralClusterUpdateRequest(context.getStackId());
sendEvent(context.getFlowId(), request.selector(), request);
}
};
}
Aggregations