Search in sources :

Example 1 with ToscaResourceStructure

use of org.onap.so.asdc.installer.ToscaResourceStructure in project so by onap.

the class ToscaResourceInstaller method processServiceProxyAndConfiguration.

protected void processServiceProxyAndConfiguration(ToscaResourceStructure toscaResourceStruct, Service service) {
    List<IEntityDetails> spEntityList = getEntityDetails(toscaResourceStruct, EntityQuery.newBuilder(SdcTypes.SERVICE_PROXY), TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE), false);
    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 (spEntityList != null) {
        for (IEntityDetails spEntity : spEntityList) {
            serviceProxy = createServiceProxy(spEntity, service, toscaResourceStruct);
            serviceProxyList.add(serviceProxy);
            for (IEntityDetails configEntity : configEntityList) {
                List<RequirementAssignment> requirements = configEntity.getRequirements();
                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 -> configEntity.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID).equals(configurationResource.getModelCustomizationUUID())).filter(configurationResourceCustomization -> configurationResourceCustomization.getModelInstanceName().equals(configurationResource.getModelInstanceName())).findFirst();
                        if (!matchingObject.isPresent()) {
                            configurationResourceList.add(configurationResource);
                        }
                        break;
                    }
                }
            }
        }
    }
    service.setConfigurationCustomizations(configurationResourceList);
    service.setServiceProxyCustomizations(serviceProxyList);
}
Also used : IEntityDetails(org.onap.sdc.tosca.parser.api.IEntityDetails) NetworkInstanceGroup(org.onap.so.db.catalog.beans.NetworkInstanceGroup) ObjectOptimisticLockingFailureException(org.springframework.orm.ObjectOptimisticLockingFailureException) Property(org.onap.sdc.toscaparser.api.Property) VfModule(org.onap.so.db.catalog.beans.VfModule) PnfResourceRepository(org.onap.so.db.catalog.data.repository.PnfResourceRepository) Autowired(org.springframework.beans.factory.annotation.Autowired) WatchdogComponentDistributionStatusRepository(org.onap.so.db.request.data.repository.WatchdogComponentDistributionStatusRepository) EntityQueryBuilder(org.onap.sdc.tosca.parser.elements.queries.EntityQuery.EntityQueryBuilder) Matcher(java.util.regex.Matcher) VnfcCustomizationRepository(org.onap.so.db.catalog.data.repository.VnfcCustomizationRepository) Service(org.onap.so.db.catalog.beans.Service) VFModuleRepository(org.onap.so.db.catalog.data.repository.VFModuleRepository) Map(java.util.Map) ResourceStructure(org.onap.so.asdc.installer.ResourceStructure) EntityQuery(org.onap.sdc.tosca.parser.elements.queries.EntityQuery) VFCInstanceGroup(org.onap.so.db.catalog.beans.VFCInstanceGroup) ExternalServiceToInternalServiceRepository(org.onap.so.db.catalog.data.repository.ExternalServiceToInternalServiceRepository) ConfigurationResourceCustomization(org.onap.so.db.catalog.beans.ConfigurationResourceCustomization) VnfcInstanceGroupCustomizationRepository(org.onap.so.db.catalog.data.repository.VnfcInstanceGroupCustomizationRepository) VnfcCustomization(org.onap.so.db.catalog.beans.VnfcCustomization) VfResourceStructure(org.onap.so.asdc.installer.VfResourceStructure) HeatEnvironment(org.onap.so.db.catalog.beans.HeatEnvironment) WatchdogDistributionStatus(org.onap.so.db.request.beans.WatchdogDistributionStatus) VfModuleArtifact(org.onap.so.asdc.installer.VfModuleArtifact) SdcTypes(org.onap.sdc.tosca.parser.enums.SdcTypes) HeatFiles(org.onap.so.db.catalog.beans.HeatFiles) HeatEnvironmentRepository(org.onap.so.db.catalog.data.repository.HeatEnvironmentRepository) Set(java.util.Set) CollectionResourceInstanceGroupCustomization(org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization) PnfResourceCustomization(org.onap.so.db.catalog.beans.PnfResourceCustomization) ASDCConfiguration(org.onap.so.asdc.client.ASDCConfiguration) ConfigurationResource(org.onap.so.db.catalog.beans.ConfigurationResource) NodeTemplate(org.onap.sdc.toscaparser.api.NodeTemplate) AllottedResource(org.onap.so.db.catalog.beans.AllottedResource) IArtifactInfo(org.onap.sdc.api.notification.IArtifactInfo) NetworkResourceCustomizationRepository(org.onap.so.db.catalog.data.repository.NetworkResourceCustomizationRepository) CollectionUtils(org.springframework.util.CollectionUtils) ConfigurationResourceCustomizationRepository(org.onap.so.db.catalog.data.repository.ConfigurationResourceCustomizationRepository) NetworkResource(org.onap.so.db.catalog.beans.NetworkResource) LockAcquisitionException(org.hibernate.exception.LockAcquisitionException) CollectionResource(org.onap.so.db.catalog.beans.CollectionResource) InstanceGroupRepository(org.onap.so.db.catalog.data.repository.InstanceGroupRepository) CollectionResourceRepository(org.onap.so.db.catalog.data.repository.CollectionResourceRepository) IVfModuleData(org.onap.so.asdc.installer.IVfModuleData) ASDCElementInfo(org.onap.so.asdc.installer.ASDCElementInfo) ArrayList(java.util.ArrayList) LinkedHashMap(java.util.LinkedHashMap) IResourceInstance(org.onap.sdc.api.notification.IResourceInstance) VFModuleCustomizationRepository(org.onap.so.db.catalog.data.repository.VFModuleCustomizationRepository) TopologyTemplateQueryBuilder(org.onap.sdc.tosca.parser.elements.queries.TopologyTemplateQuery.TopologyTemplateQueryBuilder) InstanceGroupType(org.onap.so.db.catalog.beans.InstanceGroupType) AllottedResourceRepository(org.onap.so.db.catalog.data.repository.AllottedResourceRepository) VnfResource(org.onap.so.db.catalog.beans.VnfResource) HeatFilesRepository(org.onap.so.db.catalog.data.repository.HeatFilesRepository) VfModuleCustomization(org.onap.so.db.catalog.beans.VfModuleCustomization) ErrorCode(org.onap.logging.filter.base.ErrorCode) CollectionNetworkResourceCustomization(org.onap.so.db.catalog.beans.CollectionNetworkResourceCustomization) ISdcCsarHelper(org.onap.sdc.tosca.parser.api.ISdcCsarHelper) InstanceGroup(org.onap.so.db.catalog.beans.InstanceGroup) CvnfcCustomization(org.onap.so.db.catalog.beans.CvnfcCustomization) ArtifactInstallerException(org.onap.so.asdc.client.exceptions.ArtifactInstallerException) HeatTemplate(org.onap.so.db.catalog.beans.HeatTemplate) RequirementAssignment(org.onap.sdc.toscaparser.api.RequirementAssignment) PnfResource(org.onap.so.db.catalog.beans.PnfResource) ToscaCsarRepository(org.onap.so.db.catalog.data.repository.ToscaCsarRepository) TopologyTemplateQuery(org.onap.sdc.tosca.parser.elements.queries.TopologyTemplateQuery) Date(java.util.Date) LoggerFactory(org.slf4j.LoggerFactory) PnfResourceStructure(org.onap.so.asdc.installer.PnfResourceStructure) IEntityDetails(org.onap.sdc.tosca.parser.api.IEntityDetails) ServiceProxyResourceCustomization(org.onap.so.db.catalog.beans.ServiceProxyResourceCustomization) CapabilityAssignment(org.onap.sdc.toscaparser.api.CapabilityAssignment) Input(org.onap.sdc.toscaparser.api.parameters.Input) MessageEnum(org.onap.so.logger.MessageEnum) SubType(org.onap.so.db.catalog.beans.SubType) NetworkResourceRepository(org.onap.so.db.catalog.data.repository.NetworkResourceRepository) ConstraintViolationException(org.hibernate.exception.ConstraintViolationException) WatchdogServiceModVerIdLookupRepository(org.onap.so.db.request.data.repository.WatchdogServiceModVerIdLookupRepository) Timestamp(java.sql.Timestamp) Collection(java.util.Collection) YamlEditor(org.onap.so.asdc.util.YamlEditor) TempNetworkHeatTemplateRepository(org.onap.so.db.catalog.data.repository.TempNetworkHeatTemplateRepository) Collectors(java.util.stream.Collectors) List(java.util.List) ServiceInfo(org.onap.so.db.catalog.beans.ServiceInfo) Optional(java.util.Optional) LoggingAnchor(org.onap.so.logger.LoggingAnchor) Pattern(java.util.regex.Pattern) BigDecimalVersion(org.onap.so.asdc.installer.BigDecimalVersion) WatchdogDistributionStatusRepository(org.onap.so.db.request.data.repository.WatchdogDistributionStatusRepository) TempNetworkHeatTemplateLookup(org.onap.so.db.catalog.beans.TempNetworkHeatTemplateLookup) ServiceArtifact(org.onap.so.db.catalog.beans.ServiceArtifact) WatchdogServiceModVerIdLookup(org.onap.so.db.request.beans.WatchdogServiceModVerIdLookup) HashMap(java.util.HashMap) CvnfcCustomizationRepository(org.onap.so.db.catalog.data.repository.CvnfcCustomizationRepository) ServiceProxyResourceCustomizationRepository(org.onap.so.db.catalog.data.repository.ServiceProxyResourceCustomizationRepository) HeatTemplateParam(org.onap.so.db.catalog.beans.HeatTemplateParam) VnfResourceCustomization(org.onap.so.db.catalog.beans.VnfResourceCustomization) ConfigurationResourceRepository(org.onap.so.db.catalog.data.repository.ConfigurationResourceRepository) HashSet(java.util.HashSet) AllottedResourceCustomizationRepository(org.onap.so.db.catalog.data.repository.AllottedResourceCustomizationRepository) PnfCustomizationRepository(org.onap.so.db.catalog.data.repository.PnfCustomizationRepository) CollectionResourceCustomizationRepository(org.onap.so.db.catalog.data.repository.CollectionResourceCustomizationRepository) DistributionStatusEnum(org.onap.sdc.utils.DistributionStatusEnum) WatchdogComponentDistributionStatus(org.onap.so.db.request.beans.WatchdogComponentDistributionStatus) Logger(org.slf4j.Logger) EntityTemplateType(org.onap.sdc.tosca.parser.enums.EntityTemplateType) IStatusData(org.onap.sdc.api.notification.IStatusData) NetworkCollectionResourceCustomization(org.onap.so.db.catalog.beans.NetworkCollectionResourceCustomization) VnfResourceRepository(org.onap.so.db.catalog.data.repository.VnfResourceRepository) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) JsonProcessingException(com.fasterxml.jackson.core.JsonProcessingException) HeatTemplateRepository(org.onap.so.db.catalog.data.repository.HeatTemplateRepository) VfModuleStructure(org.onap.so.asdc.installer.VfModuleStructure) VnfcInstanceGroupCustomization(org.onap.so.db.catalog.beans.VnfcInstanceGroupCustomization) ToscaCsar(org.onap.so.db.catalog.beans.ToscaCsar) NetworkResourceCustomization(org.onap.so.db.catalog.beans.NetworkResourceCustomization) Metadata(org.onap.sdc.toscaparser.api.elements.Metadata) ToscaResourceStructure(org.onap.so.asdc.installer.ToscaResourceStructure) Component(org.springframework.stereotype.Component) CvnfcConfigurationCustomization(org.onap.so.db.catalog.beans.CvnfcConfigurationCustomization) ServiceRepository(org.onap.so.db.catalog.data.repository.ServiceRepository) SdcPropertyNames(org.onap.sdc.tosca.parser.impl.SdcPropertyNames) AllottedResourceCustomization(org.onap.so.db.catalog.beans.AllottedResourceCustomization) GetInput(org.onap.sdc.toscaparser.api.functions.GetInput) Collections(java.util.Collections) WorkflowResource(org.onap.so.asdc.installer.bpmn.WorkflowResource) Transactional(org.springframework.transaction.annotation.Transactional) ServiceProxyResourceCustomization(org.onap.so.db.catalog.beans.ServiceProxyResourceCustomization) ArrayList(java.util.ArrayList) ConfigurationResourceCustomization(org.onap.so.db.catalog.beans.ConfigurationResourceCustomization) RequirementAssignment(org.onap.sdc.toscaparser.api.RequirementAssignment)

Example 2 with ToscaResourceStructure

use of org.onap.so.asdc.installer.ToscaResourceStructure in project so by onap.

the class ToscaResourceInputTest method processResourceSequenceTest.

@Test
public void processResourceSequenceTest() {
    ToscaResourceInstaller toscaResourceInstaller = new ToscaResourceInstaller();
    ToscaResourceStructure toscaResourceStructure = new ToscaResourceStructure();
    toscaResourceStructure.setSdcCsarHelper(sdcCsarHelper);
    ArrayList<Input> inputs = new ArrayList<>();
    Service service = new Service();
    HashMap<String, Object> hashMap = new HashMap();
    hashMap.put("name", "node1");
    Metadata metadata = new Metadata(hashMap);
    when(entityDetails.getMetadata()).thenReturn(metadata);
    when(sdcCsarHelper.getServiceInputs()).thenReturn(inputs);
    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(), "");
}
Also used : Input(org.onap.sdc.toscaparser.api.parameters.Input) GetInput(org.onap.sdc.toscaparser.api.functions.GetInput) ToscaResourceStructure(org.onap.so.asdc.installer.ToscaResourceStructure) Metadata(org.onap.sdc.toscaparser.api.elements.Metadata) Service(org.onap.so.db.catalog.beans.Service) Test(org.junit.Test)

Example 3 with ToscaResourceStructure

use of org.onap.so.asdc.installer.ToscaResourceStructure in project so by onap.

the class ToscaResourceInputTest method resouceInputGetInputTest.

@Test
public void resouceInputGetInputTest() throws ArtifactInstallerException {
    ToscaResourceInstaller toscaResourceInstaller = new ToscaResourceInstaller();
    ToscaResourceStructure toscaResourceStructure = new ToscaResourceStructure();
    toscaResourceStructure.setSdcCsarHelper(sdcCsarHelper);
    HashMap hashMap = new HashMap();
    hashMap.put("customizationUUID", "id1");
    Metadata metadata = new Metadata(hashMap);
    Map<String, Property> propertyMap = new HashMap<String, Property>();
    propertyMap.put("prop1", property);
    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(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("{}", resourceInput);
}
Also used : ToscaResourceStructure(org.onap.so.asdc.installer.ToscaResourceStructure) Metadata(org.onap.sdc.toscaparser.api.elements.Metadata) Property(org.onap.sdc.toscaparser.api.Property) Test(org.junit.Test)

Example 4 with ToscaResourceStructure

use of org.onap.so.asdc.installer.ToscaResourceStructure in project so by onap.

the class ToscaResourceInputTest method resouceInputTest.

@Test
public void resouceInputTest() throws ArtifactInstallerException {
    ToscaResourceInstaller toscaResourceInstaller = new ToscaResourceInstaller();
    ToscaResourceStructure toscaResourceStructure = new ToscaResourceStructure();
    toscaResourceStructure.setSdcCsarHelper(sdcCsarHelper);
    Map hashMap = new HashMap();
    hashMap.put("customizationUUID", "id1");
    Metadata metadata = new Metadata(hashMap);
    Map<String, Property> propertyMap = new HashMap<String, Property>();
    propertyMap.put("prop1", property);
    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("{}", resourceInput);
}
Also used : ToscaResourceStructure(org.onap.so.asdc.installer.ToscaResourceStructure) Metadata(org.onap.sdc.toscaparser.api.elements.Metadata) Property(org.onap.sdc.toscaparser.api.Property) Test(org.junit.Test)

Example 5 with ToscaResourceStructure

use of org.onap.so.asdc.installer.ToscaResourceStructure in project so by onap.

the class ToscaResourceInstallerTest method installTheResourceWithGroupAndVFModulesTest.

@Test
public void installTheResourceWithGroupAndVFModulesTest() throws Exception {
    ToscaResourceInstaller toscaInstaller = new ToscaResourceInstaller();
    ToscaResourceStructure toscaResourceStructObj = prepareToscaResourceStructure(true, toscaInstaller);
    toscaInstaller.installTheResource(toscaResourceStructObj, vfResourceStruct);
    assertEquals(true, toscaResourceStructObj.isDeployedSuccessfully());
}
Also used : ToscaResourceStructure(org.onap.so.asdc.installer.ToscaResourceStructure) BaseTest(org.onap.so.asdc.BaseTest) Test(org.junit.Test)

Aggregations

ToscaResourceStructure (org.onap.so.asdc.installer.ToscaResourceStructure)15 Metadata (org.onap.sdc.toscaparser.api.elements.Metadata)12 IArtifactInfo (org.onap.sdc.api.notification.IArtifactInfo)7 IResourceInstance (org.onap.sdc.api.notification.IResourceInstance)7 Property (org.onap.sdc.toscaparser.api.Property)7 ResourceStructure (org.onap.so.asdc.installer.ResourceStructure)7 VfResourceStructure (org.onap.so.asdc.installer.VfResourceStructure)7 ArrayList (java.util.ArrayList)6 LinkedHashMap (java.util.LinkedHashMap)6 Test (org.junit.Test)6 ISdcCsarHelper (org.onap.sdc.tosca.parser.api.ISdcCsarHelper)6 DistributionStatusEnum (org.onap.sdc.utils.DistributionStatusEnum)6 ArtifactInstallerException (org.onap.so.asdc.client.exceptions.ArtifactInstallerException)6 PnfResourceStructure (org.onap.so.asdc.installer.PnfResourceStructure)6 JsonProcessingException (com.fasterxml.jackson.core.JsonProcessingException)5 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)5 HashMap (java.util.HashMap)5 List (java.util.List)5 Optional (java.util.Optional)5 ErrorCode (org.onap.logging.filter.base.ErrorCode)5