return true;
}
return !CommonUtil.isMultimapEmpty(firstEntityMap) && !CommonUtil.isMultimapEmpty(secondEntityMap)
- && firstEntityMap.keySet().equals(secondEntityMap.keySet());
+ && equalsIgnoreSuffix(new HashSet<>(firstEntityMap.keySet()),new HashSet<>(secondEntityMap.keySet()));
+ }
+
+ private boolean equalsIgnoreSuffix(Set<String> firstKeySet, Set<String> secondKeySet){
+ Set<String> firstKeySetTrimmed = firstKeySet.stream().map(this::trimSuffix).collect(Collectors.toSet());
+ Set<String> secondKeySetTrimmed = secondKeySet.stream().map(this::trimSuffix).collect(Collectors.toSet());
+ return firstKeySetTrimmed.equals(secondKeySetTrimmed);
+ }
+
+ private String trimSuffix(String volumeName){
+ int suffixPosition = volumeName.lastIndexOf("_");
+ return volumeName.substring(0, suffixPosition);
}
private boolean checkGroupIdsRelations(EntityConsolidationData startingEntity,
translationContext.setConsolidationData(consolidationData);
List<UnifiedCompositionMode> expectedUnifiedModes =
- Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
+ Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
}
translationContext.setConsolidationData(consolidationData);
List<UnifiedCompositionMode> expectedUnifiedModes =
- Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
+ Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
}
translationContext.setConsolidationData(consolidationData);
List<UnifiedCompositionMode> expectedUnifiedModes =
- Collections.singletonList(UnifiedCompositionMode.CatalogInstance);
+ Collections.singletonList(UnifiedCompositionMode.ScalingInstances);
verifyMainServiceTemplateConsolidation(1, expectedUnifiedModes, toscaServiceModel);
}
"role_1", "interface_2", Collections.singletonList("node_2"), null, null, null,
consolidationData));
- testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
+ testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.ScalingInstances));
}
@Test
"role_1", "interface_2", null, Collections.singletonList("node_2"), null, null,
consolidationData));
- testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.CatalogInstance));
+ testConsolidation(1, toscaServiceModel, consolidationData, Collections.singletonList(UnifiedCompositionMode.ScalingInstances));
}
@Test
shared: true
network_name:
get_input: jsa_net_name
- abstract_pd_server_0:
+ abstract_pd_server:
type: org.openecomp.resource.abstract.nodes.pd_server
directives:
- substitutable
port_pd_server_port_1_network_role_tag: oam
port_pd_server_port_1_network:
- get_input: oam_net_name
+ - get_input: oam_net_name
compute_pd_server_availability_zone:
- get_input: availabilityzone_name
+ - get_input: availabilityzone_name
compute_pd_server_name:
- get_input:
- pd_server_names
- 1
+ - get_input:
+ - pd_server_names
+ - 0
subinterface_nested_service_template_filter_count:
- 9
+ - 9
vm_flavor_name:
get_input: pd_flavor_name
subinterface_nested_p1:
- pd_server_1_port_1
+ - pd_server_port_1
port_pd_server_port_1_mac_requirements:
mac_count_required:
is_required: false
get_input: pd_image_name
subinterface_nested_net1:
- test_net2
+ - test_net1
port_pd_server_port_1_ip_requirements:
- ip_version: 4
ip_count_required:
is_required: false
compute_pd_server_user_data_format:
- RAW
+ - RAW
service_template_filter:
substitute_service_template: Nested_pd_serverServiceTemplate.yaml
- count: 1
+ count: 2
index_value:
get_property:
- SELF
capability: tosca.capabilities.network.Linkable
node: test_net2
relationship: tosca.relationships.network.LinksTo
- abstract_pd_server_1:
- type: org.openecomp.resource.abstract.nodes.pd_server
- directives:
- - substitutable
- properties:
- port_pd_server_port_1_network_role_tag: oam
- port_pd_server_port_1_network:
- - get_input: oam_net_name
- compute_pd_server_availability_zone:
- - get_input: availabilityzone_name
- compute_pd_server_name:
- - get_input:
- - pd_server_names
- - 0
- subinterface_nested_service_template_filter_count:
- - 9
- vm_flavor_name:
- get_input: pd_flavor_name
- subinterface_nested_p1:
- - pd_server_port_1
- port_pd_server_port_1_mac_requirements:
- mac_count_required:
- is_required: false
- vm_image_name:
- get_input: pd_image_name
- subinterface_nested_net1:
- - test_net1
- port_pd_server_port_1_ip_requirements:
- - ip_version: 4
- ip_count_required:
- is_required: false
- floating_ip_count_required:
- is_required: false
- compute_pd_server_user_data_format:
- - RAW
- service_template_filter:
- substitute_service_template: Nested_pd_serverServiceTemplate.yaml
- count: 1
- index_value:
- get_property:
- - SELF
- - service_template_filter
- - index_value
- requirements:
- subinterface_link_template_Vlan_vmi_1_pd_server_pd_server_port_1_nested:
capability: tosca.capabilities.network.Linkable
node: test_net1
members:
- test_net2
- test_net1
- - abstract_pd_server_0
- - abstract_pd_server_1
+ - abstract_pd_server
\ No newline at end of file