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;
lookupKeyMap.put(ResourceKey.VF_MODULE_INSTANCE_NAME, workflowResourceIds.getVfModuleInstanceName());
lookupKeyMap.put(ResourceKey.CHILD_SERVICE_INSTANCE_ID, workflowResourceIds.getChildServiceInstanceId());
lookupKeyMap.put(ResourceKey.CHILD_SERVICE_INSTANCE_NAME, workflowResourceIds.getChildServiceInstanceName());
+ lookupKeyMap.put(ResourceKey.PNF_INSTANCE_NAME, workflowResourceIds.getPnfInstanceName());
}
protected GeneralBuildingBlock getGBBALaCarteNonService(ExecuteBuildingBlock executeBB,
}
}
+ 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()) {
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()) {
|| requestAction.equalsIgnoreCase("activateFabricConfiguration")
|| requestAction.equalsIgnoreCase("recreateInstance")
|| requestAction.equalsIgnoreCase("replaceInstance")
- || requestAction.equalsIgnoreCase("upgradeInstance") || requestAction.equalsIgnoreCase("healthCheck")) {
+ || requestAction.equalsIgnoreCase("upgradeInstance") || requestAction.equalsIgnoreCase("healthCheck")
+ || requestAction.equalsIgnoreCase("upgradeCnf")) {
return getGBBMacroExistingService(executeBB, lookupKeyMap, bbName, requestAction,
requestDetails.getCloudConfiguration());
}
cloudRegion = mapperLayer.mapCloudRegion(cloudConfiguration, aaiCloudRegion);
}
gBB.setCloudRegion(cloudRegion);
+ String upgradeCnfModelCustomizationUUID = "";
+ String upgradeCnfVfModuleModelCustomizationUUID = "";
+ String upgradeCnfModelVersionId = "";
+ String upgradeCnfVfModuleModelVersionId = "";
+ if (requestDetails.getRelatedInstanceList() != null) {
+ for (RelatedInstanceList relatedInstList : requestDetails.getRelatedInstanceList()) {
+ RelatedInstance relatedInstance = relatedInstList.getRelatedInstance();
+ // condition -1
+ if (relatedInstance.getModelInfo().getModelType().equals(ModelType.vnf)
+ && requestAction.equalsIgnoreCase("upgradeCnf")) {
+ upgradeCnfModelCustomizationUUID = relatedInstance.getModelInfo().getModelCustomizationId();
+ upgradeCnfModelVersionId = relatedInstance.getModelInfo().getModelVersionId();
+ }
+ // condition -2
+ if (relatedInstance.getModelInfo().getModelType().equals(ModelType.vfModule)
+ && parameter.getRequestAction().equals("upgradeCnf")) {
+ upgradeCnfVfModuleModelCustomizationUUID = relatedInstance.getModelInfo().getModelCustomizationId();
+ upgradeCnfVfModuleModelVersionId = relatedInstance.getModelInfo().getModelVersionId();
+ }
+ }
+ }
if (bbName.contains(VNF) || (bbName.contains(CONTROLLER)
&& (VNF).equalsIgnoreCase(executeBB.getBuildingBlock().getBpmnScope()))) {
for (GenericVnf genericVnf : serviceInstance.getVnfs()) {
&& genericVnf.getVnfId().equalsIgnoreCase(lookupKeyMap.get(ResourceKey.GENERIC_VNF_ID))) {
org.onap.aai.domain.yang.GenericVnf vnf = bbInputSetupUtils.getAAIGenericVnf(genericVnf.getVnfId());
ModelInfo modelInfo = new ModelInfo();
- if (vnf != null) {
+ if ("upgradeCnf".equalsIgnoreCase(requestAction) && upgradeCnfModelCustomizationUUID != null) {
+ modelInfo.setModelCustomizationUuid(upgradeCnfModelCustomizationUUID);
+ modelInfo.setModelVersionId(upgradeCnfModelVersionId);
+ this.mapCatalogVnf(genericVnf, modelInfo, service);
+ } else if (vnf != null) {
modelInfo.setModelCustomizationUuid(vnf.getModelCustomizationId());
+ this.mapCatalogVnf(genericVnf, modelInfo, service);
}
- this.mapCatalogVnf(genericVnf, modelInfo, service);
+
}
}
+
} else if (bbName.contains(VF_MODULE) || (bbName.contains(CONTROLLER)
&& (VF_MODULE).equalsIgnoreCase(executeBB.getBuildingBlock().getBpmnScope()))) {
for (GenericVnf vnf : serviceInstance.getVnfs()) {
String vnfModelCustomizationUUID =
this.bbInputSetupUtils.getAAIGenericVnf(vnf.getVnfId()).getModelCustomizationId();
ModelInfo vnfModelInfo = new ModelInfo();
- vnfModelInfo.setModelCustomizationUuid(vnfModelCustomizationUUID);
- this.mapCatalogVnf(vnf, vnfModelInfo, service);
+ if ("upgradeCnf".equalsIgnoreCase(requestAction) && upgradeCnfModelCustomizationUUID != null) {
+ vnfModelInfo.setModelCustomizationUuid(upgradeCnfModelCustomizationUUID);
+ vnfModelInfo.setModelVersionId(upgradeCnfModelVersionId);
+ this.mapCatalogVnf(vnf, vnfModelInfo, service);
+ } else {
+ vnfModelInfo.setModelCustomizationUuid(vnfModelCustomizationUUID);
+ this.mapCatalogVnf(vnf, vnfModelInfo, service);
+ }
lookupKeyMap.put(ResourceKey.GENERIC_VNF_ID, vnf.getVnfId());
String vfModuleCustomizationUUID = this.bbInputSetupUtils
.getAAIVfModule(vnf.getVnfId(), vfModule.getVfModuleId()).getModelCustomizationId();
ModelInfo vfModuleModelInfo = new ModelInfo();
- vfModuleModelInfo.setModelCustomizationId(vfModuleCustomizationUUID);
- this.mapCatalogVfModule(vfModule, vfModuleModelInfo, service, vnfModelCustomizationUUID);
+ if ("upgradeCnf".equalsIgnoreCase(requestAction)
+ && upgradeCnfVfModuleModelCustomizationUUID != null) {
+ vfModuleModelInfo.setModelCustomizationUuid(upgradeCnfVfModuleModelCustomizationUUID);
+ vfModuleModelInfo.setModelVersionId(upgradeCnfVfModuleModelVersionId);
+ this.mapCatalogVfModule(vfModule, vfModuleModelInfo, service,
+ upgradeCnfVfModuleModelCustomizationUUID);
+ } else {
+ vfModuleModelInfo.setModelCustomizationId(vfModuleCustomizationUUID);
+ this.mapCatalogVfModule(vfModule, vfModuleModelInfo, service, vnfModelCustomizationUUID);
+ }
if (cloudRegion != null) {
Optional<String> volumeGroupIdOp = getVolumeGroupIdRelatedToVfModule(vnf, vfModuleModelInfo,
cloudRegion.getCloudOwner(), cloudRegion.getLcpCloudRegionId(), lookupKeyMap);
} else if (bbName.contains(PNF) || (bbName.contains(CONTROLLER)
&& (PNF).equalsIgnoreCase(executeBB.getBuildingBlock().getBpmnScope()))) {
String pnfId = lookupKeyMap.get(ResourceKey.PNF);
- resources.getPnfs().stream()
- .filter(pnfs -> Objects.equals(key, pnfs.getModelInfo().getModelCustomizationId())).findFirst()
- .ifPresent(pnfs -> BBInputSetupPnf.populatePnfToServiceInstance(pnfs, pnfId, serviceInstance));
+ String pnfInstanceName = lookupKeyMap.get(ResourceKey.PNF_INSTANCE_NAME);
+ if (StringUtils.isNotBlank(pnfInstanceName)) {
+ resources.getPnfs().stream().filter(pnfs -> Objects.equals(pnfInstanceName, pnfs.getInstanceName()))
+ .findFirst()
+ .ifPresent(pnfs -> BBInputSetupPnf.populatePnfToServiceInstance(pnfs, pnfId, serviceInstance));
+ } else {
+ resources.getPnfs().stream()
+ .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);