use of com.sequenceiq.cloudbreak.domain.stack.loadbalancer.aws.AwsTargetGroupArnsDb in project cloudbreak by hortonworks.
the class LoadBalancerToLoadBalancerResponseConverter method convertAwsTargetGroup.
private AwsTargetGroupResponse convertAwsTargetGroup(AwsTargetGroupConfigDb awsConfig, Integer port) {
if (awsConfig != null) {
Optional<AwsTargetGroupArnsDb> arns = awsConfig.getPortArnMapping().entrySet().stream().filter(entry -> entry.getKey().equals(port)).map(Map.Entry::getValue).findFirst();
if (arns.isPresent()) {
AwsTargetGroupResponse awsSettings = new AwsTargetGroupResponse();
awsSettings.setListenerArn(arns.get().getListenerArn());
awsSettings.setTargetGroupArn(arns.get().getTargetGroupArn());
return awsSettings;
}
}
return null;
}
use of com.sequenceiq.cloudbreak.domain.stack.loadbalancer.aws.AwsTargetGroupArnsDb in project cloudbreak by hortonworks.
the class LoadBalancerConfigConverter method buildAwsConfig.
private TargetGroupConfigDbWrapper buildAwsConfig(AwsLoadBalancerMetadataView awsMetadata, TargetGroup targetGroup) {
Set<Integer> trafficPorts = getTrafficPorts(targetGroup);
TargetGroupConfigDbWrapper targetGroupConfigDbWrapper = new TargetGroupConfigDbWrapper();
AwsTargetGroupConfigDb awsTargetGroupConfigDb = new AwsTargetGroupConfigDb();
for (Integer port : trafficPorts) {
AwsTargetGroupArnsDb targetGroupArns = new AwsTargetGroupArnsDb();
String listenerArn = awsMetadata.getListenerArnByPort(port);
String targetGroupArn = awsMetadata.getTargetGroupArnByPort(port);
targetGroupArns.setListenerArn(StringUtils.isEmpty(listenerArn) ? MISSING_CLOUD_RESOURCE : listenerArn);
targetGroupArns.setTargetGroupArn(StringUtils.isEmpty(targetGroupArn) ? MISSING_CLOUD_RESOURCE : targetGroupArn);
awsTargetGroupConfigDb.addPortArnMapping(port, targetGroupArns);
}
targetGroupConfigDbWrapper.setAwsConfig(awsTargetGroupConfigDb);
return targetGroupConfigDbWrapper;
}
use of com.sequenceiq.cloudbreak.domain.stack.loadbalancer.aws.AwsTargetGroupArnsDb in project cloudbreak by hortonworks.
the class LoadBalancerToLoadBalancerResponseConverterTest method createAwsTargetGroups.
private Set<TargetGroup> createAwsTargetGroups() {
AwsTargetGroupArnsDb awsTargetGroupArnsDb = new AwsTargetGroupArnsDb();
awsTargetGroupArnsDb.setListenerArn(LISTENER_ARN);
awsTargetGroupArnsDb.setTargetGroupArn(TG_ARN);
AwsTargetGroupConfigDb awsTargetGroupConfigDb = new AwsTargetGroupConfigDb();
awsTargetGroupConfigDb.setPortArnMapping(Map.of(PORT, awsTargetGroupArnsDb));
TargetGroupConfigDbWrapper targetGroupConfigDbWrapper = new TargetGroupConfigDbWrapper();
targetGroupConfigDbWrapper.setAwsConfig(awsTargetGroupConfigDb);
TargetGroup targetGroup = new TargetGroup();
targetGroup.setProviderConfig(targetGroupConfigDbWrapper);
return Set.of(targetGroup);
}
use of com.sequenceiq.cloudbreak.domain.stack.loadbalancer.aws.AwsTargetGroupArnsDb in project cloudbreak by hortonworks.
the class LoadBalancerConfigConverterTest method testConvertAwsTargetGroup.
@Test
public void testConvertAwsTargetGroup() {
CloudLoadBalancerMetadata cloudLoadBalancerMetadata = new CloudLoadBalancerMetadata.Builder().withParameters(createAwsParams(1)).build();
TargetGroup targetGroup = new TargetGroup();
targetGroup.setType(TargetGroupType.KNOX);
TargetGroupPortPair portPair = new TargetGroupPortPair(PORT1, PORT2);
when(loadBalancerConfigService.getTargetGroupPortPairs(eq(targetGroup))).thenReturn(Set.of(portPair));
TargetGroupConfigDbWrapper targetGroupConfigDbWrapper = underTest.convertTargetGroup(AWS, cloudLoadBalancerMetadata, targetGroup);
assertNotNull(targetGroupConfigDbWrapper.getAwsConfig());
AwsTargetGroupConfigDb awsTargetGroupConfigDb = targetGroupConfigDbWrapper.getAwsConfig();
assertEquals(1, awsTargetGroupConfigDb.getPortArnMapping().size());
assertEquals(PORT1, awsTargetGroupConfigDb.getPortArnMapping().keySet().iterator().next());
AwsTargetGroupArnsDb targetGroupArns = awsTargetGroupConfigDb.getPortArnMapping().get(PORT1);
assertEquals(LISTENER_ARN, targetGroupArns.getListenerArn());
assertEquals(TARGET_ARN, targetGroupArns.getTargetGroupArn());
}
use of com.sequenceiq.cloudbreak.domain.stack.loadbalancer.aws.AwsTargetGroupArnsDb in project cloudbreak by hortonworks.
the class LoadBalancerConfigConverterTest method testConvertAwsTargetGroupMissingPortInMetadata.
@Test
public void testConvertAwsTargetGroupMissingPortInMetadata() {
CloudLoadBalancerMetadata cloudLoadBalancerMetadata = new CloudLoadBalancerMetadata.Builder().withParameters(createAwsParams(1)).build();
TargetGroup targetGroup = new TargetGroup();
targetGroup.setType(TargetGroupType.KNOX);
TargetGroupPortPair portPair1 = new TargetGroupPortPair(PORT1, PORT1);
TargetGroupPortPair portPair2 = new TargetGroupPortPair(PORT2, PORT2);
when(loadBalancerConfigService.getTargetGroupPortPairs(eq(targetGroup))).thenReturn(Set.of(portPair1, portPair2));
TargetGroupConfigDbWrapper targetGroupConfigDbWrapper = underTest.convertTargetGroup(AWS, cloudLoadBalancerMetadata, targetGroup);
assertNotNull(targetGroupConfigDbWrapper.getAwsConfig());
AwsTargetGroupConfigDb awsTargetGroupConfigDb = targetGroupConfigDbWrapper.getAwsConfig();
assertEquals(2, awsTargetGroupConfigDb.getPortArnMapping().size());
assertEquals(Set.of(PORT1, PORT2), awsTargetGroupConfigDb.getPortArnMapping().keySet());
AwsTargetGroupArnsDb targetGroupArns = awsTargetGroupConfigDb.getPortArnMapping().get(PORT1);
assertEquals(LISTENER_ARN, targetGroupArns.getListenerArn());
assertEquals(TARGET_ARN, targetGroupArns.getTargetGroupArn());
targetGroupArns = awsTargetGroupConfigDb.getPortArnMapping().get(PORT2);
assertEquals(MISSING_CLOUD_RESOURCE, targetGroupArns.getListenerArn());
assertEquals(MISSING_CLOUD_RESOURCE, targetGroupArns.getTargetGroupArn());
}
Aggregations