Search in sources :

Example 6 with Region

use of com.sequenceiq.environment.environment.domain.Region in project cloudbreak by hortonworks.

the class EnvironmentInitHandlerTest method getEnvironment.

private Environment getEnvironment() {
    Environment environment = new Environment();
    environment.setId(ENV_ID);
    environment.setResourceCrn(CRN);
    environment.setCreator(CREATOR);
    Region region = new Region();
    region.setName(REGION);
    environment.setRegions(Set.of(region));
    environment.setLocationDisplayName(LOCATION_DISPLAY_NAME);
    environment.setLocation(LOCATION);
    environment.setAccountId(ACCOUNT_ID);
    BaseNetwork baseNetwork = new AwsNetwork();
    baseNetwork.setRegistrationType(RegistrationType.EXISTING);
    environment.setNetwork(baseNetwork);
    environment.setCloudPlatform(CloudPlatform.AWS.name());
    environment.setCredential(new Credential());
    return environment;
}
Also used : Credential(com.sequenceiq.environment.credential.domain.Credential) BaseNetwork(com.sequenceiq.environment.network.dao.domain.BaseNetwork) AwsNetwork(com.sequenceiq.environment.network.dao.domain.AwsNetwork) Environment(com.sequenceiq.environment.environment.domain.Environment) Region(com.sequenceiq.environment.environment.domain.Region)

Example 7 with Region

use of com.sequenceiq.environment.environment.domain.Region in project cloudbreak by hortonworks.

the class EnvironmentService method setRegionsFromCloudCoordinates.

private void setRegionsFromCloudCoordinates(Set<String> requestedRegions, CloudRegions cloudRegions, Set<Region> regionSet) {
    for (String requestedRegion : requestedRegions) {
        Optional<Entry<com.sequenceiq.cloudbreak.cloud.model.Region, Coordinate>> coordinate = cloudRegions.getCoordinates().entrySet().stream().filter(e -> e.getKey().getRegionName().equals(requestedRegion) || e.getValue().getDisplayName().equals(requestedRegion) || e.getValue().getKey().equals(requestedRegion)).findFirst();
        if (coordinate.isPresent()) {
            Region region = new Region();
            region.setName(coordinate.get().getValue().getKey());
            String displayName = coordinate.get().getValue().getDisplayName();
            region.setDisplayName(isEmpty(displayName) ? coordinate.get().getKey().getRegionName() : displayName);
            regionSet.add(region);
        }
    }
}
Also used : EnvironmentDtoConverter(com.sequenceiq.environment.environment.dto.EnvironmentDtoConverter) Environment(com.sequenceiq.environment.environment.domain.Environment) RoleCrnGenerator(com.sequenceiq.cloudbreak.auth.altus.service.RoleCrnGenerator) LoggerFactory(org.slf4j.LoggerFactory) StringUtils(org.apache.commons.lang3.StringUtils) ThreadBasedUserCrnProvider(com.sequenceiq.cloudbreak.auth.ThreadBasedUserCrnProvider) TransactionService(com.sequenceiq.cloudbreak.common.service.TransactionService) AccountAwareResourceRepository(com.sequenceiq.cloudbreak.common.dal.repository.AccountAwareResourceRepository) Map(java.util.Map) RegionWrapper(com.sequenceiq.environment.environment.domain.RegionWrapper) BadRequestException(javax.ws.rs.BadRequestException) Region(com.sequenceiq.environment.environment.domain.Region) StringUtils.isEmpty(org.apache.commons.lang3.StringUtils.isEmpty) NotFoundException(com.sequenceiq.cloudbreak.common.exception.NotFoundException) EnvironmentStatus(com.sequenceiq.environment.environment.EnvironmentStatus) EnumSet(java.util.EnumSet) Tunnel(com.sequenceiq.common.api.type.Tunnel) ResourceWithId(com.sequenceiq.authorization.service.list.ResourceWithId) PayloadContext(com.sequenceiq.cloudbreak.common.event.PayloadContext) PlatformParameterService(com.sequenceiq.environment.platformresource.PlatformParameterService) Collection(java.util.Collection) Set(java.util.Set) InternalServerErrorException(javax.ws.rs.InternalServerErrorException) SecurityAccessDto(com.sequenceiq.environment.environment.dto.SecurityAccessDto) JobResource(com.sequenceiq.cloudbreak.quartz.model.JobResource) Crn(com.sequenceiq.cloudbreak.auth.crn.Crn) Collectors(java.util.stream.Collectors) RegionAwareInternalCrnGeneratorFactory(com.sequenceiq.cloudbreak.auth.crn.RegionAwareInternalCrnGeneratorFactory) EnvironmentRepository(com.sequenceiq.environment.environment.repository.EnvironmentRepository) EnvironmentPropertyProvider(com.sequenceiq.authorization.service.EnvironmentPropertyProvider) List(java.util.List) MDCUtils(com.sequenceiq.cloudbreak.logger.MDCUtils) Entry(java.util.Map.Entry) Optional(java.util.Optional) Coordinate(com.sequenceiq.cloudbreak.cloud.model.Coordinate) AbstractAccountAwareResourceService(com.sequenceiq.cloudbreak.common.service.account.AbstractAccountAwareResourceService) OwnerAssignmentService(com.sequenceiq.authorization.service.OwnerAssignmentService) MDCBuilder(com.sequenceiq.cloudbreak.logger.MDCBuilder) HashMap(java.util.HashMap) CompositeAuthResourcePropertyProvider(com.sequenceiq.authorization.service.CompositeAuthResourcePropertyProvider) EnvironmentDto(com.sequenceiq.environment.environment.dto.EnvironmentDto) CloudRegions(com.sequenceiq.cloudbreak.cloud.model.CloudRegions) HashSet(java.util.HashSet) Value(org.springframework.beans.factory.annotation.Value) Code(io.grpc.Status.Code) Lists(com.google.common.collect.Lists) Service(org.springframework.stereotype.Service) PlatformResourceRequest(com.sequenceiq.environment.platformresource.PlatformResourceRequest) ExperimentalFeatures(com.sequenceiq.environment.environment.domain.ExperimentalFeatures) NotFoundException.notFound(com.sequenceiq.cloudbreak.common.exception.NotFoundException.notFound) Logger(org.slf4j.Logger) NotFoundException.notFoundException(com.sequenceiq.cloudbreak.common.exception.NotFoundException.notFoundException) PayloadContextProvider(com.sequenceiq.flow.core.PayloadContextProvider) GrpcUmsClient(com.sequenceiq.cloudbreak.auth.altus.GrpcUmsClient) StatusRuntimeException(io.grpc.StatusRuntimeException) EnvironmentValidatorService(com.sequenceiq.environment.environment.validation.EnvironmentValidatorService) ResourceIdProvider(com.sequenceiq.flow.core.ResourceIdProvider) Entry(java.util.Map.Entry) Region(com.sequenceiq.environment.environment.domain.Region)

Example 8 with Region

use of com.sequenceiq.environment.environment.domain.Region in project cloudbreak by hortonworks.

the class CloudNetworkService method fetchCloudNetwork.

private Map<String, CloudSubnet> fetchCloudNetwork(Set<Region> regions, Credential credential, String cloudPlatform, NetworkDto network, Map<String, String> filter, Set<String> subnetIds) {
    String regionName = regions.iterator().next().getName();
    PlatformResourceRequest platformResourceRequest = new PlatformResourceRequest();
    platformResourceRequest.setCredential(credential);
    platformResourceRequest.setCloudPlatform(cloudPlatform);
    platformResourceRequest.setRegion(regionName);
    platformResourceRequest.setFilters(filter);
    LOGGER.debug("About to fetch networks from cloud provider ({})...", cloudPlatform);
    CloudNetworks cloudNetworks = platformParameterService.getCloudNetworks(platformResourceRequest);
    Set<CloudNetwork> cloudNetworkSet = cloudNetworks.getCloudNetworkResponses().get(regionName);
    return cloudNetworkSet.stream().flatMap(it -> it.getSubnetsMeta().stream()).filter(sn -> isNetworkIdMatches(subnetIds, sn, cloudPlatform) || isNetworkNameMatches(subnetIds, sn, cloudPlatform)).collect(toMap(getNetworkIdentifier(cloudPlatform), Function.identity()));
}
Also used : Environment(com.sequenceiq.environment.environment.domain.Environment) CloudSubnet(com.sequenceiq.cloudbreak.cloud.model.CloudSubnet) Logger(org.slf4j.Logger) PlatformParameterService(com.sequenceiq.environment.platformresource.PlatformParameterService) Credential(com.sequenceiq.environment.credential.domain.Credential) LoggerFactory(org.slf4j.LoggerFactory) Strings.isNullOrEmpty(com.google.common.base.Strings.isNullOrEmpty) Set(java.util.Set) HashMap(java.util.HashMap) EnvironmentDto(com.sequenceiq.environment.environment.dto.EnvironmentDto) Function(java.util.function.Function) CloudPlatform(com.sequenceiq.cloudbreak.common.mappable.CloudPlatform) CloudNetworks(com.sequenceiq.cloudbreak.cloud.model.CloudNetworks) AwsParams(com.sequenceiq.environment.network.dto.AwsParams) Collectors.toMap(java.util.stream.Collectors.toMap) NetworkDto(com.sequenceiq.environment.network.dto.NetworkDto) Service(org.springframework.stereotype.Service) Map(java.util.Map) PlatformResourceRequest(com.sequenceiq.environment.platformresource.PlatformResourceRequest) Optional(java.util.Optional) Region(com.sequenceiq.environment.environment.domain.Region) CloudNetwork(com.sequenceiq.cloudbreak.cloud.model.CloudNetwork) GcpStackUtil(com.sequenceiq.cloudbreak.cloud.gcp.util.GcpStackUtil) CloudNetworks(com.sequenceiq.cloudbreak.cloud.model.CloudNetworks) PlatformResourceRequest(com.sequenceiq.environment.platformresource.PlatformResourceRequest) CloudNetwork(com.sequenceiq.cloudbreak.cloud.model.CloudNetwork)

Example 9 with Region

use of com.sequenceiq.environment.environment.domain.Region in project cloudbreak by hortonworks.

the class EnvironmentDetailsToCDPEnvironmentDetailsConverterTest method testRegionNameConversion.

@Test
public void testRegionNameConversion() {
    Region region1 = new Region();
    region1.setName("westus2");
    Region region2 = new Region();
    region2.setName("UK South");
    Region region3 = new Region();
    region3.setName("Invalid Region");
    Set<Region> regions = new HashSet<>();
    regions.add(region1);
    regions.add(region2);
    regions.add(region3);
    when(environmentDetails.getRegions()).thenReturn(regions);
    UsageProto.CDPEnvironmentDetails cdpEnvironmentDetails = underTest.convert(environmentDetails);
    Assertions.assertEquals("invalidregion,uksouth,westus2", cdpEnvironmentDetails.getRegion());
}
Also used : Region(com.sequenceiq.environment.environment.domain.Region) UsageProto(com.cloudera.thunderhead.service.common.usage.UsageProto) HashSet(java.util.HashSet) Test(org.junit.jupiter.api.Test)

Example 10 with Region

use of com.sequenceiq.environment.environment.domain.Region in project cloudbreak by hortonworks.

the class CloudNetworkServiceTest method setUp.

@BeforeEach
void setUp() {
    MockitoAnnotations.initMocks(this);
    underTest = new CloudNetworkService(platformParameterService);
    Region testRegion = new Region();
    testRegion.setName(DEFAULT_TEST_REGION_NAME);
    testRegion.setDisplayName(DEFAULT_TEST_REGION_NAME);
    when(cloudNetworks.getCloudNetworkResponses()).thenReturn(cloudSubnetCreator(AMOUNT_OF_SUBNETS));
    when(platformParameterService.getCloudNetworks(any(PlatformResourceRequest.class))).thenReturn(cloudNetworks);
    when(testEnvironmentDto.getRegions()).thenReturn(Set.of(testRegion));
    when(testEnvironment.getRegionSet()).thenReturn(Set.of(testRegion));
}
Also used : Region(com.sequenceiq.environment.environment.domain.Region) PlatformResourceRequest(com.sequenceiq.environment.platformresource.PlatformResourceRequest) BeforeEach(org.junit.jupiter.api.BeforeEach)

Aggregations

Region (com.sequenceiq.environment.environment.domain.Region)27 PlatformResourceRequest (com.sequenceiq.environment.platformresource.PlatformResourceRequest)15 EnvironmentDto (com.sequenceiq.environment.environment.dto.EnvironmentDto)12 Test (org.junit.jupiter.api.Test)10 ValidationResultBuilder (com.sequenceiq.cloudbreak.validation.ValidationResult.ValidationResultBuilder)9 EnvironmentValidationDto (com.sequenceiq.environment.environment.dto.EnvironmentValidationDto)9 Environment (com.sequenceiq.environment.environment.domain.Environment)7 Set (java.util.Set)7 HashMap (java.util.HashMap)6 CloudSecurityGroups (com.sequenceiq.cloudbreak.cloud.model.CloudSecurityGroups)4 Credential (com.sequenceiq.environment.credential.domain.Credential)4 Map (java.util.Map)4 Optional (java.util.Optional)4 Logger (org.slf4j.Logger)4 LoggerFactory (org.slf4j.LoggerFactory)4 CloudSecurityGroup (com.sequenceiq.cloudbreak.cloud.model.CloudSecurityGroup)3 UsageProto (com.cloudera.thunderhead.service.common.usage.UsageProto)2 Lists (com.google.common.collect.Lists)2 CompositeAuthResourcePropertyProvider (com.sequenceiq.authorization.service.CompositeAuthResourcePropertyProvider)2 EnvironmentPropertyProvider (com.sequenceiq.authorization.service.EnvironmentPropertyProvider)2