use of com.sequenceiq.common.api.telemetry.request.TelemetryRequest in project cloudbreak by hortonworks.
the class EnvironmentValidationHandler method validateCloudStorage.
private void validateCloudStorage(Event<EnvironmentValidationDto> environmentDtoEvent, EnvironmentDto environmentDto) {
EnvironmentCloudStorageValidationRequest cloudStorageValidationRequest = new EnvironmentCloudStorageValidationRequest();
cloudStorageValidationRequest.setCredentialCrn(environmentDto.getCredential().getResourceCrn());
TelemetryRequest telemetryRequest = telemetryApiConverter.convertToRequest(environmentDto.getTelemetry());
BackupRequest backupRequest = backupConverter.convertToRequest(environmentDto.getBackup());
cloudStorageValidationRequest.setTelemetry(telemetryRequest);
cloudStorageValidationRequest.setBackup(backupRequest);
ObjectStorageValidateResponse response = null;
try {
response = cloudStorageValidator.validateCloudStorage(environmentDto.getAccountId(), cloudStorageValidationRequest);
} catch (Exception e) {
String message = String.format("Error occured during object storage validation, validation skipped. Error: %s", e.getMessage());
LOGGER.warn(message);
eventSenderService.sendEventAndNotification(environmentDto, ThreadBasedUserCrnProvider.getUserCrn(), ResourceEvent.ENVIRONMENT_VALIDATION_FAILED_AND_SKIPPED, Set.of(e.getMessage()));
}
if (response != null && ResponseStatus.ERROR.equals(response.getStatus())) {
throw new EnvironmentServiceException(response.getError());
}
if (response != null && ResponseStatus.OK.equals(response.getStatus()) && isNotBlank(response.getError())) {
eventSenderService.sendEventAndNotification(environmentDto, ThreadBasedUserCrnProvider.getUserCrn(), ResourceEvent.ENVIRONMENT_VALIDATION_FAILED_AND_SKIPPED, Set.of(response.getError()));
}
}
use of com.sequenceiq.common.api.telemetry.request.TelemetryRequest in project cloudbreak by hortonworks.
the class TelemetryApiConverter method convertToRequest.
public TelemetryRequest convertToRequest(EnvironmentTelemetry telemetry) {
TelemetryRequest telemetryRequest = null;
if (telemetry != null) {
telemetryRequest = new TelemetryRequest();
telemetryRequest.setFluentAttributes(telemetry.getFluentAttributes());
telemetryRequest.setLogging(createLoggingRequestFromEnvSource(telemetry.getLogging()));
telemetryRequest.setMonitoring(createMonitoringRequestFromEnvSource(telemetry.getMonitoring()));
telemetryRequest.setFeatures(createFeaturesRequestEnvSource(telemetry.getFeatures()));
}
return telemetryRequest;
}
use of com.sequenceiq.common.api.telemetry.request.TelemetryRequest in project cloudbreak by hortonworks.
the class CreateFreeIpaRequestToStackConverterTest method createCreateFreeIpaRequest.
private CreateFreeIpaRequest createCreateFreeIpaRequest() {
CreateFreeIpaRequest source = new CreateFreeIpaRequest();
source.setEnvironmentCrn("envCrn");
source.setName("dummyName");
source.setAuthentication(new StackAuthenticationRequest());
source.setTelemetry(new TelemetryRequest());
source.setInstanceGroups(List.of(new InstanceGroupRequest()));
FreeIpaServerRequest freeIpaServerRequest = new FreeIpaServerRequest();
freeIpaServerRequest.setDomain("dummyDomain");
freeIpaServerRequest.setHostname("dummyHostName");
source.setFreeIpa(freeIpaServerRequest);
return source;
}
use of com.sequenceiq.common.api.telemetry.request.TelemetryRequest in project cloudbreak by hortonworks.
the class CreateFreeIpaRequestToStackConverterTest method testConvertForInstanceGroupsWhenAwsNativeIsPresent.
@Test
void testConvertForInstanceGroupsWhenAwsNativeIsPresent() {
CreateFreeIpaRequest source = new CreateFreeIpaRequest();
source.setEnvironmentCrn("envCrn");
source.setName("dummyName");
source.setVariant("AWS_NATIVE");
source.setAuthentication(new StackAuthenticationRequest());
source.setTelemetry(new TelemetryRequest());
source.setInstanceGroups(List.of(new InstanceGroupRequest()));
FreeIpaServerRequest freeIpaServerRequest = new FreeIpaServerRequest();
freeIpaServerRequest.setDomain("dummyDomain");
freeIpaServerRequest.setHostname("dummyHostName");
source.setNetwork(new NetworkRequest());
source.setFreeIpa(freeIpaServerRequest);
DetailedEnvironmentResponse environmentResponse = new DetailedEnvironmentResponse();
environmentResponse.setAws(AwsEnvironmentParameters.builder().withAwsDiskEncryptionParameters(AwsDiskEncryptionParameters.builder().withEncryptionKeyArn("dummyEncryptionKeyArn").build()).build());
Future<String> owner = CompletableFuture.completedFuture("dummyUser");
when(crnService.createCrn(ACCOUNT_ID, CrnResourceDescriptor.FREEIPA)).thenReturn("resourceCrn");
when(stackAuthenticationConverter.convert(source.getAuthentication())).thenReturn(new StackAuthentication());
when(instanceGroupConverter.convert(any(), any(), any(), any(), any(), any(), mapCaptorForEncryption.capture())).thenReturn(new InstanceGroup());
when(networkConverter.convert(any(NetworkRequest.class))).thenReturn(new Network());
when(telemetryConverter.convert(source.getTelemetry())).thenReturn(new Telemetry());
when(backupConverter.convert(source.getTelemetry())).thenReturn(new Backup());
when(entitlementService.internalTenant(ACCOUNT_ID)).thenReturn(Boolean.FALSE);
when(costTagging.prepareDefaultTags(any())).thenReturn(new HashMap<>());
Stack stack = underTest.convert(source, environmentResponse, ACCOUNT_ID, owner, "crn1", CloudPlatform.AWS.name());
assertEquals(stack.getPlatformvariant(), "AWS_NATIVE");
assertNull(mapCaptorForEncryption.getValue().get(GCP_KMS_ENCRYPTION_KEY));
assertNull(mapCaptorForEncryption.getValue().get(DISK_ENCRYPTION_SET_ID));
}
use of com.sequenceiq.common.api.telemetry.request.TelemetryRequest in project cloudbreak by hortonworks.
the class TelemetryConverterTest method testConvertFromRequestForGCS.
@Test
public void testConvertFromRequestForGCS() {
// GIVEN
TelemetryRequest telemetryRequest = new TelemetryRequest();
LoggingRequest logging = new LoggingRequest();
GcsCloudStorageV1Parameters gcsCloudStorageV1Parameters = new GcsCloudStorageV1Parameters();
gcsCloudStorageV1Parameters.setServiceAccountEmail(EMAIL);
logging.setGcs(gcsCloudStorageV1Parameters);
FeaturesRequest featuresRequest = new FeaturesRequest();
featuresRequest.addClusterLogsCollection(false);
telemetryRequest.setLogging(logging);
telemetryRequest.setFeatures(featuresRequest);
// WHEN
Telemetry result = underTest.convert(telemetryRequest);
// THEN
assertThat(result.getFeatures().getWorkloadAnalytics(), nullValue());
assertThat(result.getFeatures().getClusterLogsCollection().isEnabled(), is(false));
assertThat(result.getDatabusEndpoint(), is(DATABUS_ENDPOINT));
assertThat(result.getLogging().getGcs(), notNullValue());
assertThat(result.getLogging().getGcs().getServiceAccountEmail(), is(EMAIL));
}
Aggregations