diff options
Diffstat (limited to 'catalog-be/src/main')
14 files changed, 227 insertions, 37 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/AttributeBusinessLogic.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/AttributeBusinessLogic.java index 4fd4610ef9..5b8a10a03e 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/AttributeBusinessLogic.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/AttributeBusinessLogic.java @@ -83,7 +83,7 @@ public class AttributeBusinessLogic extends BaseBusinessLogic { // Get the resource from DB Either<Resource, StorageOperationStatus> status = toscaOperationFacade.getToscaElement(resourceId); if (status.isRight()) { - return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, "")); + return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, resourceId)); } Resource resource = status.left().value(); @@ -151,7 +151,7 @@ public class AttributeBusinessLogic extends BaseBusinessLogic { // Get the resource from DB Either<Resource, StorageOperationStatus> status = toscaOperationFacade.getToscaElement(resourceId); if (status.isRight()) { - return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, "")); + return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, resourceId)); } Resource resource = status.left().value(); @@ -195,7 +195,7 @@ public class AttributeBusinessLogic extends BaseBusinessLogic { // Get the resource from DB Either<Resource, StorageOperationStatus> eitherResource = toscaOperationFacade.getToscaElement(resourceId); if (eitherResource.isRight()) { - return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, "")); + return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, resourceId)); } Resource resource = eitherResource.left().value(); @@ -273,7 +273,7 @@ public class AttributeBusinessLogic extends BaseBusinessLogic { // Get the resource from DB Either<Resource, StorageOperationStatus> eitherResource = toscaOperationFacade.getToscaElement(resourceId); if (eitherResource.isRight()) { - return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, "")); + return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, resourceId)); } Resource resource = eitherResource.left().value(); diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/PropertyBusinessLogic.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/PropertyBusinessLogic.java index 833e6c0b9e..e16b34f389 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/PropertyBusinessLogic.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/PropertyBusinessLogic.java @@ -121,7 +121,7 @@ public class PropertyBusinessLogic extends BaseBusinessLogic { // Get the resource from DB Either<Resource, StorageOperationStatus> status = toscaOperationFacade.getToscaElement(resourceId); if (status.isRight()) { - result = Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, "")); + result = Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, resourceId)); return result; } Resource resource = status.left().value(); @@ -219,7 +219,7 @@ public class PropertyBusinessLogic extends BaseBusinessLogic { // Get the resource from DB Either<Resource, StorageOperationStatus> status = toscaOperationFacade.getToscaElement(resourceId); if (status.isRight()) { - return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, "")); + return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, resourceId)); } Resource resource = status.left().value(); @@ -271,7 +271,7 @@ public class PropertyBusinessLogic extends BaseBusinessLogic { // Get the resource from DB Either<Resource, StorageOperationStatus> getResourceRes = toscaOperationFacade.getToscaElement(resourceId); if (getResourceRes.isRight()) { - result = Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, "")); + result = Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, resourceId)); return result; } Resource resource = getResourceRes.left().value(); @@ -321,7 +321,7 @@ public class PropertyBusinessLogic extends BaseBusinessLogic { Either<Resource, StorageOperationStatus> status = toscaOperationFacade.getToscaElement(resourceId); if (status.isRight()) { - return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, "")); + return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, resourceId)); } Resource resource = status.left().value(); diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ResourceBusinessLogic.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ResourceBusinessLogic.java index ba26576648..0ae546479a 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ResourceBusinessLogic.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ResourceBusinessLogic.java @@ -1869,27 +1869,25 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic { log.debug("************* Going to create all nodes {}", yamlName); Either<Map<String, Resource>, ResponseFormat> createdResourcesFromdNodeTypeMap = this.handleNodeTypes(yamlName, resource, topologyTemplateYaml, false, nodeTypesArtifactsToCreate, nodeTypesNewCreatedArtifacts, nodeTypesInfo, csarInfo, nodeName); - log.debug("************* Finished to create all nodes {}", yamlName); if (createdResourcesFromdNodeTypeMap.isRight()) { log.debug("failed to resources from node types status is {}", createdResourcesFromdNodeTypeMap.right().value()); return Either.right(createdResourcesFromdNodeTypeMap.right().value()); } + log.debug("************* Finished to create all nodes {}", yamlName); log.debug("************* Going to create all resource instances {}", yamlName); createResourcesInstancesEither = createResourceInstances(csarInfo.getModifier(), yamlName, resource, uploadComponentInstanceInfoMap, true, false, csarInfo.getCreatedNodes()); - log.debug("************* Finished to create all resource instances {}", yamlName); if (createResourcesInstancesEither.isRight()) { log.debug("failed to create resource instances status is {}", createResourcesInstancesEither.right().value()); result = createResourcesInstancesEither; return createResourcesInstancesEither; } + log.debug("************* Finished to create all resource instances for {}", yamlName); resource = createResourcesInstancesEither.left().value(); log.debug("************* Going to create all relations {}", yamlName); createResourcesInstancesEither = createResourceInstancesRelations(csarInfo.getModifier(), yamlName, resource, uploadComponentInstanceInfoMap); - log.debug("************* Finished to create all relations {}", yamlName); - if (createResourcesInstancesEither.isRight()) { log.debug("failed to create relation between resource instances status is {}", createResourcesInstancesEither.right().value()); result = createResourcesInstancesEither; @@ -1897,6 +1895,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic { } else { resource = createResourcesInstancesEither.left().value(); } + log.debug("************* Finished to create all relations {}", yamlName); log.debug("************* Going to create positions {}", yamlName); Either<List<ComponentInstance>, ResponseFormat> eitherSetPosition = compositionBusinessLogic.setPositionsForComponentInstances(resource, csarInfo.getModifier().getUserId()); @@ -4265,7 +4264,6 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic { return Either.left(validRegDef); } - @SuppressWarnings("unchecked") public Either<ParsedToscaYamlInfo, ResponseFormat> parseResourceInfoFromYaml(String yamlFileName, Resource resource, String resourceYml, Map<String, String> createdNodesToscaResourceNames, Map<String, NodeTypeInfo> nodeTypesInfo, String nodeName) { Map<String, Object> mappedToscaTemplate; @@ -4319,7 +4317,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic { Map<String, Resource> nodeNamespaceMap) { Either<Resource, ResponseFormat> eitherResource = null; - log.debug("createResourceInstances is {} - going to create resource instanse from CSAR", yamlName); + log.debug("{} - going to create resource instanse from CSAR", yamlName); if (uploadResInstancesMap == null || uploadResInstancesMap.isEmpty()) { ResponseFormat responseFormat = componentsUtils.getResponseFormat(ActionStatus.NOT_TOPOLOGY_TOSCA_TEMPLATE); @@ -4334,13 +4332,13 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic { Iterator<Entry<String, UploadComponentInstanceInfo>> nodesInfoValue = uploadResInstancesMap.entrySet().iterator(); Map<ComponentInstance, Resource> resourcesInstancesMap = new HashMap<>(); while (nodesInfoValue.hasNext()) { - log.debug("*************Going to create resource instances {}", yamlName); + log.debug("*************Going to create resource instances from {}", yamlName); Entry<String, UploadComponentInstanceInfo> uploadComponentInstanceInfoEntry = nodesInfoValue.next(); UploadComponentInstanceInfo uploadComponentInstanceInfo = uploadComponentInstanceInfoEntry.getValue(); // updating type if the type is node type name - we need to take the // updated name - log.debug("*************Going to create resource instances {}", uploadComponentInstanceInfo.getName()); + log.debug("*************Going to create resource instance {}", uploadComponentInstanceInfo.getName()); if (nodeNamespaceMap.containsKey(uploadComponentInstanceInfo.getType())) { uploadComponentInstanceInfo.setType(nodeNamespaceMap.get(uploadComponentInstanceInfo.getType()).getToscaResourceName()); } @@ -4357,17 +4355,19 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic { ComponentTypeEnum containerComponentType = resource.getComponentType(); NodeTypeEnum containerNodeType = containerComponentType.getNodeType(); - - if (containerNodeType.equals(NodeTypeEnum.Resource) && uploadComponentInstanceInfo.getCapabilities() != null) { - Either<Map<String, List<CapabilityDefinition>>, ResponseFormat> getValidComponentInstanceCapabilitiesRes = getValidComponentInstanceCapabilities(refResource.getCapabilities(), uploadComponentInstanceInfo.getCapabilities()); + //************ + if (containerNodeType.equals(NodeTypeEnum.Resource) && MapUtils.isNotEmpty(uploadComponentInstanceInfo.getCapabilities()) && MapUtils.isNotEmpty(refResource.getCapabilities())) { + setCapabilityNamesTypes(refResource.getCapabilities(), uploadComponentInstanceInfo.getCapabilities()); + Either<Map<String, List<CapabilityDefinition>>, ResponseFormat> getValidComponentInstanceCapabilitiesRes = getValidComponentInstanceCapabilities(refResource.getUniqueId(), refResource.getCapabilities(), uploadComponentInstanceInfo.getCapabilities()); if (getValidComponentInstanceCapabilitiesRes.isRight()) { return Either.right(getValidComponentInstanceCapabilitiesRes.right().value()); } else { componentInstance.setCapabilities(getValidComponentInstanceCapabilitiesRes.left().value()); } } + //*********************** if (!existingnodeTypeMap.containsKey(uploadComponentInstanceInfo.getType())) { - log.debug("createResourceInstances - not found lates version for resource instance with name {} and type ", uploadComponentInstanceInfo.getName(), uploadComponentInstanceInfo.getType()); + log.debug("createResourceInstances - not found latest version for resource instance with name {} and type ", uploadComponentInstanceInfo.getName(), uploadComponentInstanceInfo.getType()); ResponseFormat responseFormat = componentsUtils.getResponseFormat(ActionStatus.INVALID_NODE_TEMPLATE, yamlName, uploadComponentInstanceInfo.getName(), uploadComponentInstanceInfo.getType()); return Either.right(responseFormat); } @@ -4417,16 +4417,30 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic { return Either.left(eitherGerResource.left().value()); } + + private void setCapabilityNamesTypes(Map<String, List<CapabilityDefinition>> originCapabilities, Map<String, List<UploadCapInfo>> uploadedCapabilities) { + for(Entry<String, List<UploadCapInfo>> currEntry : uploadedCapabilities.entrySet()){ + if(originCapabilities.containsKey(currEntry.getKey())){ + currEntry.getValue().stream().forEach(cap -> cap.setType(currEntry.getKey())); + } + } + + for(Map.Entry<String, List<CapabilityDefinition>> capabilities : originCapabilities.entrySet()){ + capabilities.getValue().stream().forEach(cap -> {if(uploadedCapabilities.containsKey(cap.getName())){uploadedCapabilities.get(cap.getName()).stream().forEach(c -> {c.setName(cap.getName());c.setType(cap.getType());});};}); + } + } + + private Either<Resource, ResponseFormat> validateResourceInstanceBeforeCreate(String yamlName, UploadComponentInstanceInfo uploadComponentInstanceInfo, Map<String, Resource> nodeNamespaceMap) { - log.debug("validateResourceInstanceBeforeCreate - going to validate resource instance with name {} and type before create", uploadComponentInstanceInfo.getName(), uploadComponentInstanceInfo.getType()); + log.debug("going to validate resource instance with name {} and type {} before create", uploadComponentInstanceInfo.getName(), uploadComponentInstanceInfo.getType()); Resource refResource = null; if (nodeNamespaceMap.containsKey(uploadComponentInstanceInfo.getType())) { refResource = nodeNamespaceMap.get(uploadComponentInstanceInfo.getType()); } else { Either<Resource, StorageOperationStatus> findResourceEither = toscaOperationFacade.getLatestCertifiedNodeTypeByToscaResourceName(uploadComponentInstanceInfo.getType()); if (findResourceEither.isRight()) { - log.debug("validateResourceInstanceBeforeCreate - not found lates version for resource instance with name {} and type ", uploadComponentInstanceInfo.getName(), uploadComponentInstanceInfo.getType()); + log.debug("not found lates version for resource instance with name {} and type {}", uploadComponentInstanceInfo.getName(), uploadComponentInstanceInfo.getType()); ResponseFormat responseFormat = componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse(findResourceEither.right().value())); return Either.right(responseFormat); } @@ -4435,16 +4449,17 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic { } String componentState = refResource.getComponentMetadataDefinition().getMetadataDataDefinition().getState(); if (componentState.equals(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.name())) { - log.debug("validateResourceInstanceBeforeCreate - component instance of component {} can not be created because the component is in an illegal state {}.", refResource.getName(), componentState); + log.debug("component instance of component {} can not be created because the component is in an illegal state {}.", refResource.getName(), componentState); ResponseFormat responseFormat = componentsUtils.getResponseFormat(ActionStatus.ILLEGAL_COMPONENT_STATE, refResource.getComponentType().getValue(), refResource.getName(), componentState); return Either.right(responseFormat); } if (!ToscaUtils.isAtomicType(refResource) && refResource.getResourceType() != ResourceTypeEnum.CVFC) { - log.debug("validateResourceInstanceBeforeCreate - ref resource type is ", refResource.getResourceType()); + log.debug("ref resource type is {}", refResource.getResourceType()); ResponseFormat responseFormat = componentsUtils.getResponseFormat(ActionStatus.INVALID_NODE_TEMPLATE, yamlName, uploadComponentInstanceInfo.getName(), uploadComponentInstanceInfo.getType()); return Either.right(responseFormat); } + log.debug("validate resource instance with name {} and type {} before create, successful",uploadComponentInstanceInfo.getName(), uploadComponentInstanceInfo.getType()); return Either.left(refResource); } @@ -7021,7 +7036,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic { return null; } - private Either<Map<String, List<CapabilityDefinition>>, ResponseFormat> getValidComponentInstanceCapabilities(Map<String, List<CapabilityDefinition>> defaultCapabilities, Map<String, List<UploadCapInfo>> uploadedCapabilities) { + private Either<Map<String, List<CapabilityDefinition>>, ResponseFormat> getValidComponentInstanceCapabilities(String resourceId, Map<String, List<CapabilityDefinition>> defaultCapabilities, Map<String, List<UploadCapInfo>> uploadedCapabilities) { ResponseFormat responseFormat; Map<String, List<CapabilityDefinition>> validCapabilitiesMap = new HashMap<>(); @@ -7031,14 +7046,33 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic { responseFormat = componentsUtils.getResponseFormat(ActionStatus.MISSING_CAPABILITY_TYPE, capabilityType); return Either.right(responseFormat); } else { - CapabilityDefinition delaultCapability = defaultCapabilities.get(capabilityType).get(0); - Either<Boolean, String> validationRes = validateUniquenessUpdateUploadedComponentInstanceCapability(delaultCapability, uploadedCapabilitiesEntry.getValue().get(0)); - if (validationRes.isRight()) { - responseFormat = componentsUtils.getResponseFormat(ActionStatus.PROPERTY_NAME_ALREADY_EXISTS, validationRes.right().value()); + CapabilityDefinition defaultCapability; + if(CollectionUtils.isNotEmpty(defaultCapabilities.get(capabilityType).get(0).getProperties())){ + defaultCapability = defaultCapabilities.get(capabilityType).get(0); + } else { + Either<Component, StorageOperationStatus> getFullComponentRes = toscaOperationFacade.getToscaFullElement(resourceId); + if(getFullComponentRes.isRight()){ + log.debug("Failed to get full component {}. Status is {}. ", resourceId, getFullComponentRes.right().value()); + responseFormat = componentsUtils.getResponseFormat(ActionStatus.COMPONENT_NOT_FOUND, resourceId); + return Either.right(responseFormat); + } + defaultCapability = getFullComponentRes.left().value().getCapabilities().get(capabilityType).get(0); + } + if(CollectionUtils.isEmpty(defaultCapability.getProperties()) && CollectionUtils.isNotEmpty(uploadedCapabilitiesEntry.getValue().get(0).getProperties())){ + log.debug("Failed to validate capability {} of component {}. Property list is empty. ", defaultCapability.getName(), resourceId); + log.debug("Failed to update capability property values. Property list of fetched capability {} is empty. ", defaultCapability.getName()); + responseFormat = componentsUtils.getResponseFormat(ActionStatus.PROPERTY_NOT_FOUND, resourceId); return Either.right(responseFormat); } + if(CollectionUtils.isNotEmpty(defaultCapability.getProperties()) && CollectionUtils.isNotEmpty(uploadedCapabilitiesEntry.getValue().get(0).getProperties())){ + Either<Boolean, String> validationRes = validateUniquenessUpdateUploadedComponentInstanceCapability(defaultCapability, uploadedCapabilitiesEntry.getValue().get(0)); + if (validationRes.isRight()) { + responseFormat = componentsUtils.getResponseFormat(ActionStatus.PROPERTY_NAME_ALREADY_EXISTS, validationRes.right().value()); + return Either.right(responseFormat); + } + } List<CapabilityDefinition> validCapabilityList = new ArrayList<>(); - validCapabilityList.add(delaultCapability); + validCapabilityList.add(defaultCapability); validCapabilitiesMap.put(uploadedCapabilitiesEntry.getKey(), validCapabilityList); } } diff --git a/catalog-be/src/main/resources/import/tosca/heat-types/genericNeutronNet/genericNeutronNet.json b/catalog-be/src/main/resources/import/tosca/heat-types/genericNeutronNet/genericNeutronNet.json new file mode 100644 index 0000000000..d9b008a870 --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/heat-types/genericNeutronNet/genericNeutronNet.json @@ -0,0 +1,21 @@ +{ + "payloadName": "genericNeutronNet.yml", + "contactId": "jh0003", + "name": "Generic NeutronNet", + "description": "Generic NeutronNet", + "resourceIconPath": "network", + "resourceType": "VL", + "categories": [ + { + "name": "Generic", + "subcategories": [ + { + "name": "Network Elements" + } + ] + } +], + "tags": [ + "Generic NeutronNet" + ] +}
\ No newline at end of file diff --git a/catalog-be/src/main/resources/import/tosca/heat-types/genericNeutronNet/genericNeutronNet.yml b/catalog-be/src/main/resources/import/tosca/heat-types/genericNeutronNet/genericNeutronNet.yml new file mode 100644 index 0000000000..12dc13e98b --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/heat-types/genericNeutronNet/genericNeutronNet.yml @@ -0,0 +1,36 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 +node_types: + org.openecomp.resource.vl.GenericNeutronNet: + derived_from: org.openecomp.resource.vl.extVL + description: Generic Neutron Network + properties: + network_role: + type: string + description: | + Unique label that defines the role that this network performs. example: vce oam network, vnat sr-iov1 network + network_assignments: + type: org.openecomp.datatypes.network.NetworkAssignments + network_flows: + type: org.openecomp.datatypes.network.NetworkFlows + network_scope: + type: string + network_ecomp_naming: + type: org.openecomp.datatypes.EcompNaming + network_type: + type: string + description: ECOMP supported network types. + default: NEUTRON + provider_network: + type: org.openecomp.datatypes.network.ProviderNetwork + network_technology: + type: string + description: ECOMP supported network technology + default: NEUTRON + network_homing: + type: org.openecomp.datatypes.EcompHoming + capabilities: + virtual_linkable: + type: tosca.capabilities.network.Linkable + occurrences: + - 1 + - UNBOUNDED
\ No newline at end of file diff --git a/catalog-be/src/main/resources/import/tosca/heat-types/genericNeutronNet/genericNeutronNet.zip b/catalog-be/src/main/resources/import/tosca/heat-types/genericNeutronNet/genericNeutronNet.zip Binary files differnew file mode 100644 index 0000000000..ed51f834f3 --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/heat-types/genericNeutronNet/genericNeutronNet.zip diff --git a/catalog-be/src/main/resources/import/tosca/onap-types/NSD/NSD.json b/catalog-be/src/main/resources/import/tosca/onap-types/NSD/NSD.json new file mode 100644 index 0000000000..22788ec06c --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/onap-types/NSD/NSD.json @@ -0,0 +1,15 @@ +{ + "payloadName": "NSD.yml", + "contactId": "jh0003", + "name": "NSD", + "description": "NSD", + "resourceIconPath": "network", + "resourceType": "VFC", + "categories": [{ + "name": "Generic", + "subcategories": [{ + "name": "Network Elements" + }] + }], + "tags": ["NSD"] +}
\ No newline at end of file diff --git a/catalog-be/src/main/resources/import/tosca/onap-types/NSD/NSD.yml b/catalog-be/src/main/resources/import/tosca/onap-types/NSD/NSD.yml new file mode 100644 index 0000000000..1b3d8820d5 --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/onap-types/NSD/NSD.yml @@ -0,0 +1,41 @@ +tosca_definitions_version: tosca_simple_yaml_1_0_0 +node_types: + org.openecomp.resource.vfc.NSD: + derived_from: tosca.nodes.Root + description: ECOMP Allotted Resource base type all other allotted resources node types derive from + properties: + nsd_id: + type: string + required: true + description: ID of the NSD + nsd_designer: + type: string + required: true + description: Designer of the NSD + nsd_version: + type: string + required: true + description: Version of the NSD + nsd_name: + type: string + required: true + description: Name of the NSD + providing_service_uuid: + type: string + required: true + description: The depending service uuid in order to map the allotted resource to the specific service version + providing_service_invariant_uuid: + type: string + required: true + description: The depending service invariant uuid in order to map the allotted resource to the specific service version + providing_service_name: + type: string + required: true + description: The depending service name in order to map the allotted resource to the specific service version + requirements: + - virtualLink: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + capabilities: + virtual_linkable: + type: tosca.capabilities.network.Linkable diff --git a/catalog-be/src/main/resources/import/tosca/onap-types/NSD/NSD.zip b/catalog-be/src/main/resources/import/tosca/onap-types/NSD/NSD.zip Binary files differnew file mode 100644 index 0000000000..d741b50c16 --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/onap-types/NSD/NSD.zip diff --git a/catalog-be/src/main/resources/import/tosca/onap-types/vduCpd/vduCpd.yml b/catalog-be/src/main/resources/import/tosca/onap-types/vduCpd/vduCpd.yml index e1f6d068ce..e5d79fcacf 100644 --- a/catalog-be/src/main/resources/import/tosca/onap-types/vduCpd/vduCpd.yml +++ b/catalog-be/src/main/resources/import/tosca/onap-types/vduCpd/vduCpd.yml @@ -50,7 +50,7 @@ node_types: - 0 - UNBOUNDED - virtual_link: - capability: tosca.capabilities.nfv.VirtualBindable + capability: tosca.capabilities.nfv.VirtualLinkable occurrences: - 0 - UNBOUNDED
\ No newline at end of file diff --git a/catalog-be/src/main/resources/import/tosca/onap-types/vduCpd/vduCpd.zip b/catalog-be/src/main/resources/import/tosca/onap-types/vduCpd/vduCpd.zip Binary files differindex 6a9d4be124..e1b5be9f2f 100644 --- a/catalog-be/src/main/resources/import/tosca/onap-types/vduCpd/vduCpd.zip +++ b/catalog-be/src/main/resources/import/tosca/onap-types/vduCpd/vduCpd.zip diff --git a/catalog-be/src/main/resources/scripts/import/tosca/importHeatTypes.py b/catalog-be/src/main/resources/scripts/import/tosca/importHeatTypes.py index 78b257d6f3..c72c2c394f 100644 --- a/catalog-be/src/main/resources/scripts/import/tosca/importHeatTypes.py +++ b/catalog-be/src/main/resources/scripts/import/tosca/importHeatTypes.py @@ -53,7 +53,8 @@ def importHeatTypes(beHost, bePort, adminUser, fileDir, updateversion): "multiFlavorVFC", "vnfConfiguration", "underlayVpn", - "overlayTunnel" + "overlayTunnel", + "genericNeutronNet" ] responseCodes = [200, 201] diff --git a/catalog-be/src/main/resources/scripts/import/tosca/importOnapTypes.py b/catalog-be/src/main/resources/scripts/import/tosca/importOnapTypes.py index f91b64ed81..31c11c74bc 100644 --- a/catalog-be/src/main/resources/scripts/import/tosca/importOnapTypes.py +++ b/catalog-be/src/main/resources/scripts/import/tosca/importOnapTypes.py @@ -29,7 +29,8 @@ def importOnapTypes(beHost, bePort, adminUser, fileDir, updateversion): "vduCompute", "vduCpd", "vduVirtualStorage", - "vnfVirtualLinkDesc" + "vnfVirtualLinkDesc", + "NSD" ] responseCodes = [200, 201] diff --git a/catalog-be/src/main/resources/scripts/import/tosca/typesToUpgrade.json b/catalog-be/src/main/resources/scripts/import/tosca/typesToUpgrade.json index a6948f5da8..c518855860 100644 --- a/catalog-be/src/main/resources/scripts/import/tosca/typesToUpgrade.json +++ b/catalog-be/src/main/resources/scripts/import/tosca/typesToUpgrade.json @@ -1,13 +1,54 @@ { "heat": [ - "contrailPort", - "extCp", - "contrailV2VirtualMachineInterface", + "globalNetwork", + "globalPort", + "globalCompute", + "volume", + "cinderVolume", + "contrailVirtualNetwork", + "neutronNet", "neutronPort", + "novaServer", + "extVl", + "internalVl", + "extCp", + "vl", + "eline", + "abstractSubstitute", + "Generic_VFC", + "Generic_VF", "Generic_PNF", + "Generic_Service", + "contrailNetworkRules", + "contrailPort", + "contrailV2NetworkRules", + "contrailV2VirtualNetwork", + "securityRules", + "contrailAbstractSubstitute", + "contrailCompute", + "contrailV2VirtualMachineInterface", + "subInterface", + "contrailV2VLANSubInterface", "multiFlavorVFC", - "vnfConfiguration" + "vnfConfiguration", + "underlayVpn", + "overlayTunnel", + "genericNeutronNet" ], "normative": [ + "root", + "compute", + "softwareComponent", + "webServer", + "webApplication", + "DBMS", + "database", + "objectStorage", + "blockStorage", + "containerRuntime", + "containerApplication", + "loadBalancer", + "port", + "network" ] }
\ No newline at end of file |