aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraleem.raja@t-systems.com <aleem.raja@t-systems.com>2022-09-07 15:54:04 +0530
committeraleem.raja@t-systems.com <aleem.raja@t-systems.com>2022-09-07 15:54:17 +0530
commitd4de474780d0ab820f2133a7ff368cc24939397d (patch)
treeb826bb6b4996cbafd6fb4e65c3d1d9936b933c00
parent66b09af14e0a2cf774e9f917562f4ae54587eb19 (diff)
Update nf_type for PNF in AAI
Update nf_type for PNF in AAI to distinguish different PNFs nf_type value will come from SDC properties Issue-ID: SO-3967 Signed-off-by: aleem.raja@t-systems.com <aleem.raja@t-systems.com> Change-Id: I9dd039ac098a60f7cf4d4a9c456c7681f64d9987
-rw-r--r--bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/modelinfo/ModelInfoPnf.java23
-rw-r--r--bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java28
-rw-r--r--bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayer.java8
-rw-r--r--bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayerTest.java23
-rw-r--r--bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupTest.java24
-rw-r--r--bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/ModelInfoPnfExpected.json11
-rw-r--r--bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/PnfResourceCustomizationInput.json14
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/aai/mapper/AAIObjectMapper.java1
8 files changed, 132 insertions, 0 deletions
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/modelinfo/ModelInfoPnf.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/modelinfo/ModelInfoPnf.java
index a01fa9698b..9b81979222 100644
--- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/modelinfo/ModelInfoPnf.java
+++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/modelinfo/ModelInfoPnf.java
@@ -20,8 +20,31 @@
package org.onap.so.bpmn.servicedecomposition.modelinfo;
+import com.fasterxml.jackson.annotation.JsonProperty;
import java.io.Serializable;
public class ModelInfoPnf extends ModelInfoMetadata implements Serializable {
private static final long serialVersionUID = 50687109134317615L;
+
+ @JsonProperty("nf-role")
+ private String role;
+
+ @JsonProperty("nf-type")
+ private String NfType;
+
+ public String getRole() {
+ return role;
+ }
+
+ public void setRole(String role) {
+ this.role = role;
+ }
+
+ public String getNfType() {
+ return NfType;
+ }
+
+ public void setNfType(String nfType) {
+ NfType = nfType;
+ }
}
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java
index a0784b375e..c36aaac5e1 100644
--- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java
+++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java
@@ -86,6 +86,7 @@ import org.onap.so.db.catalog.beans.CvnfcConfigurationCustomization;
import org.onap.so.db.catalog.beans.NetworkCollectionResourceCustomization;
import org.onap.so.db.catalog.beans.NetworkResourceCustomization;
import org.onap.so.db.catalog.beans.OrchestrationStatus;
+import org.onap.so.db.catalog.beans.PnfResourceCustomization;
import org.onap.so.db.catalog.beans.Service;
import org.onap.so.db.catalog.beans.ServiceProxyResourceCustomization;
import org.onap.so.db.catalog.beans.VfModuleCustomization;
@@ -982,6 +983,13 @@ public class BBInputSetup implements JavaDelegate {
}
}
+ protected void mapCatalogPnf(Pnf pnf, ModelInfo modelInfo, Service service) {
+ PnfResourceCustomization pnfResourceCustomization = getPnfResourceCustomizationFromService(modelInfo, service);
+ if (pnfResourceCustomization != null) {
+ pnf.setModelInfoPnf(this.mapperLayer.mapCatalogPnfToPnf(pnfResourceCustomization));
+ }
+ }
+
protected VnfResourceCustomization getVnfResourceCustomizationFromService(ModelInfo modelInfo, Service service) {
VnfResourceCustomization vnfResourceCustomization = null;
for (VnfResourceCustomization resourceCust : service.getVnfCustomizations()) {
@@ -993,6 +1001,17 @@ public class BBInputSetup implements JavaDelegate {
return vnfResourceCustomization;
}
+ protected PnfResourceCustomization getPnfResourceCustomizationFromService(ModelInfo modelInfo, Service service) {
+ PnfResourceCustomization pnfResourceCustomization = null;
+ for (PnfResourceCustomization resourceCust : service.getPnfCustomizations()) {
+ if (resourceCust.getModelCustomizationUUID().equalsIgnoreCase(modelInfo.getModelCustomizationUuid())) {
+ pnfResourceCustomization = resourceCust;
+ break;
+ }
+ }
+ return pnfResourceCustomization;
+ }
+
protected void populateL3Network(BBInputSetupParameter parameter) {
L3Network network = null;
for (L3Network networkTemp : parameter.getServiceInstance().getNetworks()) {
@@ -1645,6 +1664,15 @@ public class BBInputSetup implements JavaDelegate {
.filter(pnfs -> Objects.equals(key, pnfs.getModelInfo().getModelCustomizationId())).findFirst()
.ifPresent(pnfs -> BBInputSetupPnf.populatePnfToServiceInstance(pnfs, pnfId, serviceInstance));
}
+
+ serviceInstance.getPnfs().stream().filter(pnf -> pnfInstanceName.equalsIgnoreCase(pnf.getPnfName()))
+ .findFirst().ifPresent(pnf -> {
+ ModelInfo pnfModelInfo = new ModelInfo();
+ pnfModelInfo.setModelCustomizationUuid(pnf.getModelInfoPnf().getModelCustomizationUuid());
+ pnfModelInfo.setModelCustomizationId(pnf.getModelInfoPnf().getModelCustomizationUuid());
+ mapCatalogPnf(pnf, pnfModelInfo, service);
+ });
+
} else if (bbName.contains(VF_MODULE) || bbName.contains(VOLUME_GROUP) || (bbName.contains(CONTROLLER)
&& (VF_MODULE).equalsIgnoreCase(executeBB.getBuildingBlock().getBpmnScope()))) {
String vfModuleInstanceName = lookupKeyMap.get(ResourceKey.VF_MODULE_INSTANCE_NAME);
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayer.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayer.java
index 2bb383e4ec..759c9ec46a 100644
--- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayer.java
+++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayer.java
@@ -65,6 +65,7 @@ import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoConfiguration;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoGenericVnf;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoInstanceGroup;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoNetwork;
+import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoPnf;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceInstance;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceProxy;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoVfModule;
@@ -79,6 +80,7 @@ import org.onap.so.db.catalog.beans.InstanceGroupType;
import org.onap.so.db.catalog.beans.NetworkResourceCustomization;
import org.onap.so.db.catalog.beans.OrchestrationStatus;
import org.onap.so.db.catalog.beans.Service;
+import org.onap.so.db.catalog.beans.PnfResourceCustomization;
import org.onap.so.db.catalog.beans.ServiceProxyResourceCustomization;
import org.onap.so.db.catalog.beans.VfModuleCustomization;
import org.onap.so.db.catalog.beans.VnfResourceCustomization;
@@ -480,6 +482,12 @@ public class BBInputSetupMapperLayer {
return modelInfoVnf;
}
+ protected ModelInfoPnf mapCatalogPnfToPnf(PnfResourceCustomization pnfResourceCustomization) {
+ ModelInfoPnf modelInfoPnf = modelMapper.map(pnfResourceCustomization, ModelInfoPnf.class);
+ modelMapper.map(pnfResourceCustomization.getPnfResources(), modelInfoPnf);
+ return modelInfoPnf;
+ }
+
protected ModelInfoVfModule mapCatalogVfModuleToVfModule(VfModuleCustomization vfResourceCustomization) {
ModelInfoVfModule modelInfoVfModule = modelMapper.map(vfResourceCustomization, ModelInfoVfModule.class);
modelMapper.map(vfResourceCustomization.getVfModule(), modelInfoVfModule);
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayerTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayerTest.java
index 9195df0955..6f091304ef 100644
--- a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayerTest.java
+++ b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayerTest.java
@@ -61,6 +61,7 @@ import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoGenericVnf;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoInstanceGroup;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoNetwork;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceInstance;
+import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoPnf;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoVfModule;
import org.onap.so.db.catalog.beans.CollectionNetworkResourceCustomization;
import org.onap.so.db.catalog.beans.CollectionResource;
@@ -74,6 +75,8 @@ import org.onap.so.db.catalog.beans.InstanceGroup;
import org.onap.so.db.catalog.beans.NetworkResourceCustomization;
import org.onap.so.db.catalog.beans.OrchestrationStatus;
import org.onap.so.db.catalog.beans.Service;
+import org.onap.so.db.catalog.beans.PnfResource;
+import org.onap.so.db.catalog.beans.PnfResourceCustomization;
import org.onap.so.db.catalog.beans.VfModuleCustomization;
import org.onap.so.db.catalog.beans.VnfResourceCustomization;
import org.onap.so.db.catalog.beans.VnfcCustomization;
@@ -508,6 +511,26 @@ public class BBInputSetupMapperLayerTest {
}
@Test
+ public void testMapCatalogPnfToPnf() throws IOException {
+ PnfResourceCustomization pnfResourceCustomization = mapper.readValue(
+ new File(RESOURCE_PATH + "PnfResourceCustomizationInput.json"), PnfResourceCustomization.class);
+
+ PnfResource pnfResource = new PnfResource();
+ pnfResource.setModelUUID("modelUuid");
+ pnfResource.setModelInvariantUUID("modelInvariantUuid");
+ pnfResource.setModelVersion("modelVersion");
+
+ pnfResourceCustomization.setPnfResources(pnfResource);
+
+ ModelInfoPnf expectedModelInfoPnf =
+ mapper.readValue(new File(RESOURCE_PATH + "ModelInfoPnfExpected.json"), ModelInfoPnf.class);
+
+ ModelInfoPnf actualModelInfoPnf = bbInputSetupMapperLayer.mapCatalogPnfToPnf(pnfResourceCustomization);
+
+ assertThat(actualModelInfoPnf, sameBeanAs(expectedModelInfoPnf));
+ }
+
+ @Test
public void testMapCatalogVfModuleToVfModule() throws JsonParseException, JsonMappingException, IOException {
VfModuleCustomization vfResourceCustomization = mapper
.readValue(new File(RESOURCE_PATH + "VfModuleCustomizationInput.json"), VfModuleCustomization.class);
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupTest.java
index 803d2bf8a3..bc751c3b3c 100644
--- a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupTest.java
+++ b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupTest.java
@@ -97,6 +97,7 @@ import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoGenericVnf;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoInstanceGroup;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoNetwork;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceInstance;
+import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoPnf;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceProxy;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoVfModule;
import org.onap.so.bpmn.servicedecomposition.tasks.exceptions.NoServiceInstanceFoundException;
@@ -113,6 +114,7 @@ import org.onap.so.db.catalog.beans.NetworkCollectionResourceCustomization;
import org.onap.so.db.catalog.beans.NetworkResourceCustomization;
import org.onap.so.db.catalog.beans.OrchestrationStatus;
import org.onap.so.db.catalog.beans.Service;
+import org.onap.so.db.catalog.beans.PnfResourceCustomization;
import org.onap.so.db.catalog.beans.ServiceProxyResourceCustomization;
import org.onap.so.db.catalog.beans.VfModuleCustomization;
import org.onap.so.db.catalog.beans.VnfResourceCustomization;
@@ -1735,6 +1737,28 @@ public class BBInputSetupTest {
}
@Test
+ public void testMapCatalogPnf() {
+ ModelInfoPnf modelInfoPnf = new ModelInfoPnf();
+ Pnf pnf = new Pnf();
+ RequestDetails requestDetails = new RequestDetails();
+ ModelInfo modelInfo = new ModelInfo();
+ modelInfo.setModelCustomizationUuid("modelCustomizationUUID");
+ requestDetails.setModelInfo(modelInfo);
+ Service service = new Service();
+
+ PnfResourceCustomization resourceCust = new PnfResourceCustomization();
+ resourceCust.setModelCustomizationUUID("pnfModelCustomizationUUID");
+ service.getPnfCustomizations().add(resourceCust);
+ resourceCust.setModelCustomizationUUID("modelCustomizationUUID");
+
+ doReturn(modelInfoPnf).when(bbInputSetupMapperLayer).mapCatalogPnfToPnf(resourceCust);
+
+ SPY_bbInputSetup.mapCatalogPnf(pnf, modelInfo, service);
+
+ assertEquals(modelInfoPnf, pnf.getModelInfoPnf());
+ }
+
+ @Test
public void testMapCatalogCollectionAndInstanceGroup() {
ModelInfoCollection modelInfoCollection = new ModelInfoCollection();
modelInfoCollection.setCollectionFunction("collectionFunction");
diff --git a/bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/ModelInfoPnfExpected.json b/bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/ModelInfoPnfExpected.json
new file mode 100644
index 0000000000..5c9dbb63e2
--- /dev/null
+++ b/bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/ModelInfoPnfExpected.json
@@ -0,0 +1,11 @@
+{
+ "nfType": "nfType",
+ "model-customization-uuid": "modelCustomizationUUID",
+ "model-invariant-uuid": "modelInvariantUuid",
+ "model-uuid": "modelUuid",
+ "model-version": "modelVersion",
+ "model-instance-name": "modelInstanceName",
+ "model-name": null,
+ "nf-role": "nfRole",
+ "nf-type": "nfType"
+} \ No newline at end of file
diff --git a/bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/PnfResourceCustomizationInput.json b/bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/PnfResourceCustomizationInput.json
new file mode 100644
index 0000000000..b7845ba8c2
--- /dev/null
+++ b/bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/PnfResourceCustomizationInput.json
@@ -0,0 +1,14 @@
+{
+ "modelCustomizationUUID" : "modelCustomizationUUID",
+ "modelInstanceName" : "modelInstanceName",
+ "minInstances": 2,
+ "maxInstances": 3,
+ "availabilityZoneMaxCount": 5,
+ "nfFunction" : "nfFunction",
+ "nfType" : "nfType",
+ "nfRole" : "nfRole",
+ "nfNamingCode" : "nfNamingCode",
+ "multiStageDesign" : "multiStageDesign",
+ "blueprintName" : "testBlueprintName",
+ "blueprintVersion" : "testBlueprintVersion"
+} \ No newline at end of file
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/aai/mapper/AAIObjectMapper.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/aai/mapper/AAIObjectMapper.java
index 9899d89b5e..4664ffcc37 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/aai/mapper/AAIObjectMapper.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/aai/mapper/AAIObjectMapper.java
@@ -113,6 +113,7 @@ public class AAIObjectMapper {
map().setModelCustomizationId(source.getModelInfoPnf().getModelCustomizationUuid());
map().setModelInvariantId(source.getModelInfoPnf().getModelInvariantUuid());
map().setModelVersionId(source.getModelInfoPnf().getModelUuid());
+ map().setNfType(source.getModelInfoPnf().getNfType());
}
});
}