summaryrefslogtreecommitdiffstats
path: root/asdc-controller
diff options
context:
space:
mode:
Diffstat (limited to 'asdc-controller')
-rw-r--r--asdc-controller/pom.xml2
-rw-r--r--asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java211
-rw-r--r--asdc-controller/src/main/java/org/onap/so/asdc/util/ASDCNotificationLogging.java9
-rw-r--r--asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInputTest.java65
-rw-r--r--asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInstallerTest.java56
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();