From bd36f4badbaa5dd1b76996a3e1f73cf4dcfeda01 Mon Sep 17 00:00:00 2001 From: MichaelMorris Date: Fri, 21 Aug 2020 17:51:13 +0100 Subject: [PATCH] Adding ETSI NS types Change-Id: I22f644a6b02f4f05ddc951af899463df9b11b7db Issue-ID: SDC-2618 Signed-off-by: MichaelMorris --- .../import/tosca/data-types/dataTypes.yml | 64 ++++++++++++++++++++++ .../resources/import/tosca/nfv-types/NS/NS.json | 15 +++++ .../resources/import/tosca/nfv-types/NS/NS.yml | 42 ++++++++++++++ .../nfv-types/NsVirtualLink/NsVirtualLink.json | 15 +++++ .../nfv-types/NsVirtualLink/NsVirtualLink.yml | 28 ++++++++++ .../sdcBePy/tosca/data/onapTypesToUpgrade.json | 6 +- .../sdcBePy/tosca/models/normativeTypesList.py | 2 + 7 files changed, 170 insertions(+), 2 deletions(-) create mode 100644 catalog-be/src/main/resources/import/tosca/nfv-types/NS/NS.json create mode 100644 catalog-be/src/main/resources/import/tosca/nfv-types/NS/NS.yml create mode 100644 catalog-be/src/main/resources/import/tosca/nfv-types/NsVirtualLink/NsVirtualLink.json create mode 100644 catalog-be/src/main/resources/import/tosca/nfv-types/NsVirtualLink/NsVirtualLink.yml diff --git a/catalog-be/src/main/resources/import/tosca/data-types/dataTypes.yml b/catalog-be/src/main/resources/import/tosca/data-types/dataTypes.yml index 76016bfb3e..50da0264ec 100644 --- a/catalog-be/src/main/resources/import/tosca/data-types/dataTypes.yml +++ b/catalog-be/src/main/resources/import/tosca/data-types/dataTypes.yml @@ -2258,6 +2258,70 @@ tosca.datatypes.nfv.SwImageData: required: false entry_schema: type: string +tosca.datatypes.nfv.NsVirtualLinkQos: + derived_from: tosca.datatypes.nfv.Qos + description: describes QoS data for a given VL used in a VNF deployment flavour + properties: + priority: + type: integer + constraints: + - greater_or_equal: 0 + description: Specifies the priority level in case of congestion on the underlying physical links + required: false +tosca.datatypes.nfv.ServiceAvailability: + derived_from: tosca.datatypes.Root + description: service availability + properties: + level: + type: string + description: service availability levels + required: true + constraints: + - valid_values: [ level1, level2, level3 ] +tosca.datatypes.nfv.NsVlProfile: + derived_from: tosca.datatypes.Root + description: Describes additional instantiation data for a given NsVirtualLink used in a specific NS deployment flavour. + properties: + max_bitrate_requirements: + type: tosca.datatypes.nfv.LinkBitrateRequirements + description: Specifies the maximum bitrate requirements for a VL instantiated according to this profile. + required: true + min_bitrate_requirements: + type: tosca.datatypes.nfv.LinkBitrateRequirements + description: Specifies the minimum bitrate requirements for a VL instantiated according to this profile. + required: true + qos: + type: tosca.datatypes.nfv.NsVirtualLinkQos + description: Specifies the QoS requirements of a VL instantiated according to this profile. + required: false + service_availability: + type: tosca.datatypes.nfv.ServiceAvailability + description: Network service virtual link service availability levels, as described in ETSI GS NFV-REL 001 + required: false +tosca.datatypes.nfv.NsProfile: + derived_from: tosca.datatypes.Root + description: describes a profile for instantiating NSs of a particular NS DF according to a specific NSD and NS DF. + properties: + ns_instantiation_level: + type: string + description: Identifier of the instantiation level of the NS DF to be used for instantiation. If not present, the default instantiation level as declared in the NSD shall be used. + required: false + min_number_of_instances: + type: integer + description: Minimum number of instances of the NS based on this NSD that is permitted to exist for this NsProfile. + required: true + constraints: + - greater_or_equal: 0 + max_number_of_instances: + type: integer + description: Maximum number of instances of the NS based on this NSD that is permitted to exist for this NsProfile. + required: true + constraints: + - greater_or_equal: 0 + flavour_id: + type: string + description: Identifies the applicable network service DF within the scope of the NSD. + required: true ### Data types used by Policy PM Mapper for closed loop ### diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/NS/NS.json b/catalog-be/src/main/resources/import/tosca/nfv-types/NS/NS.json new file mode 100644 index 0000000000..b64dc5000a --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/nfv-types/NS/NS.json @@ -0,0 +1,15 @@ +{ + "payloadName": "NS.yml", + "contactId": "jh0003", + "name": "NS", + "description": "ETSI NS", + "resourceIconPath": "network", + "resourceType": "VFC", + "categories": [{ + "name": "Generic", + "subcategories": [{ + "name": "Network Elements" + }] + }], + "tags": ["NS"] +} diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/NS/NS.yml b/catalog-be/src/main/resources/import/tosca/nfv-types/NS/NS.yml new file mode 100644 index 0000000000..1e0c7f5133 --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/nfv-types/NS/NS.yml @@ -0,0 +1,42 @@ +tosca_definitions_version: tosca_simple_yaml_1_0_0 +node_types: + tosca.nodes.nfv.NS: + derived_from: tosca.nodes.Root + properties: + descriptor_id: + type: string # UUID + description: Identifier of this NS descriptor + required: true + designer: + type: string + description: Identifies the designer of the NSD. + required: true + version: + type: string + description: Identifies the version of the NSD. + required: true + name: + type: string + description: Provides the human readable name of the NSD. + required: true + invariant_id: # UUID + type: string + description: Identifies an NSD in a version independent manner. This attribute is invariant across versions of NSD + required: true + flavour_id: + type: string + description: Identifier of the NS Deployment Flavour within the NSD + required: true + ns_profile: + type: tosca.datatypes.nfv.NsProfile + description: Specifies a profile of a NS, when this NS is used as nested NS within another NS. + required: false + requirements: + - virtual_link: + capability: tosca.capabilities.nfv.VirtualLinkable + relationship: tosca.relationships.nfv.VirtualLinksTo + node: tosca.nodes.nfv.NsVirtualLink + occurrences: [ 0, 1 ] + interfaces: + Nslcm: + type: tosca.interfaces.nfv.Nslcm diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/NsVirtualLink/NsVirtualLink.json b/catalog-be/src/main/resources/import/tosca/nfv-types/NsVirtualLink/NsVirtualLink.json new file mode 100644 index 0000000000..727d4d60c2 --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/nfv-types/NsVirtualLink/NsVirtualLink.json @@ -0,0 +1,15 @@ +{ + "payloadName": "NsVirtualLink.yml", + "contactId": "jh0003", + "name": "NsVirtualLink", + "description": "ETSI NsVirtualLink", + "resourceIconPath": "network", + "resourceType": "VL", + "categories": [{ + "name": "Generic", + "subcategories": [{ + "name": "Infrastructure" + }] + }], + "tags": ["NsVirtualLink"] +} diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/NsVirtualLink/NsVirtualLink.yml b/catalog-be/src/main/resources/import/tosca/nfv-types/NsVirtualLink/NsVirtualLink.yml new file mode 100644 index 0000000000..8ace02c81a --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/nfv-types/NsVirtualLink/NsVirtualLink.yml @@ -0,0 +1,28 @@ +tosca_definitions_version: tosca_simple_yaml_1_0_0 +node_types: + tosca.nodes.nfv.NsVirtualLink: + derived_from: tosca.nodes.Root + description: node definition of Virtual Links + properties: + vl_profile: + type: tosca.datatypes.nfv.NsVlProfile # only covers min/max bitrate requirements + description: Specifies instantiation parameters for a virtual link of a particular NS deployment flavour. + required: true + connectivity_type: + type: tosca.datatypes.nfv.ConnectivityType + required: true + test_access: + type: list + description: Test access facilities available on the VL + required: false + entry_schema: + type: string + constraints: + - valid_values: [ passive_monitoring, active_loopback ] + description: + type: string + required: false + description: Human readable information on the purpose of the virtual link (e.g. VL for control plane traffic). + capabilities: + virtual_linkable: + type: tosca.capabilities.nfv.VirtualLinkable diff --git a/catalog-be/src/main/resources/scripts/sdcBePy/tosca/data/onapTypesToUpgrade.json b/catalog-be/src/main/resources/scripts/sdcBePy/tosca/data/onapTypesToUpgrade.json index cbe581acd2..0c363b01ea 100644 --- a/catalog-be/src/main/resources/scripts/sdcBePy/tosca/data/onapTypesToUpgrade.json +++ b/catalog-be/src/main/resources/scripts/sdcBePy/tosca/data/onapTypesToUpgrade.json @@ -1,9 +1,11 @@ { "nfv": [ - "allottedResource" + "allottedResource", + "NS", + "NsVirtualLink" ], "onap": [ ], "sol":[ ] -} \ No newline at end of file +} diff --git a/catalog-be/src/main/resources/scripts/sdcBePy/tosca/models/normativeTypesList.py b/catalog-be/src/main/resources/scripts/sdcBePy/tosca/models/normativeTypesList.py index 1ec08c97bf..46b8d9b5bc 100644 --- a/catalog-be/src/main/resources/scripts/sdcBePy/tosca/models/normativeTypesList.py +++ b/catalog-be/src/main/resources/scripts/sdcBePy/tosca/models/normativeTypesList.py @@ -90,7 +90,9 @@ def get_nfv(base_file_location="/"): "extZteCP", "extZteVDU", "extZteVL", + "NS", "NSD", + "NsVirtualLink", "VDU", "vduCompute", "Cp", -- 2.16.6