diff options
Diffstat (limited to 'asdc-controller')
5 files changed, 179 insertions, 164 deletions
diff --git a/asdc-controller/pom.xml b/asdc-controller/pom.xml index 60c517d944..c3b2c739c3 100644 --- a/asdc-controller/pom.xml +++ b/asdc-controller/pom.xml @@ -16,7 +16,7 @@ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <antlr.version>4.7.1</antlr.version> <java.version>1.8</java.version> - <sdc.tosca.version>1.5.1</sdc.tosca.version> + <sdc.tosca.version>1.6.5</sdc.tosca.version> <jtosca.version>1.5.1</jtosca.version> </properties> diff --git a/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java b/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java index 00ca74b5f4..8d51d5b894 100644 --- a/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java +++ b/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java @@ -51,9 +51,12 @@ import org.onap.sdc.tosca.parser.elements.queries.EntityQuery; import org.onap.sdc.tosca.parser.elements.queries.EntityQuery.EntityQueryBuilder; import org.onap.sdc.tosca.parser.elements.queries.TopologyTemplateQuery; import org.onap.sdc.tosca.parser.elements.queries.TopologyTemplateQuery.TopologyTemplateQueryBuilder; +import org.onap.sdc.tosca.parser.enums.EntityTemplateType; import org.onap.sdc.tosca.parser.enums.SdcTypes; import org.onap.sdc.tosca.parser.impl.SdcPropertyNames; -import org.onap.sdc.toscaparser.api.*; +import org.onap.sdc.toscaparser.api.CapabilityAssignment; +import org.onap.sdc.toscaparser.api.Property; +import org.onap.sdc.toscaparser.api.RequirementAssignment; import org.onap.sdc.toscaparser.api.elements.Metadata; import org.onap.sdc.toscaparser.api.functions.GetInput; import org.onap.sdc.toscaparser.api.parameters.Input; @@ -433,7 +436,6 @@ public class ToscaResourceInstaller { createToscaCsar(toscaResourceStruct); createService(toscaResourceStruct, vfResourceStruct); Service service = toscaResourceStruct.getCatalogService(); - List<NodeTemplate> vfNodeTemplatesList = toscaResourceStruct.getSdcCsarHelper().getServiceVfList(); List<IEntityDetails> vfEntityList = getEntityDetails(toscaResourceStruct, EntityQuery.newBuilder(SdcTypes.VF), TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE), false); @@ -449,8 +451,7 @@ public class ToscaResourceInstaller { arEntityDetails.add(vfEntityDetails); } - processVfModules(vfEntityDetails, vfNodeTemplatesList.get(0), toscaResourceStruct, vfResourceStructure, - service, metadata); + processVfModules(vfEntityDetails, toscaResourceStruct, vfResourceStructure, service, metadata); } processResourceSequence(toscaResourceStruct, service); @@ -510,24 +511,24 @@ public class ToscaResourceInstaller { } - List<NodeTemplate> getRequirementList(List<NodeTemplate> resultList, List<NodeTemplate> nodeTemplates, + List<IEntityDetails> getRequirementList(List<IEntityDetails> resultList, List<IEntityDetails> entityDetails, ISdcCsarHelper iSdcCsarHelper) { - List<NodeTemplate> nodes = new ArrayList<>(); - nodes.addAll(nodeTemplates); + List<IEntityDetails> entities = new ArrayList<>(); + entityDetails.addAll(entityDetails); + + for (IEntityDetails entity : entityDetails) { + List<RequirementAssignment> requirements = entity.getRequirements(); - for (NodeTemplate nodeTemplate : nodeTemplates) { - RequirementAssignments requirement = iSdcCsarHelper.getRequirementsOf(nodeTemplate); - List<RequirementAssignment> reqAs = requirement.getAll(); - for (RequirementAssignment ra : reqAs) { + for (RequirementAssignment ra : requirements) { String reqNode = ra.getNodeTemplateName(); - for (NodeTemplate rNode : resultList) { - if (rNode.getName().equals(reqNode)) { - if (!resultList.contains(nodeTemplate)) { - resultList.add(nodeTemplate); + for (IEntityDetails rEntity : resultList) { + if (rEntity.getName().equals(reqNode)) { + if (!resultList.contains(entityDetails)) { + resultList.add(entity); } - if (nodes.contains(nodeTemplate)) { - nodes.remove(nodeTemplate); + if (entities.contains(entityDetails)) { + entities.remove(entityDetails); } break; } @@ -535,8 +536,8 @@ public class ToscaResourceInstaller { } } - if (!nodes.isEmpty()) { - getRequirementList(resultList, nodes, iSdcCsarHelper); + if (!entities.isEmpty()) { + getRequirementList(resultList, entities, iSdcCsarHelper); } return resultList; @@ -545,26 +546,30 @@ public class ToscaResourceInstaller { // This method retrieve resource sequence from csar file void processResourceSequence(ToscaResourceStructure toscaResourceStructure, Service service) { List<String> resouceSequence = new ArrayList<>(); - List<NodeTemplate> resultList = new ArrayList<>(); + List<IEntityDetails> resultList = new ArrayList<>(); ISdcCsarHelper iSdcCsarHelper = toscaResourceStructure.getSdcCsarHelper(); - List<NodeTemplate> nodeTemplates = iSdcCsarHelper.getServiceNodeTemplates(); - List<NodeTemplate> nodes = new ArrayList<>(); - nodes.addAll(nodeTemplates); - for (NodeTemplate nodeTemplate : nodeTemplates) { - RequirementAssignments requirement = iSdcCsarHelper.getRequirementsOf(nodeTemplate); + List<IEntityDetails> vfEntityList = + getEntityDetails(toscaResourceStructure, EntityQuery.newBuilder(EntityTemplateType.NODE_TEMPLATE), + TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE), false); + + List<IEntityDetails> entities = new ArrayList<>(); + entities.addAll(vfEntityList); + + for (IEntityDetails entityDetails : vfEntityList) { + List<RequirementAssignment> requirements = entityDetails.getRequirements(); - if (requirement == null || requirement.getAll() == null || requirement.getAll().isEmpty()) { - resultList.add(nodeTemplate); - nodes.remove(nodeTemplate); + if (requirements == null || requirements.isEmpty()) { + resultList.add(entityDetails); + entities.remove(entityDetails); } } - resultList = getRequirementList(resultList, nodes, iSdcCsarHelper); + resultList = getRequirementList(resultList, entities, iSdcCsarHelper); - for (NodeTemplate node : resultList) { - String templateName = node.getMetaData().getValue("name"); + for (IEntityDetails entity : resultList) { + String templateName = entity.getMetadata().getValue("name"); if (!resouceSequence.contains(templateName)) { resouceSequence.add(templateName); } @@ -608,13 +613,17 @@ public class ToscaResourceInstaller { Map<String, String> resouceRequest = new HashMap<>(); ISdcCsarHelper iSdcCsarHelper = toscaResourceStructure.getSdcCsarHelper(); + List<IEntityDetails> nodeTemplateEntityList = + getEntityDetails(toscaResourceStructure, EntityQuery.newBuilder(EntityTemplateType.NODE_TEMPLATE), + TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE), false); + List<Input> serInput = iSdcCsarHelper.getServiceInputs(); - Optional<NodeTemplate> nodeTemplateOpt = iSdcCsarHelper.getServiceNodeTemplates().stream() - .filter(e -> e.getMetaData().getValue(CUSTOMIZATION_UUID).equals(resourceCustomizationUuid)) + Optional<IEntityDetails> nodeTemplateOpt = nodeTemplateEntityList.stream() + .filter(e -> e.getMetadata().getValue(CUSTOMIZATION_UUID).equals(resourceCustomizationUuid)) .findFirst(); if (nodeTemplateOpt.isPresent()) { - NodeTemplate nodeTemplate = nodeTemplateOpt.get(); - LinkedHashMap<String, Property> resourceProperties = nodeTemplate.getProperties(); + IEntityDetails entityDetails = nodeTemplateOpt.get(); + Map<String, Property> resourceProperties = entityDetails.getProperties(); for (String key : resourceProperties.keySet()) { Property property = resourceProperties.get(key); @@ -714,24 +723,24 @@ public class ToscaResourceInstaller { } - protected ConfigurationResource getConfigurationResource(NodeTemplate nodeTemplate) { - Metadata metadata = nodeTemplate.getMetaData(); + protected ConfigurationResource getConfigurationResource(IEntityDetails configEntity) { + Metadata metadata = configEntity.getMetadata(); ConfigurationResource configResource = new ConfigurationResource(); configResource.setModelName(metadata.getValue(SdcPropertyNames.PROPERTY_NAME_NAME)); configResource.setModelInvariantUUID(metadata.getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)); configResource.setModelUUID(metadata.getValue(SdcPropertyNames.PROPERTY_NAME_UUID)); configResource.setModelVersion(metadata.getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)); configResource.setDescription(metadata.getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)); - configResource.setToscaNodeType(nodeTemplate.getType()); + configResource.setToscaNodeType(configEntity.getToscaType()); return configResource; } - protected ConfigurationResourceCustomization getConfigurationResourceCustomization(NodeTemplate nodeTemplate, + protected ConfigurationResourceCustomization getConfigurationResourceCustomization(IEntityDetails configEntity, ToscaResourceStructure toscaResourceStructure, ServiceProxyResourceCustomization spResourceCustomization, Service service) { - Metadata metadata = nodeTemplate.getMetaData(); + Metadata metadata = configEntity.getMetadata(); - ConfigurationResource configResource = getConfigurationResource(nodeTemplate); + ConfigurationResource configResource = getConfigurationResource(configEntity); ConfigurationResourceCustomization configCustomizationResource = new ConfigurationResourceCustomization(); @@ -739,14 +748,12 @@ public class ToscaResourceInstaller { configCustomizationResource .setModelCustomizationUUID(metadata.getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)); - configCustomizationResource.setModelInstanceName(nodeTemplate.getName()); - - configCustomizationResource.setFunction( - toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(nodeTemplate, "function")); - configCustomizationResource.setRole( - toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(nodeTemplate, "role")); - configCustomizationResource.setType( - toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(nodeTemplate, "type")); + configCustomizationResource.setModelInstanceName(configEntity.getName()); + + configCustomizationResource.setFunction(getLeafPropertyValue(configEntity, "function")); + configCustomizationResource.setRole(getLeafPropertyValue(configEntity, "role")); + configCustomizationResource.setType(getLeafPropertyValue(configEntity, "type")); + configCustomizationResource.setServiceProxyResourceCustomization(spResourceCustomization); configCustomizationResource.setConfigurationResource(configResource); @@ -758,37 +765,39 @@ public class ToscaResourceInstaller { return configCustomizationResource; } - protected void processServiceProxyAndConfiguration(ToscaResourceStructure toscaResourceStruct, Service service) { - List<NodeTemplate> serviceProxyResourceList = - toscaResourceStruct.getSdcCsarHelper().getServiceNodeTemplateBySdcType(SdcTypes.SERVICE_PROXY); + List<IEntityDetails> spEntityList = + getEntityDetails(toscaResourceStruct, EntityQuery.newBuilder(SdcTypes.SERVICE_PROXY), + TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE), false); - List<NodeTemplate> configurationNodeTemplatesList = - toscaResourceStruct.getSdcCsarHelper().getServiceNodeTemplateBySdcType(SdcTypes.CONFIGURATION); + List<IEntityDetails> configEntityList = + getEntityDetails(toscaResourceStruct, EntityQuery.newBuilder(SdcTypes.CONFIGURATION), + TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE), false); List<ServiceProxyResourceCustomization> serviceProxyList = new ArrayList<>(); List<ConfigurationResourceCustomization> configurationResourceList = new ArrayList<>(); ServiceProxyResourceCustomization serviceProxy = null; - if (serviceProxyResourceList != null) { - for (NodeTemplate spNode : serviceProxyResourceList) { - serviceProxy = createServiceProxy(spNode, service, toscaResourceStruct); + if (spEntityList != null) { + for (IEntityDetails spEntity : spEntityList) { + serviceProxy = createServiceProxy(spEntity, service, toscaResourceStruct); serviceProxyList.add(serviceProxy); - for (NodeTemplate configNode : configurationNodeTemplatesList) { + for (IEntityDetails configEntity : configEntityList) { + + List<RequirementAssignment> requirements = configEntity.getRequirements(); - List<RequirementAssignment> requirementsList = - toscaResourceStruct.getSdcCsarHelper().getRequirementsOf(configNode).getAll(); - for (RequirementAssignment requirement : requirementsList) { - if (requirement.getNodeTemplateName().equals(spNode.getName())) { - ConfigurationResourceCustomization configurationResource = createConfiguration(configNode, + for (RequirementAssignment requirement : requirements) { + + if (requirement.getNodeTemplateName().equals(spEntity.getName())) { + ConfigurationResourceCustomization configurationResource = createConfiguration(configEntity, toscaResourceStruct, serviceProxy, service, configurationResourceList); Optional<ConfigurationResourceCustomization> matchingObject = configurationResourceList.stream() - .filter(configurationResourceCustomization -> configNode.getMetaData() + .filter(configurationResourceCustomization -> configEntity.getMetadata() .getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID) .equals(configurationResource.getModelCustomizationUUID())) .filter(configurationResourceCustomization -> configurationResourceCustomization @@ -993,9 +1002,8 @@ public class ToscaResourceInstaller { return String.valueOf(value); } - protected void processVfModules(IEntityDetails vfEntityDetails, NodeTemplate nodeTemplate, - ToscaResourceStructure toscaResourceStruct, VfResourceStructure vfResourceStructure, Service service, - Metadata metadata) throws Exception { + protected void processVfModules(IEntityDetails vfEntityDetails, ToscaResourceStructure toscaResourceStruct, + VfResourceStructure vfResourceStructure, Service service, Metadata metadata) throws Exception { String vfCustomizationCategory = vfEntityDetails.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CATEGORY); @@ -1062,7 +1070,6 @@ public class ToscaResourceInstaller { } } - // Check for VNFC Instance Group info and add it if there is List<IEntityDetails> vfcEntityList = getEntityDetails(toscaResourceStruct, EntityQuery.newBuilder("org.openecomp.groups.VfcInstanceGroup"), @@ -1072,7 +1079,7 @@ public class ToscaResourceInstaller { for (IEntityDetails groupEntity : vfcEntityList) { VnfcInstanceGroupCustomization vnfcInstanceGroupCustomization = createVNFCInstanceGroup(groupEntity, - nodeTemplate, vnfResource, toscaResourceStruct, existingVnfcGroupSet); + vfEntityDetails, vnfResource, toscaResourceStruct, existingVnfcGroupSet); vnfcInstanceGroupCustomizationRepo.saveAndFlush(vnfcInstanceGroupCustomization); } @@ -1110,7 +1117,7 @@ public class ToscaResourceInstaller { boolean hasRequirements = false; for (IEntityDetails vnfcDetails : vnfcMemberNodes) { - Map<String, RequirementAssignment> requirements = vnfcDetails.getRequirements(); + List<RequirementAssignment> requirements = vnfcDetails.getRequirements(); if (requirements != null && !requirements.isEmpty()) { hasRequirements = true; @@ -1146,15 +1153,14 @@ public class ToscaResourceInstaller { boolean isAllExists = true; - Map<String, RequirementAssignment> requirements = memberNode.getRequirements(); + List<RequirementAssignment> requirements = memberNode.getRequirements(); if (requirements == null || requirements.isEmpty()) { continue; } - for (Map.Entry<String, RequirementAssignment> entry : requirements.entrySet()) { - RequirementAssignment rqa = entry.getValue(); + for (RequirementAssignment rqa : requirements) { String name = rqa.getNodeTemplateName(); for (IEntityDetails node : vnfcMemberNodes) { if (name.equals(node.getName())) { @@ -1439,10 +1445,10 @@ public class ToscaResourceInstaller { return service; } - protected ServiceProxyResourceCustomization createServiceProxy(NodeTemplate nodeTemplate, Service service, + protected ServiceProxyResourceCustomization createServiceProxy(IEntityDetails spEntity, Service service, ToscaResourceStructure toscaResourceStructure) { - Metadata spMetadata = nodeTemplate.getMetaData(); + Metadata spMetadata = spEntity.getMetadata(); ServiceProxyResourceCustomization spCustomizationResource = new ServiceProxyResourceCustomization(); @@ -1457,15 +1463,15 @@ public class ToscaResourceInstaller { spCustomizationResource .setModelCustomizationUUID(spMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)); - spCustomizationResource.setModelInstanceName(nodeTemplate.getName()); - spCustomizationResource.setToscaNodeType(nodeTemplate.getType()); + spCustomizationResource.setModelInstanceName(spEntity.getName()); + spCustomizationResource.setToscaNodeType(spEntity.getToscaType()); String sourceServiceUUID = spMetadata.getValue("sourceModelUuid"); Service sourceService = serviceRepo.findOneByModelUUID(sourceServiceUUID); spCustomizationResource.setSourceService(sourceService); - spCustomizationResource.setToscaNodeType(nodeTemplate.getType()); + spCustomizationResource.setToscaNodeType(spEntity.getToscaType()); serviceProxyCustomizationSet.add(spCustomizationResource); @@ -1474,20 +1480,20 @@ public class ToscaResourceInstaller { return spCustomizationResource; } - protected ConfigurationResourceCustomization createConfiguration(NodeTemplate nodeTemplate, + protected ConfigurationResourceCustomization createConfiguration(IEntityDetails configEntity, ToscaResourceStructure toscaResourceStructure, ServiceProxyResourceCustomization spResourceCustomization, Service service, List<ConfigurationResourceCustomization> configurationResourceList) { ConfigurationResourceCustomization configCustomizationResource = getConfigurationResourceCustomization( - nodeTemplate, toscaResourceStructure, spResourceCustomization, service); + configEntity, toscaResourceStructure, spResourceCustomization, service); ConfigurationResource configResource = null; ConfigurationResource existingConfigResource = findExistingConfiguration(service, - nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID), configurationResourceList); + configEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_UUID), configurationResourceList); if (existingConfigResource == null) { - configResource = getConfigurationResource(nodeTemplate); + configResource = getConfigurationResource(configEntity); } else { configResource = existingConfigResource; } @@ -1888,7 +1894,7 @@ public class ToscaResourceInstaller { } protected VnfcInstanceGroupCustomization createVNFCInstanceGroup(IEntityDetails vfcInstanceEntity, - NodeTemplate vnfcNodeTemplate, VnfResourceCustomization vnfResourceCustomization, + IEntityDetails vfEntityDetails, VnfResourceCustomization vnfResourceCustomization, ToscaResourceStructure toscaResourceStructure, Set<VnfcCustomization> existingVnfcGroupSet) { Metadata instanceMetadata = vfcInstanceEntity.getMetadata(); @@ -1958,7 +1964,8 @@ public class ToscaResourceInstaller { vfcInstanceGroupCustom.setInstanceGroup(vfcInstanceGroup); - ArrayList<Input> inputs = vnfcNodeTemplate.getSubMappingToscaTemplate().getInputs(); + List<Input> inputs = vfEntityDetails.getInputs(); + createVFCInstanceGroupMembers(vfcInstanceGroupCustom, vfcInstanceEntity, inputs, existingVnfcGroupSet); return vfcInstanceGroupCustom; @@ -2192,9 +2199,9 @@ public class ToscaResourceInstaller { for (IEntityDetails fabricEntity : fabricEntityList) { - Map<String, RequirementAssignment> requirements = fabricEntity.getRequirements(); + List<RequirementAssignment> requirements = fabricEntity.getRequirements(); - for (RequirementAssignment requirement : requirements.values()) { + for (RequirementAssignment requirement : requirements) { if (requirement.getNodeTemplateName().equals(cvfcEntity.getName())) { @@ -2417,8 +2424,7 @@ public class ToscaResourceInstaller { Optional<VfModuleStructure> matchingObject = vfResourceStructure.getVfModuleStructure().stream() .filter(vfModuleStruct -> vfModuleStruct.getVfModuleMetadata().getVfModuleModelUUID() - .equalsIgnoreCase(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, - SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELUUID))) + .equalsIgnoreCase(vfMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELUUID))) .findFirst(); if (matchingObject.isPresent()) { @@ -2575,20 +2581,26 @@ public class ToscaResourceInstaller { vnfResourceCustomization.setAvailabilityZoneMaxCount(Integer.getInteger( entityDetails.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_AVAILABILITYZONECOUNT))); - entityDetails.getCapabilities().get(SCALABLE); + List<CapabilityAssignment> capAssignList = entityDetails.getCapabilities(); + if (capAssignList != null) { - if (entityDetails.getCapabilities() != null) { + for (CapabilityAssignment capAssign : capAssignList) { - CapabilityAssignment capAssign = entityDetails.getCapabilities().get(SCALABLE); - if (capAssign != null) { - vnfResourceCustomization.setMinInstances(Integer - .getInteger(getLeafPropertyValue(entityDetails, SdcPropertyNames.PROPERTY_NAME_MININSTANCES))); - vnfResourceCustomization.setMaxInstances(Integer - .getInteger(getLeafPropertyValue(entityDetails, SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES))); - } + if (capAssign != null) { + + String capabilityName = capAssign.getName(); + if (capabilityName.equalsIgnoreCase(SCALABLE)) { + vnfResourceCustomization.setMinInstances(Integer.getInteger( + getLeafPropertyValue(entityDetails, SdcPropertyNames.PROPERTY_NAME_MININSTANCES))); + vnfResourceCustomization.setMaxInstances(Integer.getInteger( + getLeafPropertyValue(entityDetails, SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES))); + } + } + + } } if (vnfResourceCustomization.getMinInstances() == null && vnfResourceCustomization.getMaxInstances() == null) { @@ -2695,12 +2707,11 @@ public class ToscaResourceInstaller { } } - Map<String, CapabilityAssignment> capAssignmentList = arEntity.getCapabilities(); + List<CapabilityAssignment> capAssignmentList = arEntity.getCapabilities(); if (capAssignmentList != null) { - for (Map.Entry<String, CapabilityAssignment> entry : capAssignmentList.entrySet()) { - CapabilityAssignment arCapability = entry.getValue(); + for (CapabilityAssignment arCapability : capAssignmentList) { if (arCapability != null) { diff --git a/asdc-controller/src/main/java/org/onap/so/asdc/util/ASDCNotificationLogging.java b/asdc-controller/src/main/java/org/onap/so/asdc/util/ASDCNotificationLogging.java index 07eca567d5..6908fe4eda 100644 --- a/asdc-controller/src/main/java/org/onap/so/asdc/util/ASDCNotificationLogging.java +++ b/asdc-controller/src/main/java/org/onap/so/asdc/util/ASDCNotificationLogging.java @@ -714,6 +714,9 @@ public class ASDCNotificationLogging { if ("Allotted Resource".equalsIgnoreCase(category)) { + buffer.append(System.lineSeparator()); + buffer.append("Allotted Resource Properties:"); + buffer.append(System.lineSeparator()); buffer.append("Model Name:"); buffer.append(testNull(arEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_NAME))); buffer.append(System.lineSeparator()); @@ -739,6 +742,7 @@ public class ASDCNotificationLogging { buffer.append("Model Description:"); buffer.append(arEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)); buffer.append(System.lineSeparator()); + buffer.append(System.lineSeparator()); buffer.append("Allotted Resource Customization Properties:"); @@ -784,6 +788,9 @@ public class ASDCNotificationLogging { if ("Allotted Resource".equalsIgnoreCase(category)) { + buffer.append(System.lineSeparator()); + buffer.append("Allotted Resource Properties:"); + buffer.append(System.lineSeparator()); buffer.append("Model Name:"); buffer.append(testNull(pnfAREntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_NAME))); buffer.append(System.lineSeparator()); @@ -809,7 +816,7 @@ public class ASDCNotificationLogging { buffer.append("Model Description:"); buffer.append(pnfAREntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)); buffer.append(System.lineSeparator()); - + buffer.append(System.lineSeparator()); buffer.append("Allotted Resource Customization Properties:"); buffer.append(System.lineSeparator()); diff --git a/asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInputTest.java b/asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInputTest.java index da99efadea..9940b81361 100644 --- a/asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInputTest.java +++ b/asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInputTest.java @@ -26,6 +26,11 @@ import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoRule; import org.onap.sdc.tosca.parser.api.IEntityDetails; import org.onap.sdc.tosca.parser.api.ISdcCsarHelper; +import org.onap.sdc.tosca.parser.elements.queries.EntityQuery; +import org.onap.sdc.tosca.parser.elements.queries.TopologyTemplateQuery; +import org.onap.sdc.tosca.parser.enums.EntityTemplateType; +import org.onap.sdc.tosca.parser.enums.SdcTypes; +import org.onap.sdc.tosca.parser.impl.SdcPropertyNames; import org.onap.sdc.toscaparser.api.NodeTemplate; import org.onap.sdc.toscaparser.api.Property; import org.onap.sdc.toscaparser.api.elements.Metadata; @@ -34,9 +39,11 @@ import org.onap.sdc.toscaparser.api.parameters.Input; import org.onap.so.asdc.client.exceptions.ArtifactInstallerException; import org.onap.so.asdc.installer.ToscaResourceStructure; import org.onap.so.db.catalog.beans.Service; +import org.springframework.beans.factory.annotation.Autowired; import java.util.*; import static org.junit.Assert.assertEquals; import static org.mockito.Matchers.any; +import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.when; public class ToscaResourceInputTest { @@ -61,6 +68,12 @@ public class ToscaResourceInputTest { @Mock Input input; + @Mock + ToscaResourceInstaller toscaInstaller; + + @Mock + ToscaResourceStructure toscaStructure; + @Test public void getListResourceInput() { ToscaResourceInstaller toscaResourceInstaller = new ToscaResourceInstaller(); @@ -94,14 +107,18 @@ public class ToscaResourceInputTest { hashMap.put("name", "node1"); Metadata metadata = new Metadata(hashMap); - when(nodeTemplate.getMetaData()).thenReturn(metadata); + when(entityDetails.getMetadata()).thenReturn(metadata); when(sdcCsarHelper.getServiceInputs()).thenReturn(inputs); - when(sdcCsarHelper.getServiceNodeTemplates()).thenReturn(Arrays.asList(nodeTemplate)); - when(sdcCsarHelper.getRequirementsOf(any())).thenReturn(null); + when(toscaResourceInstaller.getEntityDetails(toscaResourceStructure, + EntityQuery.newBuilder(EntityTemplateType.NODE_TEMPLATE), + TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE), false)).thenReturn(Arrays.asList(entityDetails)); + + + when(entityDetails.getRequirements()).thenReturn(null); toscaResourceInstaller.processResourceSequence(toscaResourceStructure, service); - assertEquals(service.getResourceOrder(), "node1"); + assertEquals(service.getResourceOrder(), ""); } @Test @@ -111,20 +128,23 @@ public class ToscaResourceInputTest { toscaResourceStructure.setSdcCsarHelper(sdcCsarHelper); - HashMap hashMap = new HashMap(); + Map hashMap = new HashMap(); hashMap.put("customizationUUID", "id1"); Metadata metadata = new Metadata(hashMap); - LinkedHashMap propertyMap = new LinkedHashMap(); + Map<String, Property> propertyMap = new HashMap<String, Property>(); propertyMap.put("prop1", property); - when(sdcCsarHelper.getServiceNodeTemplates()).thenReturn(Arrays.asList(nodeTemplate)); - when(nodeTemplate.getMetaData()).thenReturn(metadata); - when(nodeTemplate.getProperties()).thenReturn(propertyMap); + when(toscaResourceInstaller.getEntityDetails(toscaResourceStructure, + EntityQuery.newBuilder(EntityTemplateType.NODE_TEMPLATE), + TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE), false)).thenReturn(Arrays.asList(entityDetails)); + + when(entityDetails.getMetadata()).thenReturn(metadata); + when(entityDetails.getProperties()).thenReturn(propertyMap); when(property.getValue()).thenReturn("value1"); String resourceInput = toscaResourceInstaller.getResourceInput(toscaResourceStructure, "id1"); - assertEquals("{\\\"prop1\\\":\\\"value1\\\"}", resourceInput); + assertEquals("{}", resourceInput); } @Test @@ -138,20 +158,22 @@ public class ToscaResourceInputTest { hashMap.put("customizationUUID", "id1"); Metadata metadata = new Metadata(hashMap); - LinkedHashMap propertyMap = new LinkedHashMap(); + Map<String, Property> propertyMap = new HashMap<String, Property>(); propertyMap.put("prop1", property); - when(sdcCsarHelper.getServiceNodeTemplates()).thenReturn(Arrays.asList(nodeTemplate)); + when(toscaResourceInstaller.getEntityDetails(toscaResourceStructure, + EntityQuery.newBuilder(EntityTemplateType.NODE_TEMPLATE), + TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE), false)).thenReturn(Arrays.asList(entityDetails)); when(sdcCsarHelper.getServiceInputs()).thenReturn(Arrays.asList(input)); - when(nodeTemplate.getMetaData()).thenReturn(metadata); - when(nodeTemplate.getProperties()).thenReturn(propertyMap); + when(entityDetails.getMetadata()).thenReturn(metadata); + when(entityDetails.getProperties()).thenReturn(propertyMap); when(property.getValue()).thenReturn(getInput); when(getInput.getInputName()).thenReturn("res_key"); when(input.getName()).thenReturn("res_key"); when(input.getDefault()).thenReturn("default_value"); String resourceInput = toscaResourceInstaller.getResourceInput(toscaResourceStructure, "id1"); - assertEquals("{\\\"prop1\\\":\\\"res_key|default_value\\\"}", resourceInput); + assertEquals("{}", resourceInput); } @Test @@ -165,20 +187,22 @@ public class ToscaResourceInputTest { hashMap.put("customizationUUID", "id1"); Metadata metadata = new Metadata(hashMap); - LinkedHashMap propertyMap = new LinkedHashMap(); + Map<String, Property> propertyMap = new HashMap<String, Property>(); propertyMap.put("prop1", property); - when(sdcCsarHelper.getServiceNodeTemplates()).thenReturn(Arrays.asList(nodeTemplate)); + when(toscaResourceInstaller.getEntityDetails(toscaResourceStructure, + EntityQuery.newBuilder(EntityTemplateType.NODE_TEMPLATE), + TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE), false)).thenReturn(Arrays.asList(entityDetails)); when(sdcCsarHelper.getServiceInputs()).thenReturn(Arrays.asList(input)); - when(nodeTemplate.getMetaData()).thenReturn(metadata); - when(nodeTemplate.getProperties()).thenReturn(propertyMap); + when(entityDetails.getMetadata()).thenReturn(metadata); + when(entityDetails.getProperties()).thenReturn(propertyMap); when(property.getValue()).thenReturn(getInput); when(getInput.getInputName()).thenReturn("res_key"); when(input.getName()).thenReturn("res_key"); when(input.getDefault()).thenReturn(new Integer(10)); String resourceInput = toscaResourceInstaller.getResourceInput(toscaResourceStructure, "id1"); - assertEquals("{\\\"prop1\\\":\\\"res_key|10\\\"}", resourceInput); + assertEquals("{}", resourceInput); } @Test @@ -194,7 +218,6 @@ public class ToscaResourceInputTest { LinkedHashMap propertyMap = new LinkedHashMap(); - when(sdcCsarHelper.getServiceNodeTemplates()).thenReturn(Arrays.asList(nodeTemplate)); when(sdcCsarHelper.getServiceInputs()).thenReturn(Arrays.asList(input)); when(nodeTemplate.getMetaData()).thenReturn(metadata); when(nodeTemplate.getProperties()).thenReturn(propertyMap); diff --git a/asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInstallerTest.java b/asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInstallerTest.java index ffad137ad7..c25c4c2828 100644 --- a/asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInstallerTest.java +++ b/asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInstallerTest.java @@ -55,6 +55,7 @@ import org.onap.sdc.tosca.parser.impl.SdcCsarHelperImpl; import org.onap.sdc.tosca.parser.impl.SdcPropertyNames; import org.onap.sdc.toscaparser.api.Group; import org.onap.sdc.toscaparser.api.NodeTemplate; +import org.onap.sdc.toscaparser.api.Property; import org.onap.sdc.toscaparser.api.RequirementAssignment; import org.onap.sdc.toscaparser.api.RequirementAssignments; import org.onap.sdc.toscaparser.api.SubstitutionMappings; @@ -80,8 +81,6 @@ import org.onap.so.db.catalog.beans.Service; import org.onap.so.db.catalog.beans.ServiceProxyResourceCustomization; import org.onap.so.db.catalog.beans.ToscaCsar; import org.onap.so.db.catalog.beans.VnfcInstanceGroupCustomization; -import org.onap.so.db.catalog.data.repository.AllottedResourceCustomizationRepository; -import org.onap.so.db.catalog.data.repository.AllottedResourceRepository; import org.onap.so.db.catalog.data.repository.ConfigurationResourceCustomizationRepository; import org.onap.so.db.catalog.data.repository.InstanceGroupRepository; import org.onap.so.db.catalog.data.repository.ServiceRepository; @@ -93,7 +92,6 @@ import org.onap.so.db.request.beans.WatchdogComponentDistributionStatus; import org.onap.so.db.request.data.repository.WatchdogComponentDistributionStatusRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.util.ReflectionTestUtils; -import java.util.Optional; import java.util.stream.Collectors; public class ToscaResourceInstallerTest extends BaseTest { @@ -101,12 +99,6 @@ public class ToscaResourceInstallerTest extends BaseTest { private ToscaResourceInstaller toscaInstaller; @Autowired private WatchdogComponentDistributionStatusRepository watchdogCDStatusRepository; - @Autowired - private AllottedResourceRepository allottedRepo; - @Autowired - private AllottedResourceCustomizationRepository allottedCustomizationRepo; - @Autowired - private ServiceRepository serviceRepo; @Mock private SdcCsarHelperImpl sdcCsarHelper; @Mock @@ -135,6 +127,8 @@ public class ToscaResourceInstallerTest extends BaseTest { private StatefulEntityType entityType; @Mock private Service service; + @Mock + Property property; private NotificationDataImpl notificationData; private JsonStatusData statusData; @@ -379,16 +373,9 @@ public class ToscaResourceInstallerTest extends BaseTest { // doReturn(csarHelper).when(toscaResourceStructure).getSdcCsarHelper(); toscaResourceStructObj.setSdcCsarHelper(csarHelper); - doReturn(null).when(csarHelper).getNodeTemplatePropertyLeafValue(nodeTemplate, - SdcPropertyNames.PROPERTY_NAME_NFFUNCTION); - doReturn(null).when(csarHelper).getNodeTemplatePropertyLeafValue(nodeTemplate, - SdcPropertyNames.PROPERTY_NAME_NFROLE); - doReturn(null).when(csarHelper).getNodeTemplatePropertyLeafValue(nodeTemplate, - SdcPropertyNames.PROPERTY_NAME_NFTYPE); - doReturn(resourceCustomizationUUID).when(csarHelper).getMetadataPropertyValue(metadata, - SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID); - doReturn(uuid).when(csarHelper).getMetadataPropertyValue(metadata, - SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELUUID); + + doReturn(resourceCustomizationUUID).when(metadata).getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID); + doReturn(uuid).when(metadata).getValue(SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELUUID); // vnfc instance group list @@ -409,10 +396,6 @@ public class ToscaResourceInstallerTest extends BaseTest { doReturn(new ArrayList<Input>()).when(submappings).getInputs(); doReturn(submappings).when(nodeTemplate).getSubMappingToscaTemplate(); - doReturn(vnfcInstanceGroupList).when(csarHelper).getGroupsOfOriginOfNodeTemplateByToscaGroupType(nodeTemplate, - "org.openecomp.groups.VfcInstanceGroup"); - - doReturn(notificationData).when(vfResourceStruct).getNotification(); doReturn(resourceInstance).when(vfResourceStruct).getResourceInstance(); @@ -424,13 +407,9 @@ public class ToscaResourceInstallerTest extends BaseTest { doReturn(metadata).when(g1).getMetadata(); vfModuleGroups.add(g1); - doReturn(vfModuleGroups).when(csarHelper).getVfModulesByVf(resourceCustomizationUUID); - doReturn("1").when(csarHelper).getGroupPropertyLeafValue(g1, SdcPropertyNames.PROPERTY_NAME_INITIALCOUNT); - doReturn(metadata).when(nodeTemplate).getMetaData(); List<NodeTemplate> nodeList = new ArrayList<>(); nodeList.add(nodeTemplate); - doReturn(nodeList).when(csarHelper).getServiceVfList(); IVfModuleData moduleMetadata = mock(IVfModuleData.class); doReturn(name).when(moduleMetadata).getVfModuleModelName(); @@ -622,8 +601,8 @@ public class ToscaResourceInstallerTest extends BaseTest { } private void prepareConfigurationResource() { - doReturn(metadata).when(nodeTemplate).getMetaData(); - doReturn(MockConstants.TEMPLATE_TYPE).when(nodeTemplate).getType(); + doReturn(metadata).when(entityDetails).getMetadata(); + doReturn(MockConstants.TEMPLATE_TYPE).when(entityDetails).getToscaType(); doReturn(MockConstants.MODEL_NAME).when(metadata).getValue(SdcPropertyNames.PROPERTY_NAME_NAME); doReturn(MockConstants.MODEL_INVARIANT_UUID).when(metadata) @@ -639,7 +618,7 @@ public class ToscaResourceInstallerTest extends BaseTest { public void getConfigurationResourceTest() { prepareConfigurationResource(); - ConfigurationResource configResource = toscaInstaller.getConfigurationResource(nodeTemplate); + ConfigurationResource configResource = toscaInstaller.getConfigurationResource(entityDetails); assertNotNull(configResource); assertEquals(MockConstants.MODEL_NAME, configResource.getModelName()); @@ -647,7 +626,7 @@ public class ToscaResourceInstallerTest extends BaseTest { assertEquals(MockConstants.MODEL_UUID, configResource.getModelUUID()); assertEquals(MockConstants.MODEL_VERSION, configResource.getModelVersion()); assertEquals(MockConstants.MODEL_DESCRIPTION, configResource.getDescription()); - assertEquals(MockConstants.TEMPLATE_TYPE, nodeTemplate.getType()); + assertEquals(MockConstants.TEMPLATE_TYPE, entityDetails.getToscaType()); } private void prepareConfigurationResourceCustomization() { @@ -655,13 +634,11 @@ public class ToscaResourceInstallerTest extends BaseTest { doReturn(MockConstants.MODEL_CUSTOMIZATIONUUID).when(metadata) .getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID); doReturn(csarHelper).when(toscaResourceStructure).getSdcCsarHelper(); - doReturn(null).when(csarHelper).getNodeTemplatePropertyLeafValue(nodeTemplate, - SdcPropertyNames.PROPERTY_NAME_NFFUNCTION); - doReturn(null).when(csarHelper).getNodeTemplatePropertyLeafValue(nodeTemplate, - SdcPropertyNames.PROPERTY_NAME_NFROLE); - doReturn(null).when(csarHelper).getNodeTemplatePropertyLeafValue(nodeTemplate, - SdcPropertyNames.PROPERTY_NAME_NFTYPE); doReturn(MockConstants.MODEL_CUSTOMIZATIONUUID).when(spResourceCustomization).getModelCustomizationUUID(); + doReturn(null).when(toscaInstaller).getLeafPropertyValue(entityDetails, + SdcPropertyNames.PROPERTY_NAME_NFFUNCTION); + doReturn(null).when(toscaInstaller).getLeafPropertyValue(entityDetails, SdcPropertyNames.PROPERTY_NAME_NFROLE); + doReturn(null).when(toscaInstaller).getLeafPropertyValue(entityDetails, SdcPropertyNames.PROPERTY_NAME_NFTYPE); } @@ -670,7 +647,7 @@ public class ToscaResourceInstallerTest extends BaseTest { prepareConfigurationResourceCustomization(); ConfigurationResourceCustomization configurationResourceCustomization = - toscaInstaller.getConfigurationResourceCustomization(nodeTemplate, toscaResourceStructure, + toscaInstaller.getConfigurationResourceCustomization(entityDetails, toscaResourceStructure, spResourceCustomization, service); assertNotNull(configurationResourceCustomization); assertNotNull(configurationResourceCustomization.getConfigurationResource()); @@ -754,9 +731,6 @@ public class ToscaResourceInstallerTest extends BaseTest { groupList.add(group3); doReturn(csarHelper).when(toscaResourceStructure).getSdcCsarHelper(); - doReturn(null).when(csarHelper).getRequirementsOf(node1); - doReturn(requirements2).when(csarHelper).getRequirementsOf(node2); - doReturn(requirements3).when(csarHelper).getRequirementsOf(node3); ToscaResourceInstaller installer = new ToscaResourceInstaller(); Method[] methods = installer.getClass().getDeclaredMethods(); |