Search in sources :

Example 1 with VnfcCustomization

use of org.onap.so.db.catalog.beans.VnfcCustomization in project so by onap.

the class ToscaResourceInstaller method createVFModuleResource.

protected VfModuleCustomization createVFModuleResource(IEntityDetails vfModuleEntityDetails, ToscaResourceStructure toscaResourceStructure, VfResourceStructure vfResourceStructure, IVfModuleData vfModuleData, VnfResourceCustomization vnfResource, Service service, Set<CvnfcCustomization> existingCvnfcSet, Set<VnfcCustomization> existingVnfcSet, List<CvnfcConfigurationCustomization> existingCvnfcConfigurationCustom) {
    VfModuleCustomization vfModuleCustomization = findExistingVfModuleCustomization(vnfResource, vfModuleData.getVfModuleModelCustomizationUUID());
    if (vfModuleCustomization == null) {
        VfModule vfModule = findExistingVfModule(vnfResource, vfModuleEntityDetails.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELUUID));
        Metadata vfMetadata = vfModuleEntityDetails.getMetadata();
        if (vfModule == null)
            vfModule = createVfModule(vfModuleEntityDetails, toscaResourceStructure, vfModuleData, vfMetadata);
        vfModuleCustomization = createVfModuleCustomization(vfModuleEntityDetails, toscaResourceStructure, vfModule, vfModuleData);
        vfModuleCustomization.setVnfCustomization(vnfResource);
        setHeatInformationForVfModule(toscaResourceStructure, vfResourceStructure, vfModule, vfModuleCustomization, vfMetadata);
        vfModuleCustomization.setVfModule(vfModule);
        vfModule.getVfModuleCustomization().add(vfModuleCustomization);
        vnfResource.getVfModuleCustomizations().add(vfModuleCustomization);
    } else {
        vfResourceStructure.setAlreadyDeployed(true);
    }
    // ******************************************************************************************************************
    // * Extract VFC's and CVFC's then add them to VFModule
    // ******************************************************************************************************************
    List<CvnfcConfigurationCustomization> cvnfcConfigurationCustomizations = new ArrayList<>();
    List<CvnfcCustomization> cvnfcCustomizations = new ArrayList<>();
    Set<VnfcCustomization> vnfcCustomizations = new HashSet<>();
    // Only set the CVNFC if this vfModule group is a member of it.
    List<IEntityDetails> groupMembers = getEntityDetails(toscaResourceStructure, EntityQuery.newBuilder("org.openecomp.groups.VfModule").uUID(vfModuleCustomization.getVfModule().getModelUUID()), TopologyTemplateQuery.newBuilder(SdcTypes.VF), false);
    String vfModuleMemberName = null;
    // Extract CVFC lists
    List<IEntityDetails> cvnfcEntityList = getEntityDetails(toscaResourceStructure, EntityQuery.newBuilder(SdcTypes.CVFC), TopologyTemplateQuery.newBuilder(SdcTypes.VF), false);
    for (IEntityDetails cvfcEntity : cvnfcEntityList) {
        boolean cvnfcVfModuleNameMatch = false;
        for (IEntityDetails entity : groupMembers) {
            List<IEntityDetails> groupMembersNodes = entity.getMemberNodes();
            for (IEntityDetails groupMember : groupMembersNodes) {
                vfModuleMemberName = groupMember.getName();
                if (vfModuleMemberName.equalsIgnoreCase(cvfcEntity.getName())) {
                    cvnfcVfModuleNameMatch = true;
                    break;
                }
            }
        }
        if (vfModuleMemberName != null && cvnfcVfModuleNameMatch) {
            // Extract associated VFC - Should always be just one
            List<IEntityDetails> vfcEntityList = getEntityDetails(toscaResourceStructure, EntityQuery.newBuilder(SdcTypes.VFC), TopologyTemplateQuery.newBuilder(SdcTypes.CVFC).customizationUUID(cvfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)), false);
            for (IEntityDetails vfcEntity : vfcEntityList) {
                VnfcCustomization vnfcCustomization = new VnfcCustomization();
                VnfcCustomization existingVnfcCustomization = null;
                existingVnfcCustomization = findExistingVfc(existingVnfcSet, vfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
                if (existingVnfcCustomization == null) {
                    vnfcCustomization = new VnfcCustomization();
                } else {
                    vnfcCustomization = existingVnfcCustomization;
                }
                // Only Add Abstract VNFC's to our DB, ignore all others
                if (existingVnfcCustomization == null && vfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_SUBCATEGORY).equalsIgnoreCase("Abstract")) {
                    vnfcCustomization.setModelCustomizationUUID(vfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
                    vnfcCustomization.setModelInstanceName(vfcEntity.getName());
                    vnfcCustomization.setModelInvariantUUID(vfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
                    vnfcCustomization.setModelName(vfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
                    vnfcCustomization.setModelUUID(vfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_UUID));
                    vnfcCustomization.setModelVersion(testNull(vfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
                    vnfcCustomization.setDescription(testNull(vfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
                    vnfcCustomization.setToscaNodeType(testNull(vfcEntity.getToscaType()));
                    vnfcCustomizations.add(vnfcCustomization);
                    existingVnfcSet.add(vnfcCustomization);
                }
                // skip adding that record to our DB.
                if (vnfcCustomization.getModelCustomizationUUID() != null) {
                    CvnfcCustomization cvnfcCustomization = new CvnfcCustomization();
                    cvnfcCustomization.setModelCustomizationUUID(cvfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
                    cvnfcCustomization.setModelInstanceName(cvfcEntity.getName());
                    cvnfcCustomization.setModelInvariantUUID(cvfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
                    cvnfcCustomization.setModelName(cvfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
                    cvnfcCustomization.setModelUUID(cvfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_UUID));
                    cvnfcCustomization.setModelVersion(testNull(cvfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
                    cvnfcCustomization.setDescription(testNull(cvfcEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
                    cvnfcCustomization.setToscaNodeType(testNull(cvfcEntity.getToscaType()));
                    if (existingVnfcCustomization != null) {
                        cvnfcCustomization.setVnfcCustomization(existingVnfcCustomization);
                    } else {
                        cvnfcCustomization.setVnfcCustomization(vnfcCustomization);
                    }
                    cvnfcCustomization.setNfcFunction(getLeafPropertyValue(cvfcEntity, "nfc_function"));
                    cvnfcCustomization.setNfcNamingCode(getLeafPropertyValue(cvfcEntity, "nfc_naming_code"));
                    cvnfcCustomization.setVfModuleCustomization(vfModuleCustomization);
                    // *****************************************************************************************************************************************
                    // * Extract Fabric Configuration
                    // *****************************************************************************************************************************************
                    List<IEntityDetails> fabricEntityList = getEntityDetails(toscaResourceStructure, EntityQuery.newBuilder(SdcTypes.CONFIGURATION), TopologyTemplateQuery.newBuilder(SdcTypes.VF), false);
                    for (IEntityDetails fabricEntity : fabricEntityList) {
                        List<RequirementAssignment> requirements = fabricEntity.getRequirements();
                        for (RequirementAssignment requirement : requirements) {
                            if (requirement.getNodeTemplateName().equals(cvfcEntity.getName())) {
                                ConfigurationResource fabricConfig = null;
                                ConfigurationResource existingConfig = findExistingConfiguration(existingCvnfcConfigurationCustom, fabricEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_UUID));
                                if (existingConfig == null) {
                                    fabricConfig = createFabricConfiguration(fabricEntity, toscaResourceStructure);
                                } else {
                                    fabricConfig = existingConfig;
                                }
                                CvnfcConfigurationCustomization cvnfcConfigurationCustomization = createCvnfcConfigurationCustomization(fabricEntity, toscaResourceStructure, vnfResource, vfModuleCustomization, cvnfcCustomization, fabricConfig, vfModuleMemberName);
                                cvnfcConfigurationCustomizations.add(cvnfcConfigurationCustomization);
                                existingCvnfcConfigurationCustom.add(cvnfcConfigurationCustomization);
                            }
                        }
                    }
                    cvnfcCustomization.setCvnfcConfigurationCustomization(cvnfcConfigurationCustomizations);
                    cvnfcCustomizations.add(cvnfcCustomization);
                    existingCvnfcSet.add(cvnfcCustomization);
                }
            }
        }
    }
    vfModuleCustomization.setCvnfcCustomization(cvnfcCustomizations);
    return vfModuleCustomization;
}
Also used : Metadata(org.onap.sdc.toscaparser.api.elements.Metadata) ArrayList(java.util.ArrayList) VfModule(org.onap.so.db.catalog.beans.VfModule) ConfigurationResource(org.onap.so.db.catalog.beans.ConfigurationResource) RequirementAssignment(org.onap.sdc.toscaparser.api.RequirementAssignment) IEntityDetails(org.onap.sdc.tosca.parser.api.IEntityDetails) CvnfcCustomization(org.onap.so.db.catalog.beans.CvnfcCustomization) CvnfcConfigurationCustomization(org.onap.so.db.catalog.beans.CvnfcConfigurationCustomization) VnfcCustomization(org.onap.so.db.catalog.beans.VnfcCustomization) VfModuleCustomization(org.onap.so.db.catalog.beans.VfModuleCustomization) HashSet(java.util.HashSet)

Example 2 with VnfcCustomization

use of org.onap.so.db.catalog.beans.VnfcCustomization in project so by onap.

the class BBInputSetupMapperLayerTest method testmapCatalogConfigurationToFabricConfiguration.

@Test
public void testmapCatalogConfigurationToFabricConfiguration() {
    String modelCustUUID = "modelCustomizationUUID";
    String modelInvariantUUID = "modelInvariantUUID";
    String modelVersionUUID = "modelUUID";
    String policyName = "policyName";
    ModelInfoConfiguration expected = new ModelInfoConfiguration();
    expected.setModelCustomizationId(modelCustUUID);
    expected.setModelInvariantId(modelInvariantUUID);
    expected.setModelVersionId(modelVersionUUID);
    expected.setPolicyName(policyName);
    CvnfcConfigurationCustomization fabricCustomization = new CvnfcConfigurationCustomization();
    fabricCustomization.setCvnfcCustomization(new CvnfcCustomization());
    fabricCustomization.getCvnfcCustomization().setVnfcCustomization(new VnfcCustomization());
    fabricCustomization.setPolicyName(policyName);
    fabricCustomization.setModelCustomizationUUID(modelCustUUID);
    ConfigurationResource configurationResource = new ConfigurationResource();
    configurationResource.setModelUUID(modelVersionUUID);
    configurationResource.setModelInvariantUUID(modelInvariantUUID);
    fabricCustomization.setConfigurationResource(configurationResource);
    ModelInfoConfiguration actual = bbInputSetupMapperLayer.mapCatalogConfigurationToConfiguration(fabricCustomization);
    assertThat(actual, sameBeanAs(expected));
}
Also used : ModelInfoConfiguration(org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoConfiguration) CvnfcCustomization(org.onap.so.db.catalog.beans.CvnfcCustomization) CvnfcConfigurationCustomization(org.onap.so.db.catalog.beans.CvnfcConfigurationCustomization) VnfcCustomization(org.onap.so.db.catalog.beans.VnfcCustomization) ConfigurationResource(org.onap.so.db.catalog.beans.ConfigurationResource) Test(org.junit.Test)

Example 3 with VnfcCustomization

use of org.onap.so.db.catalog.beans.VnfcCustomization in project so by onap.

the class CvnfcCustomizationRepositoryTest method createAndGetAllTest.

@Test
@Transactional
public void createAndGetAllTest() throws Exception {
    CvnfcCustomization cvnfcCustomization = setUpCvnfcCustomization();
    cvnfcCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
    VfModuleCustomization vfModuleCustomization = new VfModuleCustomization();
    vfModuleCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
    VfModule vFModule = setUpVfModule();
    VnfResource vnfResource = setUpVnfResource();
    vFModule.setVnfResources(vnfResource);
    vfModuleCustomization.setVfModule(vFModule);
    cvnfcCustomization.setVfModuleCustomization(vfModuleCustomization);
    VnfResourceCustomization vnfResourceCustomization = new VnfResourceCustomization();
    vnfResourceCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
    vnfResourceCustomization.setModelInstanceName("testModelInstanceName");
    List<VnfResourceCustomization> vnfResourceCustomizations = new ArrayList<>();
    vnfResourceCustomizations.add(vnfResourceCustomization);
    vnfResourceCustomization.setVnfResources(vnfResource);
    VnfcCustomization vnfcCustomization = setUpVnfcCustomization();
    vnfcCustomization.setModelCustomizationUUID("d95d704a-9ff2-11e8-98d0-529269fb1459");
    cvnfcCustomizationRepository.save(cvnfcCustomization);
    List<CvnfcCustomization> cvnfcCustomizationList = cvnfcCustomizationRepository.findAll();
    boolean matchFound = false;
    for (CvnfcCustomization foundCvnfcCustomization : cvnfcCustomizationList) {
        if (foundCvnfcCustomization.getDescription().equalsIgnoreCase(cvnfcCustomization.getDescription())) {
            assertThat(cvnfcCustomization, sameBeanAs(foundCvnfcCustomization).ignoring("id").ignoring("created").ignoring("vnfVfmoduleCvnfcConfigurationCustomization").ignoring("vnfResourceCusteModelCustomizationUUID"));
            matchFound = true;
            break;
        }
    }
    Assert.assertTrue(matchFound);
}
Also used : VnfResource(org.onap.so.db.catalog.beans.VnfResource) CvnfcCustomization(org.onap.so.db.catalog.beans.CvnfcCustomization) ArrayList(java.util.ArrayList) VnfcCustomization(org.onap.so.db.catalog.beans.VnfcCustomization) VfModuleCustomization(org.onap.so.db.catalog.beans.VfModuleCustomization) VfModule(org.onap.so.db.catalog.beans.VfModule) VnfResourceCustomization(org.onap.so.db.catalog.beans.VnfResourceCustomization) Test(org.junit.Test) BaseTest(org.onap.so.db.catalog.BaseTest) Transactional(org.springframework.transaction.annotation.Transactional)

Example 4 with VnfcCustomization

use of org.onap.so.db.catalog.beans.VnfcCustomization in project so by onap.

the class CvnfcCustomizationRepositoryTest method createAndGetCvnfcCustomizationTest.

@Test
@Transactional
public void createAndGetCvnfcCustomizationTest() throws Exception {
    CvnfcCustomization cvnfcCustomization = setUpCvnfcCustomization();
    cvnfcCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
    VfModuleCustomization vfModuleCustomization = new VfModuleCustomization();
    vfModuleCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
    VfModule vFModule = setUpVfModule();
    VnfResource vnfResource = setUpVnfResource();
    vFModule.setVnfResources(vnfResource);
    vfModuleCustomization.setVfModule(vFModule);
    cvnfcCustomization.setVfModuleCustomization(vfModuleCustomization);
    VnfResourceCustomization vnfResourceCustomization = new VnfResourceCustomization();
    vnfResourceCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
    vnfResourceCustomization.setModelInstanceName("testModelInstanceName");
    List<VnfResourceCustomization> vnfResourceCustomizations = new ArrayList<>();
    vnfResourceCustomizations.add(vnfResourceCustomization);
    vnfResourceCustomization.setVnfResources(vnfResource);
    VnfcCustomization vnfcCustomization = setUpVnfcCustomization();
    vnfcCustomization.setModelCustomizationUUID("d95d704a-9ff2-11e8-98d0-529269fb1459");
    cvnfcCustomizationRepository.save(cvnfcCustomization);
    CvnfcCustomization cvnfcCustomizationList = cvnfcCustomizationRepository.findOneByModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
    assertThat(cvnfcCustomization, sameBeanAs(cvnfcCustomizationList).ignoring("id").ignoring("created").ignoring("vnfVfmoduleCvnfcConfigurationCustomization").ignoring("vnfResourceCusteModelCustomizationUUID"));
}
Also used : VnfResource(org.onap.so.db.catalog.beans.VnfResource) CvnfcCustomization(org.onap.so.db.catalog.beans.CvnfcCustomization) ArrayList(java.util.ArrayList) VnfcCustomization(org.onap.so.db.catalog.beans.VnfcCustomization) VfModuleCustomization(org.onap.so.db.catalog.beans.VfModuleCustomization) VfModule(org.onap.so.db.catalog.beans.VfModule) VnfResourceCustomization(org.onap.so.db.catalog.beans.VnfResourceCustomization) Test(org.junit.Test) BaseTest(org.onap.so.db.catalog.BaseTest) Transactional(org.springframework.transaction.annotation.Transactional)

Example 5 with VnfcCustomization

use of org.onap.so.db.catalog.beans.VnfcCustomization in project so by onap.

the class VnfcCustomizationRepositoryTest method createAndGetTest.

@Test
@Transactional
public void createAndGetTest() throws Exception {
    VnfcCustomization vnfcCustomization = setUpVnfcCustomization();
    vnfcCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
    vnfcCustomizationRepository.save(vnfcCustomization);
    VnfcCustomization foundVnfcCustomization = vnfcCustomizationRepository.findById("cf9f6efc-9f14-11e8-98d0-529269fb1459").orElseThrow(() -> new NoEntityFoundException("Cannot Find Operation"));
    assertThat(vnfcCustomization, sameBeanAs(foundVnfcCustomization).ignoring("created"));
}
Also used : NoEntityFoundException(org.onap.so.db.catalog.exceptions.NoEntityFoundException) VnfcCustomization(org.onap.so.db.catalog.beans.VnfcCustomization) BaseTest(org.onap.so.db.catalog.BaseTest) Test(org.junit.Test) Transactional(org.springframework.transaction.annotation.Transactional)

Aggregations

VnfcCustomization (org.onap.so.db.catalog.beans.VnfcCustomization)15 Test (org.junit.Test)7 CvnfcCustomization (org.onap.so.db.catalog.beans.CvnfcCustomization)7 ArrayList (java.util.ArrayList)6 Transactional (org.springframework.transaction.annotation.Transactional)6 BaseTest (org.onap.so.db.catalog.BaseTest)5 VfModule (org.onap.so.db.catalog.beans.VfModule)5 VfModuleCustomization (org.onap.so.db.catalog.beans.VfModuleCustomization)5 ConfigurationResource (org.onap.so.db.catalog.beans.ConfigurationResource)4 CvnfcConfigurationCustomization (org.onap.so.db.catalog.beans.CvnfcConfigurationCustomization)4 VnfResource (org.onap.so.db.catalog.beans.VnfResource)4 VnfResourceCustomization (org.onap.so.db.catalog.beans.VnfResourceCustomization)4 IEntityDetails (org.onap.sdc.tosca.parser.api.IEntityDetails)3 Metadata (org.onap.sdc.toscaparser.api.elements.Metadata)3 HashMap (java.util.HashMap)2 HashSet (java.util.HashSet)2 ConfigurationResourceCustomization (org.onap.so.db.catalog.beans.ConfigurationResourceCustomization)2 VFCInstanceGroup (org.onap.so.db.catalog.beans.VFCInstanceGroup)2 VnfcInstanceGroupCustomization (org.onap.so.db.catalog.beans.VnfcInstanceGroupCustomization)2 JsonProcessingException (com.fasterxml.jackson.core.JsonProcessingException)1