use of com.sequenceiq.cloudbreak.telemetry.nodestatus.NodeStatusConfigView in project cloudbreak by hortonworks.
the class TelemetryDecoratorTest method testDecorateWithMonitoring.
@Test
public void testDecorateWithMonitoring() {
// GIVEN
Map<String, SaltPillarProperties> servicePillar = new HashMap<>();
TelemetryClusterDetails clusterDetails = TelemetryClusterDetails.Builder.builder().withCrn("myClusterCrn").withType("datahub").withVersion("1.0.0").build();
MonitoringConfigView monitoringConfigView = new MonitoringConfigView.Builder().withEnabled(true).withClusterDetails(clusterDetails).build();
NodeStatusConfigView nodeStatusConfigView = new NodeStatusConfigView.Builder().withServerUsername("admin").withServerPassword("admin".toCharArray()).build();
DatabusConfigView dataConfigView = new DatabusConfigView.Builder().build();
TelemetryCommonConfigView telemetryCommonConfigView = new TelemetryCommonConfigView.Builder().withClusterDetails(clusterDetails).build();
MeteringConfigView meteringConfigView = new MeteringConfigView.Builder().build();
mockConfigServiceResults(dataConfigView, new FluentConfigView.Builder().build(), meteringConfigView, monitoringConfigView, nodeStatusConfigView, telemetryCommonConfigView);
// WHEN
Map<String, SaltPillarProperties> result = underTest.decoratePillar(servicePillar, createStack(), new Telemetry());
// THEN
Map<String, Object> results = createMapFromFluentPillars(result, "monitoring");
assertEquals(results.get("clusterType"), "datahub");
assertEquals(results.get("clusterVersion"), "1.0.0");
assertEquals(results.get("clusterCrn"), "myClusterCrn");
assertEquals(results.get("enabled"), true);
}
use of com.sequenceiq.cloudbreak.telemetry.nodestatus.NodeStatusConfigView in project cloudbreak by hortonworks.
the class TelemetryConfigService method getCdpNodeStatusPillarConfig.
private Map<String, ? extends SaltPillarProperties> getCdpNodeStatusPillarConfig(Stack stack) {
char[] passwordInput = null;
if (StringUtils.isNotBlank(stack.getCdpNodeStatusMonitorPassword())) {
passwordInput = stack.getCdpNodeStatusMonitorPassword().toCharArray();
}
boolean saltPingEnabled = entitlementService.nodestatusSaltPingEnabled(stack.getAccountId());
NodeStatusConfigView nodeStatusConfigs = nodeStatusConfigService.createNodeStatusConfig(stack.getCdpNodeStatusMonitorUser(), passwordInput, saltPingEnabled);
return Map.of("nodestatus", new SaltPillarProperties("/nodestatus/init.sls", Collections.singletonMap("nodestatus", nodeStatusConfigs.toMap())));
}
use of com.sequenceiq.cloudbreak.telemetry.nodestatus.NodeStatusConfigView in project cloudbreak by hortonworks.
the class TelemetryDecorator method setupNodeStatusMonitor.
private void setupNodeStatusMonitor(Map<String, SaltPillarProperties> servicePillar, Stack stack, char[] passwordInput) {
String accountId = Crn.safeFromString(stack.getResourceCrn()).getAccountId();
boolean saltPingEnabled = entitlementService.nodestatusSaltPingEnabled(accountId);
NodeStatusConfigView nodeStatusConfigView = nodeStatusConfigService.createNodeStatusConfig(stack.getCluster().getCdpNodeStatusMonitorUser(), passwordInput, saltPingEnabled);
Map<String, Object> nodeStatusConfig = nodeStatusConfigView.toMap();
servicePillar.put("nodestatus", new SaltPillarProperties("/nodestatus/init.sls", singletonMap("nodestatus", nodeStatusConfig)));
}
use of com.sequenceiq.cloudbreak.telemetry.nodestatus.NodeStatusConfigView in project cloudbreak by hortonworks.
the class TelemetryConfigService method getCdpNodeStatusPillarConfig.
private Map<String, ? extends SaltPillarProperties> getCdpNodeStatusPillarConfig(Stack stack, char[] passwordInput) {
boolean saltPingEnabled = entitlementService.nodestatusSaltPingEnabled(stack.getAccountId());
NodeStatusConfigView nodeStatusConfigs = nodeStatusConfigService.createNodeStatusConfig(stack.getCdpNodeStatusMonitorUser(), passwordInput, saltPingEnabled);
return Map.of("nodestatus", new SaltPillarProperties("/nodestatus/init.sls", Collections.singletonMap("nodestatus", nodeStatusConfigs.toMap())));
}
use of com.sequenceiq.cloudbreak.telemetry.nodestatus.NodeStatusConfigView in project cloudbreak by hortonworks.
the class TelemetryDecoratorTest method testDecorateWithSaasMonitoring.
@Test
public void testDecorateWithSaasMonitoring() {
// GIVEN
Map<String, SaltPillarProperties> servicePillar = new HashMap<>();
TelemetryClusterDetails clusterDetails = TelemetryClusterDetails.Builder.builder().withCrn("myClusterCrn").withType("datahub").withVersion("1.0.0").build();
MonitoringConfigView monitoringConfigView = new MonitoringConfigView.Builder().withEnabled(true).withClusterDetails(clusterDetails).build();
NodeStatusConfigView nodeStatusConfigView = new NodeStatusConfigView.Builder().withServerUsername("admin").withServerPassword("admin".toCharArray()).build();
DatabusConfigView dataConfigView = new DatabusConfigView.Builder().build();
TelemetryCommonConfigView telemetryCommonConfigView = new TelemetryCommonConfigView.Builder().withClusterDetails(clusterDetails).build();
MeteringConfigView meteringConfigView = new MeteringConfigView.Builder().build();
mockConfigServiceResults(dataConfigView, new FluentConfigView.Builder().build(), meteringConfigView, monitoringConfigView, nodeStatusConfigView, telemetryCommonConfigView);
given(entitlementService.isCdpSaasEnabled(anyString())).willReturn(true);
// WHEN
Map<String, SaltPillarProperties> result = underTest.decoratePillar(servicePillar, createStack(), new Telemetry());
// THEN
Map<String, Object> results = createMapFromFluentPillars(result, "monitoring");
assertEquals(results.get("clusterType"), "datahub");
assertEquals(results.get("clusterVersion"), "1.0.0");
assertEquals(results.get("clusterCrn"), "myClusterCrn");
assertEquals(results.get("enabled"), true);
}
Aggregations