Search in sources :

Example 6 with GcsCloudStorageV1Parameters

use of com.sequenceiq.common.api.cloudstorage.old.GcsCloudStorageV1Parameters in project cloudbreak by hortonworks.

the class CloudStorageManifesterTest method whenEnvironmentHasOnlyLoggingEnabledThenShouldApplyAsLogIdentityForGCS.

@Test
public void whenEnvironmentHasOnlyLoggingEnabledThenShouldApplyAsLogIdentityForGCS() {
    DetailedEnvironmentResponse environment = new DetailedEnvironmentResponse();
    environment.setCloudPlatform("GCP");
    TelemetryResponse telemetryResponse = new TelemetryResponse();
    LoggingResponse loggingResponse = new LoggingResponse();
    GcsCloudStorageV1Parameters gcsCloudStorageV1Parameters = new GcsCloudStorageV1Parameters();
    gcsCloudStorageV1Parameters.setServiceAccountEmail(EMAIL);
    loggingResponse.setGcs(gcsCloudStorageV1Parameters);
    telemetryResponse.setLogging(loggingResponse);
    environment.setTelemetry(telemetryResponse);
    ClusterV4Request clusterV4Request = new ClusterV4Request();
    clusterV4Request.setBlueprintName(exampleBlueprintName);
    CloudStorageRequest cloudStorageConfigReq = underTest.initCloudStorageRequest(environment, clusterV4Request, null, new SdxClusterRequest());
    assertEquals(1, cloudStorageConfigReq.getIdentities().size());
    assertEquals(1, cloudStorageConfigReq.getIdentities().stream().filter(r -> r.getType().equals(CloudIdentityType.LOG)).collect(Collectors.toSet()).size());
    assertEquals(EMAIL, cloudStorageConfigReq.getIdentities().get(0).getGcs().getServiceAccountEmail());
}
Also used : TelemetryResponse(com.sequenceiq.common.api.telemetry.response.TelemetryResponse) SdxCluster(com.sequenceiq.datalake.entity.SdxCluster) GcpEnvironmentParameters(com.sequenceiq.environment.api.v1.environment.model.request.gcp.GcpEnvironmentParameters) ArgumentMatchers.anyLong(org.mockito.ArgumentMatchers.anyLong) Mock(org.mockito.Mock) FileSystemParameterV4Responses(com.sequenceiq.cloudbreak.api.endpoint.v4.filesystems.responses.FileSystemParameterV4Responses) Assertions.assertNull(org.junit.jupiter.api.Assertions.assertNull) ClusterV4Request(com.sequenceiq.cloudbreak.api.endpoint.v4.stacks.request.cluster.ClusterV4Request) GcsCloudStorageV1Parameters(com.sequenceiq.common.api.cloudstorage.old.GcsCloudStorageV1Parameters) ArgumentMatchers.anyBoolean(org.mockito.ArgumentMatchers.anyBoolean) AwsEnvironmentParameters(com.sequenceiq.environment.api.v1.environment.model.request.aws.AwsEnvironmentParameters) ArrayList(java.util.ArrayList) ThreadBasedUserCrnProvider(com.sequenceiq.cloudbreak.auth.ThreadBasedUserCrnProvider) ExtendWith(org.junit.jupiter.api.extension.ExtendWith) FileSystemParameterV4Response(com.sequenceiq.cloudbreak.api.endpoint.v4.filesystems.responses.FileSystemParameterV4Response) DetailedEnvironmentResponse(com.sequenceiq.environment.api.v1.environment.model.response.DetailedEnvironmentResponse) SdxCloudStorageRequest(com.sequenceiq.sdx.api.model.SdxCloudStorageRequest) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) TelemetryResponse(com.sequenceiq.common.api.telemetry.response.TelemetryResponse) InjectMocks(org.mockito.InjectMocks) RegionAwareInternalCrnGenerator(com.sequenceiq.cloudbreak.auth.crn.RegionAwareInternalCrnGenerator) LoggingResponse(com.sequenceiq.common.api.telemetry.response.LoggingResponse) MockitoExtension(org.mockito.junit.jupiter.MockitoExtension) CloudStorageCdpService(com.sequenceiq.common.model.CloudStorageCdpService) StorageLocationBase(com.sequenceiq.common.api.cloudstorage.StorageLocationBase) S3CloudStorageV1Parameters(com.sequenceiq.common.api.cloudstorage.old.S3CloudStorageV1Parameters) Mockito.when(org.mockito.Mockito.when) Collectors(java.util.stream.Collectors) Mockito.verify(org.mockito.Mockito.verify) FileSystemV4Endpoint(com.sequenceiq.cloudbreak.api.endpoint.v4.filesystems.FileSystemV4Endpoint) RegionAwareInternalCrnGeneratorFactory(com.sequenceiq.cloudbreak.auth.crn.RegionAwareInternalCrnGeneratorFactory) Test(org.junit.jupiter.api.Test) SdxClusterRequest(com.sequenceiq.sdx.api.model.SdxClusterRequest) List(java.util.List) S3GuardRequestParameters(com.sequenceiq.environment.api.v1.environment.model.request.aws.S3GuardRequestParameters) CloudStorageRequest(com.sequenceiq.common.api.cloudstorage.CloudStorageRequest) FileSystemType(com.sequenceiq.common.model.FileSystemType) CloudIdentityType(com.sequenceiq.common.model.CloudIdentityType) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) ClusterV4Request(com.sequenceiq.cloudbreak.api.endpoint.v4.stacks.request.cluster.ClusterV4Request) SdxCloudStorageRequest(com.sequenceiq.sdx.api.model.SdxCloudStorageRequest) CloudStorageRequest(com.sequenceiq.common.api.cloudstorage.CloudStorageRequest) LoggingResponse(com.sequenceiq.common.api.telemetry.response.LoggingResponse) SdxClusterRequest(com.sequenceiq.sdx.api.model.SdxClusterRequest) DetailedEnvironmentResponse(com.sequenceiq.environment.api.v1.environment.model.response.DetailedEnvironmentResponse) GcsCloudStorageV1Parameters(com.sequenceiq.common.api.cloudstorage.old.GcsCloudStorageV1Parameters) Test(org.junit.jupiter.api.Test)

Example 7 with GcsCloudStorageV1Parameters

use of com.sequenceiq.common.api.cloudstorage.old.GcsCloudStorageV1Parameters in project cloudbreak by hortonworks.

the class CloudStorageManifesterTest method whenEnvironmentHasLoggingEnabledThenShouldApplyAsLogIdentityForGCS.

@Test
public void whenEnvironmentHasLoggingEnabledThenShouldApplyAsLogIdentityForGCS() {
    when(regionAwareInternalCrnGenerator.getInternalCrnForServiceAsString()).thenReturn("crn");
    when(regionAwareInternalCrnGeneratorFactory.iam()).thenReturn(regionAwareInternalCrnGenerator);
    mockFileSystemResponseForCloudbreakClient();
    SdxCluster sdxCluster = new SdxCluster();
    SdxClusterRequest sdxClusterRequest = new SdxClusterRequest();
    sdxCluster.setInitiatorUserCrn(USER_CRN);
    sdxCluster.setClusterName("sdx-cluster");
    SdxCloudStorageRequest cloudStorageRequest = new SdxCloudStorageRequest();
    cloudStorageRequest.setBaseLocation("gs://example-path");
    cloudStorageRequest.setFileSystemType(FileSystemType.GCS);
    GcsCloudStorageV1Parameters gcsCloudStorageV1Parameters = new GcsCloudStorageV1Parameters();
    gcsCloudStorageV1Parameters.setServiceAccountEmail(EMAIL);
    cloudStorageRequest.setGcs(gcsCloudStorageV1Parameters);
    sdxClusterRequest.setCloudStorage(cloudStorageRequest);
    DetailedEnvironmentResponse environment = new DetailedEnvironmentResponse();
    environment.setCloudPlatform("GCP");
    TelemetryResponse telemetryResponse = new TelemetryResponse();
    LoggingResponse loggingResponse = new LoggingResponse();
    loggingResponse.setGcs(gcsCloudStorageV1Parameters);
    telemetryResponse.setLogging(loggingResponse);
    GcpEnvironmentParameters gcpEnvironmentParameters = GcpEnvironmentParameters.builder().build();
    environment.setGcp(gcpEnvironmentParameters);
    environment.setTelemetry(telemetryResponse);
    ClusterV4Request clusterV4Request = new ClusterV4Request();
    clusterV4Request.setBlueprintName(exampleBlueprintName);
    CloudStorageRequest cloudStorageConfigReq = ThreadBasedUserCrnProvider.doAs(USER_CRN, () -> underTest.initCloudStorageRequest(environment, clusterV4Request, sdxCluster, sdxClusterRequest));
    StorageLocationBase singleRequest = cloudStorageConfigReq.getLocations().iterator().next();
    assertEquals(2, cloudStorageConfigReq.getIdentities().size());
    assertEquals(1, cloudStorageConfigReq.getIdentities().stream().filter(r -> r.getType().equals(CloudIdentityType.ID_BROKER)).collect(Collectors.toSet()).size());
    assertEquals(1, cloudStorageConfigReq.getIdentities().stream().filter(r -> r.getType().equals(CloudIdentityType.LOG)).collect(Collectors.toSet()).size());
    assertEquals(2, cloudStorageConfigReq.getIdentities().stream().filter(r -> r.getGcs().getServiceAccountEmail().equals(EMAIL)).collect(Collectors.toSet()).size());
    assertEquals(1, cloudStorageConfigReq.getLocations().size());
    assertEquals(CloudStorageCdpService.RANGER_AUDIT, singleRequest.getType());
    assertEquals("ranger/example-path", singleRequest.getValue());
    verify(storageValidationService).validateCloudStorage("GCP", cloudStorageRequest);
}
Also used : SdxCloudStorageRequest(com.sequenceiq.sdx.api.model.SdxCloudStorageRequest) TelemetryResponse(com.sequenceiq.common.api.telemetry.response.TelemetryResponse) SdxCluster(com.sequenceiq.datalake.entity.SdxCluster) GcpEnvironmentParameters(com.sequenceiq.environment.api.v1.environment.model.request.gcp.GcpEnvironmentParameters) ArgumentMatchers.anyLong(org.mockito.ArgumentMatchers.anyLong) Mock(org.mockito.Mock) FileSystemParameterV4Responses(com.sequenceiq.cloudbreak.api.endpoint.v4.filesystems.responses.FileSystemParameterV4Responses) Assertions.assertNull(org.junit.jupiter.api.Assertions.assertNull) ClusterV4Request(com.sequenceiq.cloudbreak.api.endpoint.v4.stacks.request.cluster.ClusterV4Request) GcsCloudStorageV1Parameters(com.sequenceiq.common.api.cloudstorage.old.GcsCloudStorageV1Parameters) ArgumentMatchers.anyBoolean(org.mockito.ArgumentMatchers.anyBoolean) AwsEnvironmentParameters(com.sequenceiq.environment.api.v1.environment.model.request.aws.AwsEnvironmentParameters) ArrayList(java.util.ArrayList) ThreadBasedUserCrnProvider(com.sequenceiq.cloudbreak.auth.ThreadBasedUserCrnProvider) ExtendWith(org.junit.jupiter.api.extension.ExtendWith) FileSystemParameterV4Response(com.sequenceiq.cloudbreak.api.endpoint.v4.filesystems.responses.FileSystemParameterV4Response) DetailedEnvironmentResponse(com.sequenceiq.environment.api.v1.environment.model.response.DetailedEnvironmentResponse) SdxCloudStorageRequest(com.sequenceiq.sdx.api.model.SdxCloudStorageRequest) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) TelemetryResponse(com.sequenceiq.common.api.telemetry.response.TelemetryResponse) InjectMocks(org.mockito.InjectMocks) RegionAwareInternalCrnGenerator(com.sequenceiq.cloudbreak.auth.crn.RegionAwareInternalCrnGenerator) LoggingResponse(com.sequenceiq.common.api.telemetry.response.LoggingResponse) MockitoExtension(org.mockito.junit.jupiter.MockitoExtension) CloudStorageCdpService(com.sequenceiq.common.model.CloudStorageCdpService) StorageLocationBase(com.sequenceiq.common.api.cloudstorage.StorageLocationBase) S3CloudStorageV1Parameters(com.sequenceiq.common.api.cloudstorage.old.S3CloudStorageV1Parameters) Mockito.when(org.mockito.Mockito.when) Collectors(java.util.stream.Collectors) Mockito.verify(org.mockito.Mockito.verify) FileSystemV4Endpoint(com.sequenceiq.cloudbreak.api.endpoint.v4.filesystems.FileSystemV4Endpoint) RegionAwareInternalCrnGeneratorFactory(com.sequenceiq.cloudbreak.auth.crn.RegionAwareInternalCrnGeneratorFactory) Test(org.junit.jupiter.api.Test) SdxClusterRequest(com.sequenceiq.sdx.api.model.SdxClusterRequest) List(java.util.List) S3GuardRequestParameters(com.sequenceiq.environment.api.v1.environment.model.request.aws.S3GuardRequestParameters) CloudStorageRequest(com.sequenceiq.common.api.cloudstorage.CloudStorageRequest) FileSystemType(com.sequenceiq.common.model.FileSystemType) CloudIdentityType(com.sequenceiq.common.model.CloudIdentityType) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) ClusterV4Request(com.sequenceiq.cloudbreak.api.endpoint.v4.stacks.request.cluster.ClusterV4Request) SdxCloudStorageRequest(com.sequenceiq.sdx.api.model.SdxCloudStorageRequest) CloudStorageRequest(com.sequenceiq.common.api.cloudstorage.CloudStorageRequest) GcpEnvironmentParameters(com.sequenceiq.environment.api.v1.environment.model.request.gcp.GcpEnvironmentParameters) LoggingResponse(com.sequenceiq.common.api.telemetry.response.LoggingResponse) SdxClusterRequest(com.sequenceiq.sdx.api.model.SdxClusterRequest) SdxCluster(com.sequenceiq.datalake.entity.SdxCluster) DetailedEnvironmentResponse(com.sequenceiq.environment.api.v1.environment.model.response.DetailedEnvironmentResponse) GcsCloudStorageV1Parameters(com.sequenceiq.common.api.cloudstorage.old.GcsCloudStorageV1Parameters) StorageLocationBase(com.sequenceiq.common.api.cloudstorage.StorageLocationBase) Test(org.junit.jupiter.api.Test)

Example 8 with GcsCloudStorageV1Parameters

use of com.sequenceiq.common.api.cloudstorage.old.GcsCloudStorageV1Parameters 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());
}
Also used : CloudwatchParams(com.sequenceiq.common.api.telemetry.model.CloudwatchParams) BackupRequest(com.sequenceiq.common.api.backup.request.BackupRequest) StackAuthentication(com.sequenceiq.freeipa.entity.StackAuthentication) InstanceGroupRequest(com.sequenceiq.freeipa.api.v1.freeipa.stack.model.common.instance.InstanceGroupRequest) ImageSettingsRequest(com.sequenceiq.freeipa.api.v1.freeipa.stack.model.common.image.ImageSettingsRequest) CreateFreeIpaRequest(com.sequenceiq.freeipa.api.v1.freeipa.stack.model.create.CreateFreeIpaRequest) Backup(com.sequenceiq.freeipa.api.model.Backup) PlacementRequest(com.sequenceiq.freeipa.api.v1.freeipa.stack.model.common.region.PlacementRequest) SecurityRuleRequest(com.sequenceiq.freeipa.api.v1.freeipa.stack.model.common.security.SecurityRuleRequest) SecurityRule(com.sequenceiq.freeipa.entity.SecurityRule) GcsCloudStorageV1Parameters(com.sequenceiq.common.api.cloudstorage.old.GcsCloudStorageV1Parameters) Template(com.sequenceiq.freeipa.entity.Template) AwsInstanceTemplate(com.sequenceiq.cloudbreak.cloud.model.instance.AwsInstanceTemplate) StackTags(com.sequenceiq.cloudbreak.cloud.model.StackTags) InstanceTemplateRequest(com.sequenceiq.freeipa.api.v1.freeipa.stack.model.common.instance.InstanceTemplateRequest) FreeIpa(com.sequenceiq.freeipa.entity.FreeIpa) AdlsGen2CloudStorageV1Parameters(com.sequenceiq.common.api.cloudstorage.old.AdlsGen2CloudStorageV1Parameters) InstanceGroupNetwork(com.sequenceiq.freeipa.entity.InstanceGroupNetwork) Network(com.sequenceiq.freeipa.entity.Network) Features(com.sequenceiq.common.api.telemetry.model.Features) FreeIpaServerRequest(com.sequenceiq.freeipa.api.v1.freeipa.stack.model.FreeIpaServerRequest) Logging(com.sequenceiq.common.api.telemetry.model.Logging) StackAuthenticationRequest(com.sequenceiq.freeipa.api.v1.freeipa.stack.model.common.security.StackAuthenticationRequest) S3CloudStorageV1Parameters(com.sequenceiq.common.api.cloudstorage.old.S3CloudStorageV1Parameters) ImageEntity(com.sequenceiq.freeipa.entity.ImageEntity) FeatureSetting(com.sequenceiq.common.api.type.FeatureSetting) DetailedStackStatus(com.sequenceiq.freeipa.api.v1.freeipa.stack.model.common.DetailedStackStatus) StackStatus(com.sequenceiq.freeipa.entity.StackStatus) NetworkRequest(com.sequenceiq.freeipa.api.v1.freeipa.stack.model.common.network.NetworkRequest) Json(com.sequenceiq.cloudbreak.common.json.Json) SecurityGroup(com.sequenceiq.freeipa.entity.SecurityGroup) Telemetry(com.sequenceiq.common.api.telemetry.model.Telemetry) VolumeRequest(com.sequenceiq.freeipa.api.v1.freeipa.stack.model.common.instance.VolumeRequest) Stack(com.sequenceiq.freeipa.entity.Stack) InstanceGroup(com.sequenceiq.freeipa.entity.InstanceGroup) TelemetryRequest(com.sequenceiq.common.api.telemetry.request.TelemetryRequest) InstanceGroupNetwork(com.sequenceiq.freeipa.entity.InstanceGroupNetwork) WorkloadAnalytics(com.sequenceiq.common.api.telemetry.model.WorkloadAnalytics) Test(org.junit.jupiter.api.Test)

Example 9 with GcsCloudStorageV1Parameters

use of com.sequenceiq.common.api.cloudstorage.old.GcsCloudStorageV1Parameters in project cloudbreak by hortonworks.

the class FluentConfigServiceTest method testCreateFluentConfigWitGcsPath.

@Test
public void testCreateFluentConfigWitGcsPath() {
    // GIVEN
    Logging logging = new Logging();
    logging.setStorageLocation("gs://mybucket/cluster-logs/datahub/cl1");
    GcsCloudStorageV1Parameters gcsParams = new GcsCloudStorageV1Parameters();
    gcsParams.setServiceAccountEmail("myaccount@myprojectid.iam.gserviceaccount.com");
    logging.setGcs(gcsParams);
    Telemetry telemetry = new Telemetry();
    telemetry.setLogging(logging);
    // WHEN
    FluentConfigView result = underTest.createFluentConfigs(DEFAULT_FLUENT_CLUSTER_DETAILS, false, false, REGION_SAMPLE, telemetry);
    // THEN
    assertTrue(result.isEnabled());
    assertTrue(result.isCloudStorageLoggingEnabled());
    assertEquals("cluster-logs/datahub/cl1", result.getLogFolderName());
    assertEquals("mybucket", result.getGcsBucket());
    assertEquals("myprojectid", result.getGcsProjectId());
}
Also used : Logging(com.sequenceiq.common.api.telemetry.model.Logging) Telemetry(com.sequenceiq.common.api.telemetry.model.Telemetry) GcsCloudStorageV1Parameters(com.sequenceiq.common.api.cloudstorage.old.GcsCloudStorageV1Parameters) Test(org.junit.Test)

Example 10 with GcsCloudStorageV1Parameters

use of com.sequenceiq.common.api.cloudstorage.old.GcsCloudStorageV1Parameters in project cloudbreak by hortonworks.

the class FluentConfigServiceTest method testCreateFluentConfigWithoutGcsProjectId.

@Test(expected = CloudbreakServiceException.class)
public void testCreateFluentConfigWithoutGcsProjectId() {
    // GIVEN
    Logging logging = new Logging();
    logging.setStorageLocation("gs://mybucket/mypath");
    logging.setGcs(new GcsCloudStorageV1Parameters());
    Telemetry telemetry = new Telemetry();
    telemetry.setLogging(logging);
    // WHEN
    underTest.createFluentConfigs(DEFAULT_FLUENT_CLUSTER_DETAILS, false, false, REGION_SAMPLE, telemetry);
}
Also used : Logging(com.sequenceiq.common.api.telemetry.model.Logging) Telemetry(com.sequenceiq.common.api.telemetry.model.Telemetry) GcsCloudStorageV1Parameters(com.sequenceiq.common.api.cloudstorage.old.GcsCloudStorageV1Parameters) Test(org.junit.Test)

Aggregations

GcsCloudStorageV1Parameters (com.sequenceiq.common.api.cloudstorage.old.GcsCloudStorageV1Parameters)31 Test (org.junit.jupiter.api.Test)12 S3CloudStorageV1Parameters (com.sequenceiq.common.api.cloudstorage.old.S3CloudStorageV1Parameters)10 Logging (com.sequenceiq.common.api.telemetry.model.Logging)7 Telemetry (com.sequenceiq.common.api.telemetry.model.Telemetry)7 Test (org.junit.Test)7 AdlsGen2CloudStorageV1Parameters (com.sequenceiq.common.api.cloudstorage.old.AdlsGen2CloudStorageV1Parameters)6 SdxCloudStorageRequest (com.sequenceiq.sdx.api.model.SdxCloudStorageRequest)4 ValidationResult (com.sequenceiq.cloudbreak.validation.ValidationResult)3 CloudStorageRequest (com.sequenceiq.common.api.cloudstorage.CloudStorageRequest)3 StorageIdentityBase (com.sequenceiq.common.api.cloudstorage.StorageIdentityBase)3 StorageLocationBase (com.sequenceiq.common.api.cloudstorage.StorageLocationBase)3 LoggingResponse (com.sequenceiq.common.api.telemetry.response.LoggingResponse)3 TelemetryResponse (com.sequenceiq.common.api.telemetry.response.TelemetryResponse)3 Backup (com.sequenceiq.freeipa.api.model.Backup)3 FileSystemV4Endpoint (com.sequenceiq.cloudbreak.api.endpoint.v4.filesystems.FileSystemV4Endpoint)2 FileSystemParameterV4Response (com.sequenceiq.cloudbreak.api.endpoint.v4.filesystems.responses.FileSystemParameterV4Response)2 FileSystemParameterV4Responses (com.sequenceiq.cloudbreak.api.endpoint.v4.filesystems.responses.FileSystemParameterV4Responses)2 ClusterV4Request (com.sequenceiq.cloudbreak.api.endpoint.v4.stacks.request.cluster.ClusterV4Request)2 ThreadBasedUserCrnProvider (com.sequenceiq.cloudbreak.auth.ThreadBasedUserCrnProvider)2