use of com.sequenceiq.freeipa.flow.freeipa.cleanup.CleanupEvent in project cloudbreak by hortonworks.
the class FreeIpaDownscaleActions method updateDnsSoaRecordsAction.
@Bean(name = "DOWNSCALE_UPDATE_DNS_SOA_RECORDS_STATE")
public Action<?, ?> updateDnsSoaRecordsAction() {
return new AbstractDownscaleAction<>(RemoveDnsResponse.class) {
@Override
protected void doExecute(StackContext context, RemoveDnsResponse payload, Map<Object, Object> variables) {
stackUpdater.updateStackStatus(context.getStack().getId(), getInProgressStatus(variables), "Update DNS SOA records");
CleanupEvent cleanupEvent = buildCleanupEvent(context, getDownscaleHosts(variables));
UpdateDnsSoaRecordsRequest request = new UpdateDnsSoaRecordsRequest(cleanupEvent);
sendEvent(context, request);
}
};
}
use of com.sequenceiq.freeipa.flow.freeipa.cleanup.CleanupEvent in project cloudbreak by hortonworks.
the class FreeIpaDownscaleActions method revokeCertsAction.
@Bean(name = "DOWNSCALE_REVOKE_CERTS_STATE")
public Action<?, ?> revokeCertsAction() {
return new AbstractDownscaleAction<>(StackEvent.class) {
@Override
protected void doExecute(StackContext context, StackEvent payload, Map<Object, Object> variables) {
stackUpdater.updateStackStatus(context.getStack().getId(), getInProgressStatus(variables), "Revoking certificates");
CleanupEvent cleanupEvent = buildCleanupEvent(context, getDownscaleHosts(variables));
RevokeCertsRequest request = new RevokeCertsRequest(cleanupEvent, context.getStack());
sendEvent(context, request);
}
};
}
use of com.sequenceiq.freeipa.flow.freeipa.cleanup.CleanupEvent in project cloudbreak by hortonworks.
the class FreeIpaDownscaleActions method removeDnsEntriesAction.
@Bean(name = "DOWNSCALE_REMOVE_DNS_ENTRIES_STATE")
public Action<?, ?> removeDnsEntriesAction() {
return new AbstractDownscaleAction<>(RevokeCertsResponse.class) {
@Override
protected void doExecute(StackContext context, RevokeCertsResponse payload, Map<Object, Object> variables) {
stackUpdater.updateStackStatus(context.getStack().getId(), getInProgressStatus(variables), "Remove DNS entries");
CleanupEvent cleanupEvent = buildCleanupEvent(context, getDownscaleHosts(variables));
RemoveDnsRequest request = new RemoveDnsRequest(cleanupEvent);
sendEvent(context, request);
}
};
}
use of com.sequenceiq.freeipa.flow.freeipa.cleanup.CleanupEvent in project cloudbreak by hortonworks.
the class RemoveHostsHandlerTest method testSendsSuccessMessageWhenRemovingHostAndIPAddressIsReusedAfterRepair.
@Test
void testSendsSuccessMessageWhenRemovingHostAndIPAddressIsReusedAfterRepair() throws Exception {
CleanupEvent cleanupEvent = new CleanupEvent(STACK_ID, USERS, Set.of("example1.com"), ROLES, IPS, STATES_TO_SKIP, ACCOUNT_ID, OPERATION_ID, CLUSTER_NAME, ENVIRONMENT_CRN);
RemoveHostsFromOrchestrationRequest request = new RemoveHostsFromOrchestrationRequest(cleanupEvent);
Stack stack = new Stack();
when(stackService.getByIdWithListsInTransaction(any())).thenReturn(stack);
InstanceGroup ig = new InstanceGroup();
ig.setGroupName("group");
Template t = new Template();
t.setInstanceType("GATEWAY");
ig.setTemplate(t);
InstanceMetaData im1 = new InstanceMetaData();
im1.setDiscoveryFQDN("example1.com");
im1.setPrivateIp("192.168.0.1");
im1.setInstanceId("i-1");
im1.setInstanceGroup(ig);
InstanceMetaData im2 = new InstanceMetaData();
im2.setDiscoveryFQDN("example2.com");
im2.setPrivateIp("192.168.0.2");
im2.setInstanceId("i-2");
im2.setInstanceGroup(ig);
InstanceMetaData im3 = new InstanceMetaData();
im3.setDiscoveryFQDN("example3.com");
im3.setPrivateIp("192.168.0.1");
im3.setInstanceId("i-3");
im3.setInstanceGroup(ig);
ig.setInstanceMetaData(Set.of(im1, im2, im3));
stack.setInstanceGroups(Set.of(ig));
underTest.accept(new Event<>(request));
verify(eventBus, times(1)).notify(eq("REMOVEHOSTSFROMORCHESTRATIONSUCCESS"), ArgumentMatchers.<Event>any());
verify(bootstrapService).bootstrap(any(), any());
verify(hostOrchestrator).tearDown(any(), any(), eq(Map.of("example1.com", "192.168.0.1")), any(), any());
}
use of com.sequenceiq.freeipa.flow.freeipa.cleanup.CleanupEvent in project cloudbreak by hortonworks.
the class RemoveHostsHandlerTest method testSendsSuccessMessageWhenNoHostnamesAreProvided.
@Test
void testSendsSuccessMessageWhenNoHostnamesAreProvided() throws Exception {
CleanupEvent cleanupEvent = new CleanupEvent(STACK_ID, USERS, Set.of(), ROLES, IPS, STATES_TO_SKIP, ACCOUNT_ID, OPERATION_ID, CLUSTER_NAME, ENVIRONMENT_CRN);
RemoveHostsFromOrchestrationRequest request = new RemoveHostsFromOrchestrationRequest(cleanupEvent);
underTest.accept(new Event<>(request));
verify(eventBus, times(1)).notify(eq("REMOVEHOSTSFROMORCHESTRATIONSUCCESS"), ArgumentMatchers.<Event>any());
}
Aggregations