use of com.sequenceiq.cloudbreak.common.orchestration.Node in project cloudbreak by hortonworks.
the class UpgradeCcmOrchestratorService method createStateParams.
private OrchestratorStateParams createStateParams(Long stackId, String saltState) {
Stack stack = stackService.getByIdWithListsInTransaction(stackId);
Set<Node> gatewayNodes = stackUtil.collectGatewayNodes(stack);
OrchestratorStateParams stateParams = new OrchestratorStateParams();
stateParams.setState(saltState);
stateParams.setPrimaryGatewayConfig(gatewayConfigService.getPrimaryGatewayConfig(stack));
stateParams.setTargetHostNames(gatewayNodes.stream().map(Node::getHostname).collect(Collectors.toSet()));
stateParams.setAllNodes(gatewayNodes);
stateParams.setExitCriteriaModel(new ClusterDeletionBasedExitCriteriaModel(stack.getId(), stack.getCluster().getId()));
return stateParams;
}
use of com.sequenceiq.cloudbreak.common.orchestration.Node in project cloudbreak by hortonworks.
the class CloudStorageValidationServiceTest method testValidationWithIdbrokerAndRandomHost.
@Test
void testValidationWithIdbrokerAndRandomHost() throws CloudbreakOrchestratorException {
Stack stack = getStack();
when(stackService.getByIdWithClusterInTransaction(STACK_ID)).thenReturn(stack);
when(entitlementService.cloudStorageValidationOnVmEnabled(anyString())).thenReturn(true);
DetailedEnvironmentResponse environment = getEnvironment();
when(environmentClientService.getByCrn(ENV_CRN)).thenReturn(environment);
List<GatewayConfig> gatewayConfigs = getGatewayConfigs();
when(gatewayConfigService.getAllGatewayConfigs(stack)).thenReturn(gatewayConfigs);
Set<Node> nodes = getNodes();
when(stackUtil.collectNodes(stack)).thenReturn(nodes);
when(diagnosticCloudStorageConverter.loggingResponseToCloudStorageDiagnosticsParameters(environment.getTelemetry().getLogging(), REGION)).thenReturn(new AwsDiagnosticParameters());
underTest.validateCloudStorage(STACK_ID);
ArgumentCaptor<Set<String>> targetHostnamesCaptor = ArgumentCaptor.forClass(Set.class);
verify(telemetryOrchestrator, times(2)).validateCloudStorage(anyList(), anySet(), targetHostnamesCaptor.capture(), anyMap(), any());
List<Set<String>> capturedTargetHostnames = targetHostnamesCaptor.getAllValues();
List<String> idbrokerTargets = capturedTargetHostnames.stream().flatMap(Collection::stream).filter(s -> s.equals(IDBROKER_HOSTNAME)).collect(Collectors.toList());
List<String> nonIdbrokerTargets = capturedTargetHostnames.stream().flatMap(Collection::stream).filter(s -> !s.equals(IDBROKER_HOSTNAME)).collect(Collectors.toList());
assertEquals(1, idbrokerTargets.size());
assertEquals(1, nonIdbrokerTargets.size());
}
use of com.sequenceiq.cloudbreak.common.orchestration.Node in project cloudbreak by hortonworks.
the class CloudStorageValidationServiceTest method getNodes.
private Set<Node> getNodes() {
Node idBrokerNode = new Node("ip0", "ip0", "id0", "type0", IDBROKER_HOSTNAME, "idbroker");
Node node1 = new Node("ip1", "ip1", "id1", "type1", "fqdn1", "master");
Node node2 = new Node("ip2", "ip2", "id2", "type2", "fqdn2", "worker");
Node node3 = new Node("ip3", "ip3", "id3", "type3", "fqdn3", "compute");
return Set.of(idBrokerNode, node1, node2, node3);
}
use of com.sequenceiq.cloudbreak.common.orchestration.Node in project cloudbreak by hortonworks.
the class CmDiagnosticsFlowServiceTest method nodes.
private Set<Node> nodes() {
Set<Node> nodes = new HashSet<>();
nodes.add(new Node("hostA", "publicHostA", null, null, "hostA", null, null));
nodes.add(new Node("hostB", "publicHostB", null, null, "hostB", null, null));
return nodes;
}
use of com.sequenceiq.cloudbreak.common.orchestration.Node in project cloudbreak by hortonworks.
the class ClusterHostServiceRunnerTest method testDecoratePillarWithMountInfoAndTargetedSaltCall.
@Test
void testDecoratePillarWithMountInfoAndTargetedSaltCall() throws CloudbreakOrchestratorException {
setupMocksForRunClusterServices();
Set<Node> nodes = Sets.newHashSet(node("fqdn3"), node("gateway1"), node("gateway3"));
when(stackUtil.collectReachableAndUnreachableCandidateNodes(any(), any())).thenReturn(new NodeReachabilityResult(nodes, Set.of()));
underTest.runTargetedClusterServices(stack, cluster, Map.of("fqdn3", "1.1.1.1"));
ArgumentCaptor<Set<Node>> reachableCandidates = ArgumentCaptor.forClass(Set.class);
ArgumentCaptor<SaltConfig> saltConfig = ArgumentCaptor.forClass(SaltConfig.class);
verify(hostOrchestrator).runService(any(), reachableCandidates.capture(), saltConfig.capture(), any());
Set<Node> reachableNodes = reachableCandidates.getValue();
assertTrue(reachableNodes.stream().anyMatch(node -> StringUtils.equals("gateway1", node.getHostname())));
assertTrue(reachableNodes.stream().anyMatch(node -> StringUtils.equals("gateway2", node.getHostname())));
assertTrue(reachableNodes.stream().anyMatch(node -> StringUtils.equals("gateway3", node.getHostname())));
assertTrue(reachableNodes.stream().anyMatch(node -> StringUtils.equals("fqdn3", node.getHostname())));
assertFalse(reachableNodes.stream().anyMatch(node -> StringUtils.equals("fqdn1", node.getHostname())));
assertFalse(reachableNodes.stream().anyMatch(node -> StringUtils.equals("fqdn2", node.getHostname())));
assertTrue(saltConfig.getValue().getServicePillarConfig().keySet().stream().allMatch(Objects::nonNull));
}
Aggregations