use of com.sequenceiq.common.api.cloudstorage.old.S3CloudStorageV1Parameters in project cloudbreak by hortonworks.
the class CloudStorageManifesterTest method stripWhitespacesWhenBaseLocationHasWhiteSpaces.
@Test
public void stripWhitespacesWhenBaseLocationHasWhiteSpaces() {
String baseLocationWithWhiteSpaces = "s3a://cloudbreak bucket/something ";
SdxCloudStorageRequest cloudStorageRequest = new SdxCloudStorageRequest();
cloudStorageRequest.setBaseLocation(baseLocationWithWhiteSpaces);
S3CloudStorageV1Parameters params = new S3CloudStorageV1Parameters();
params.setInstanceProfile("instanceProfile");
cloudStorageRequest.setS3(params);
underTest.normalizeCloudStorageRequest(cloudStorageRequest);
assertEquals("s3a://cloudbreak bucket/something", cloudStorageRequest.getBaseLocation());
}
use of com.sequenceiq.common.api.cloudstorage.old.S3CloudStorageV1Parameters in project cloudbreak by hortonworks.
the class CloudBackupFolderResolverServiceTest method createBackup.
private Backup createBackup() {
Backup backup = new Backup();
backup.setS3(new S3CloudStorageV1Parameters());
backup.setStorageLocation("s3://mybucket");
return backup;
}
use of com.sequenceiq.common.api.cloudstorage.old.S3CloudStorageV1Parameters in project cloudbreak by hortonworks.
the class DiiagnosticsCollectionValidatorTest method testValidateWithValidCloudStorage.
@Test
void testValidateWithValidCloudStorage() {
BaseDiagnosticsCollectionRequest request = new BaseDiagnosticsCollectionRequest();
request.setDestination(DiagnosticsDestination.CLOUD_STORAGE);
Telemetry telemetry = new Telemetry();
Logging logging = new Logging();
logging.setS3(new S3CloudStorageV1Parameters());
telemetry.setLogging(logging);
underTest.validate(request, createStackWithTelemetry(telemetry));
}
use of com.sequenceiq.common.api.cloudstorage.old.S3CloudStorageV1Parameters in project cloudbreak by hortonworks.
the class StackToCreateFreeIpaRequestConverterTest method testConvert.
@Test
void testConvert() {
// Initialize
Stack stack = new Stack();
stack.setEnvironmentCrn(ENVIRONMENT_CRN);
stack.setName(NAME + "_" + TERMINATION_TIME);
stack.setRegion(REGION);
stack.setAvailabilityZone(AVAILIBILTYY_ZONE);
stack.setGatewayport(GATEWAY_PORT);
stack.setUseCcm(true);
stack.setTunnel(Tunnel.CCMV2);
stack.setPlatformvariant(CLOUD_PLATFORM);
StackStatus stackStatus = new StackStatus();
stackStatus.setStack(stack);
stackStatus.setDetailedStackStatus(DetailedStackStatus.DELETE_COMPLETED);
stackStatus.setStatus(Status.DELETE_COMPLETED);
stack.setStackStatus(stackStatus);
InstanceGroup ig = new InstanceGroup();
ig.setGroupName(INSTANCE_GROUP_NAME);
Template template = new Template();
template.setInstanceType(INSTANCE_TYPE);
template.setAttributes(new Json(Map.of(AwsInstanceTemplate.EC2_SPOT_PERCENTAGE, EC2_SPOT_PERCENTAGE, AwsInstanceTemplate.EC2_SPOT_MAX_PRICE, EC2_SPOT_MAX_PRICE)));
template.setVolumeType(VOLUME_TYPE);
template.setVolumeCount(VOLUMNE_COUNT);
template.setVolumeSize(VOLUMNE_SIZE);
ig.setTemplate(template);
InstanceGroupNetwork igNetwork = new InstanceGroupNetwork();
igNetwork.setAttributes(new Json(Map.of(NetworkConstants.SUBNET_IDS, SUBNET_IDS)));
ig.setInstanceGroupNetwork(igNetwork);
ig.setNodeCount(NODE_COUNT);
SecurityGroup sg = new SecurityGroup();
sg.setSecurityGroupIds(SECURITY_GROUP_IDS);
SecurityRule sr = new SecurityRule();
sr.setModifiable(true);
sr.setPorts(PORT);
sr.setProtocol(PROTOCOL);
sr.setCidr(CIDR);
sg.setSecurityRules(Set.of(sr));
ig.setSecurityGroup(sg);
ig.setInstanceGroupType(InstanceGroupType.MASTER);
stack.setInstanceGroups(Set.of(ig));
StackAuthentication stackAuthentication = new StackAuthentication();
stackAuthentication.setLoginUserName(LOGIN_NAME);
stackAuthentication.setPublicKey(PUBLIC_KEY);
stackAuthentication.setPublicKeyId(PUBLIC_KEY_ID);
stack.setStackAuthentication(stackAuthentication);
Network network = new Network();
network.setNetworkCidrs(List.of(CIDR));
network.setOutboundInternetTraffic(OutboundInternetTraffic.ENABLED);
network.setAttributes(new Json(Map.of("vpcId", VPC_ID, "subnetId", SUBNET_ID)));
network.setCloudPlatform(CLOUD_PLATFORM);
stack.setNetwork(network);
ImageEntity image = new ImageEntity();
image.setImageCatalogUrl(IMAGE_CATALOG_URL);
image.setImageId(IMAGE_ID);
image.setOs(IMAGE_OS);
stack.setImage(image);
FreeIpa freeIpa = new FreeIpa();
freeIpa.setAdminGroupName(ADMIN_GROUP_NAME);
freeIpa.setAdminPassword(ADMIN_PASSWORD);
freeIpa.setDomain(DOMAIN);
freeIpa.setHostname(HOSTNAME);
Telemetry telemetry = new Telemetry();
Map<String, Object> fluentAttributes = Map.of("fluent", "attributes");
telemetry.setFluentAttributes(fluentAttributes);
Logging logging = new Logging();
logging.setStorageLocation(STORAGE_LOCATION);
S3CloudStorageV1Parameters s3Storage = new S3CloudStorageV1Parameters();
logging.setS3(s3Storage);
AdlsGen2CloudStorageV1Parameters adlsStorage = new AdlsGen2CloudStorageV1Parameters();
logging.setAdlsGen2(adlsStorage);
GcsCloudStorageV1Parameters gcsStorage = new GcsCloudStorageV1Parameters();
logging.setGcs(gcsStorage);
CloudwatchParams cloudwatchParamsStorage = new CloudwatchParams();
logging.setCloudwatch(cloudwatchParamsStorage);
telemetry.setLogging(logging);
Features features = new Features();
features.setClusterLogsCollection(new FeatureSetting());
features.setMonitoring(new FeatureSetting());
features.setCloudStorageLogging(new FeatureSetting());
features.setWorkloadAnalytics(new FeatureSetting());
telemetry.setFeatures(features);
WorkloadAnalytics workloadAnalytics = new WorkloadAnalytics();
workloadAnalytics.setAttributes(Map.of());
telemetry.setWorkloadAnalytics(workloadAnalytics);
stack.setTelemetry(telemetry);
Backup backup = new Backup();
backup.setStorageLocation(BACKUP_STORAGE_LOCATION);
S3CloudStorageV1Parameters s3BackupLocation = new S3CloudStorageV1Parameters();
backup.setS3(s3BackupLocation);
AdlsGen2CloudStorageV1Parameters adlsBackupLocation = new AdlsGen2CloudStorageV1Parameters();
backup.setAdlsGen2(adlsBackupLocation);
GcsCloudStorageV1Parameters gcsBackupLocation = new GcsCloudStorageV1Parameters();
backup.setGcs(gcsBackupLocation);
stack.setBackup(backup);
StackTags tags = new StackTags(USER_DEFINED_TAGS, APPLICATION_TAGS, DEFAULT_TAGS);
stack.setTags(new Json(tags));
when(freeIpaService.findByStack(stack)).thenReturn(freeIpa);
// Convert
CreateFreeIpaRequest request = underTest.convert(stack);
// Validate
assertNotNull(request);
assertEquals(ENVIRONMENT_CRN, request.getEnvironmentCrn());
assertEquals(NAME, request.getName());
assertEquals(GATEWAY_PORT, request.getGatewayPort());
assertTrue(request.getUseCcm());
assertEquals(Tunnel.CCMV2, request.getTunnel());
assertEquals(CLOUD_PLATFORM, request.getVariant());
PlacementRequest placementRequest = request.getPlacement();
assertNotNull(placementRequest);
assertEquals(REGION, placementRequest.getRegion());
assertEquals(AVAILIBILTYY_ZONE, placementRequest.getAvailabilityZone());
assertEquals(1, request.getInstanceGroups().size());
InstanceGroupRequest igRequest = request.getInstanceGroups().get(0);
assertEquals(INSTANCE_GROUP_NAME, igRequest.getName());
InstanceTemplateRequest templateRequest = igRequest.getInstanceTemplate();
assertNotNull(templateRequest);
assertEquals(INSTANCE_TYPE, templateRequest.getInstanceType());
assertNotNull(templateRequest.getAws());
assertNotNull(templateRequest.getAws().getSpot());
assertEquals(EC2_SPOT_PERCENTAGE, templateRequest.getAws().getSpot().getPercentage());
assertEquals(EC2_SPOT_MAX_PRICE, templateRequest.getAws().getSpot().getMaxPrice());
List<VolumeRequest> volumeRequests = templateRequest.getAttachedVolumes().stream().collect(Collectors.toList());
assertEquals(1, volumeRequests.size());
assertEquals(VOLUME_TYPE, volumeRequests.get(0).getType());
assertEquals(VOLUMNE_COUNT, volumeRequests.get(0).getCount());
assertEquals(VOLUMNE_SIZE, volumeRequests.get(0).getSize());
assertNotNull(igRequest.getNetwork());
assertNotNull(igRequest.getNetwork().getAws());
assertEquals(SUBNET_IDS, igRequest.getNetwork().getAws().getSubnetIds());
assertEquals(NODE_COUNT, ig.getNodeCount());
assertNotNull(igRequest.getSecurityGroup());
assertEquals(SECURITY_GROUP_IDS, igRequest.getSecurityGroup().getSecurityGroupIds());
List<SecurityRuleRequest> srRequst = igRequest.getSecurityGroup().getSecurityRules();
assertEquals(1, srRequst.size());
assertTrue(srRequst.get(0).isModifiable());
assertEquals(List.of(PORT), srRequst.get(0).getPorts());
assertEquals(PROTOCOL, srRequst.get(0).getProtocol());
assertEquals(CIDR, srRequst.get(0).getSubnet());
assertEquals(InstanceGroupType.MASTER, ig.getInstanceGroupType());
StackAuthenticationRequest stackAuthenticationRequest = request.getAuthentication();
assertNotNull(stackAuthenticationRequest);
assertEquals(LOGIN_NAME, stackAuthenticationRequest.getLoginUserName());
assertEquals(PUBLIC_KEY, stackAuthenticationRequest.getPublicKey());
assertEquals(PUBLIC_KEY_ID, stackAuthenticationRequest.getPublicKeyId());
NetworkRequest networkRequest = request.getNetwork();
assertNotNull(networkRequest);
assertEquals(CloudPlatform.AWS, networkRequest.getCloudPlatform());
assertEquals(List.of(CIDR), networkRequest.getNetworkCidrs());
assertEquals(OutboundInternetTraffic.ENABLED, networkRequest.getOutboundInternetTraffic());
assertNotNull(networkRequest.getAws());
assertNull(networkRequest.getAzure());
assertNull(networkRequest.getGcp());
assertNull(networkRequest.getMock());
assertNull(networkRequest.getYarn());
assertEquals(CloudPlatform.AWS, networkRequest.getAws().getCloudPlatform());
assertEquals(VPC_ID, networkRequest.getAws().getVpcId());
assertEquals(SUBNET_ID, networkRequest.getAws().getSubnetId());
ImageSettingsRequest imageSettingsRequest = request.getImage();
assertNotNull(imageSettingsRequest);
assertEquals(IMAGE_ID, imageSettingsRequest.getId());
assertEquals(IMAGE_CATALOG_URL, imageSettingsRequest.getCatalog());
assertEquals(IMAGE_OS, imageSettingsRequest.getOs());
FreeIpaServerRequest freeIpaServerRequest = request.getFreeIpa();
assertNotNull(freeIpaServerRequest);
assertEquals(ADMIN_GROUP_NAME, freeIpaServerRequest.getAdminGroupName());
assertEquals(ADMIN_PASSWORD, freeIpaServerRequest.getAdminPassword());
assertEquals(DOMAIN, freeIpaServerRequest.getDomain());
assertEquals(HOSTNAME, freeIpaServerRequest.getHostname());
TelemetryRequest telemetryRequest = request.getTelemetry();
assertNotNull(telemetryRequest);
assertEquals(fluentAttributes, telemetryRequest.getFluentAttributes());
assertNotNull(telemetryRequest.getLogging());
assertEquals(STORAGE_LOCATION_REQUEST, telemetryRequest.getLogging().getStorageLocation());
assertEquals(s3Storage, telemetryRequest.getLogging().getS3());
assertEquals(adlsStorage, telemetryRequest.getLogging().getAdlsGen2());
assertEquals(gcsStorage, telemetryRequest.getLogging().getGcs());
assertNotNull(telemetryRequest.getLogging().getCloudwatch());
assertNotNull(telemetryRequest.getFeatures());
assertNotNull(telemetryRequest.getFeatures().getClusterLogsCollection());
assertNotNull(telemetryRequest.getFeatures().getMonitoring());
assertNotNull(telemetryRequest.getFeatures().getCloudStorageLogging());
assertNotNull(telemetryRequest.getFeatures().getWorkloadAnalytics());
assertNotNull(telemetryRequest.getWorkloadAnalytics());
assertEquals(Map.of(), telemetryRequest.getWorkloadAnalytics().getAttributes());
BackupRequest backupRequest = request.getBackup();
assertNotNull(backupRequest);
assertEquals(BACKUP_STORAGE_LOCATION_REQUEST, backupRequest.getStorageLocation());
assertEquals(s3BackupLocation, backupRequest.getS3());
assertEquals(adlsBackupLocation, backupRequest.getAdlsGen2());
assertEquals(gcsBackupLocation, backupRequest.getGcs());
assertEquals(USER_DEFINED_TAGS, request.getTags());
}
use of com.sequenceiq.common.api.cloudstorage.old.S3CloudStorageV1Parameters in project cloudbreak by hortonworks.
the class TelemetryConverterTest method testConvertFromRequest.
@Test
public void testConvertFromRequest() {
// GIVEN
TelemetryRequest telemetryRequest = new TelemetryRequest();
LoggingRequest logging = new LoggingRequest();
logging.setS3(new S3CloudStorageV1Parameters());
FeaturesRequest featuresRequest = new FeaturesRequest();
featuresRequest.addClusterLogsCollection(false);
telemetryRequest.setLogging(logging);
MonitoringRequest monitoringRequest = new MonitoringRequest();
monitoringRequest.setRemoteWriteUrl(MONITORING_REMOTE_WRITE_URL);
telemetryRequest.setMonitoring(monitoringRequest);
telemetryRequest.setFeatures(featuresRequest);
// WHEN
Telemetry result = underTest.convert(telemetryRequest);
// THEN
assertThat(result.getFeatures().getWorkloadAnalytics(), nullValue());
assertThat(result.getFeatures().getClusterLogsCollection().isEnabled(), is(false));
assertThat(result.getFeatures().getCloudStorageLogging().isEnabled(), is(true));
assertThat(result.getFeatures().getMonitoring().isEnabled(), is(true));
assertThat(result.getDatabusEndpoint(), is(DATABUS_ENDPOINT));
assertThat(result.getMonitoring().getRemoteWriteUrl(), is(MONITORING_REMOTE_WRITE_URL));
}
Aggregations