ARIA-275 Update NFV profile to csd04 This update was done according to: http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html
We resolved some inconsistencies of csd04 with the TOSCA spec, and within csd04 itself. Wherever we resolved such inconsistencies, we added a detailed comment describing our reasoning. Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/1e883c57 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/1e883c57 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/1e883c57 Branch: refs/heads/ARIA-278-Remove-core-tasks Commit: 1e883c57abb733b10e13f0b7005cf564886d3fb1 Parents: 22f6e9e Author: Avia Efrat <a...@gigaspaces.com> Authored: Sun Jun 4 22:11:10 2017 +0300 Committer: Avia Efrat <a...@gigaspaces.com> Committed: Mon Jun 12 22:24:04 2017 +0300 ---------------------------------------------------------------------- .../profiles/tosca-simple-1.0/artifacts.yaml | 8 +- .../profiles/tosca-simple-1.0/capabilities.yaml | 2 +- .../profiles/tosca-simple-1.0/data.yaml | 2 +- .../profiles/tosca-simple-1.0/groups.yaml | 2 +- .../profiles/tosca-simple-1.0/interfaces.yaml | 2 +- .../profiles/tosca-simple-1.0/nodes.yaml | 2 +- .../profiles/tosca-simple-1.0/policies.yaml | 10 +- .../tosca-simple-1.0/relationships.yaml | 2 +- .../tosca-simple-nfv-1.0/artifacts.yaml | 84 +++++ .../tosca-simple-nfv-1.0/capabilities.yaml | 99 ++---- .../profiles/tosca-simple-nfv-1.0/data.yaml | 305 ++++++++++++++--- .../profiles/tosca-simple-nfv-1.0/groups.yaml | 56 ---- .../profiles/tosca-simple-nfv-1.0/nodes.yaml | 323 ++++++++++++------- .../tosca-simple-nfv-1.0/relationships.yaml | 37 +-- .../tosca-simple-nfv-1.0.yaml | 2 +- 15 files changed, 604 insertions(+), 332 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/1e883c57/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml ---------------------------------------------------------------------- diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml index af99340..cfb0df5 100644 --- a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml +++ b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml @@ -17,7 +17,7 @@ artifact_types: tosca.artifacts.Root: _extensions: - shorthand_name: Root # ARIA NOTE: ommitted in the spec + shorthand_name: Root # ARIA NOTE: omitted in the spec type_qualified_name: tosca:Root specification: tosca-simple-1.0 specification_section: 5.3.1 @@ -41,7 +41,7 @@ artifact_types: tosca.artifacts.Deployment: _extensions: - shorthand_name: Deployment # ARIA NOTE: ommitted in the spec + shorthand_name: Deployment # ARIA NOTE: omitted in the spec type_qualified_name: tosca:Deployment specification: tosca-simple-1.0 specification_section: 5.3.3.1 @@ -67,7 +67,7 @@ artifact_types: tosca.artifacts.Deployment.Image.VM: _extensions: - shorthand_name: Deployment.VM # ARIA NOTE: ommitted in the spec + shorthand_name: Deployment.VM # ARIA NOTE: omitted in the spec type_qualified_name: tosca:Deployment.VM specification: tosca-simple-1.0 specification_section: 5.3.3.4 @@ -85,7 +85,7 @@ artifact_types: tosca.artifacts.Implementation: _extensions: - shorthand_name: Implementation # ARIA NOTE: ommitted in the spec + shorthand_name: Implementation # ARIA NOTE: omitted in the spec type_qualified_name: tosca:Implementation specification: tosca-simple-1.0 specification_section: 5.3.4.1 http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/1e883c57/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml ---------------------------------------------------------------------- diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml index 0b81a16..30abe10 100644 --- a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml +++ b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml @@ -17,7 +17,7 @@ capability_types: tosca.capabilities.Root: _extensions: - shorthand_name: Root # ARIA NOTE: ommitted in the spec + shorthand_name: Root # ARIA NOTE: omitted in the spec type_qualified_name: tosca:Root specification: tosca-simple-1.0 specification_section: 5.4.1 http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/1e883c57/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml ---------------------------------------------------------------------- diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml index 5210aa0..771a969 100644 --- a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml +++ b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml @@ -95,7 +95,7 @@ data_types: tosca.datatypes.Root: _extensions: - shorthand_name: Root # ARIA NOTE: ommitted in the spec + shorthand_name: Root # ARIA NOTE: omitted in the spec type_qualified_name: tosca:Root specification: tosca-simple-1.0 specification_section: 5.2.1 http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/1e883c57/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/groups.yaml ---------------------------------------------------------------------- diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/groups.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/groups.yaml index 31cfc55..66cc25f 100644 --- a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/groups.yaml +++ b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/groups.yaml @@ -17,7 +17,7 @@ group_types: tosca.groups.Root: _extensions: - shorthand_name: Root # ARIA NOTE: ommitted in the spec + shorthand_name: Root # ARIA NOTE: omitted in the spec type_qualified_name: tosca:Root specification: tosca-simple-1.0 specification_section: 5.9.1 http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/1e883c57/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/interfaces.yaml ---------------------------------------------------------------------- diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/interfaces.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/interfaces.yaml index 1e83ef9..473bd98 100644 --- a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/interfaces.yaml +++ b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/interfaces.yaml @@ -17,7 +17,7 @@ interface_types: tosca.interfaces.Root: _extensions: - shorthand_name: Root # ARIA NOTE: ommitted in the spec + shorthand_name: Root # ARIA NOTE: omitted in the spec type_qualified_name: tosca:Root specification: tosca-simple-1.0 specification_section: 5.7.3 http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/1e883c57/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/nodes.yaml ---------------------------------------------------------------------- diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/nodes.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/nodes.yaml index bb33b6f..1d2fe90 100644 --- a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/nodes.yaml +++ b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/nodes.yaml @@ -214,7 +214,7 @@ node_types: tosca.nodes.DBMS: _extensions: - shorthand_name: DBMS # ARIA NOTE: ommitted in the spec + shorthand_name: DBMS # ARIA NOTE: omitted in the spec type_qualified_name: tosca:DBMS specification: tosca-simple-1.0 specification_section: 5.8.6 http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/1e883c57/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/policies.yaml ---------------------------------------------------------------------- diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/policies.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/policies.yaml index 015d2b0..c65e38b 100644 --- a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/policies.yaml +++ b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/policies.yaml @@ -17,7 +17,7 @@ policy_types: tosca.policies.Root: _extensions: - shorthand_name: Root # ARIA NOTE: ommitted in the spec + shorthand_name: Root # ARIA NOTE: omitted in the spec type_qualified_name: tosca:Root specification: tosca-simple-1.0 specification_section: 5.10.1 @@ -27,7 +27,7 @@ policy_types: tosca.policies.Placement: _extensions: - shorthand_name: Placement # ARIA NOTE: ommitted in the spec + shorthand_name: Placement # ARIA NOTE: omitted in the spec type_qualified_name: tosca:Placement specification: tosca-simple-1.0 specification_section: 5.10.2 @@ -38,7 +38,7 @@ policy_types: tosca.policies.Scaling: _extensions: - shorthand_name: Scaling # ARIA NOTE: ommitted in the spec + shorthand_name: Scaling # ARIA NOTE: omitted in the spec type_qualified_name: tosca:Scaling specification: tosca-simple-1.0 specification_section: 5.10.3 @@ -49,7 +49,7 @@ policy_types: tosca.policies.Update: _extensions: - shorthand_name: Update # ARIA NOTE: ommitted in the spec + shorthand_name: Update # ARIA NOTE: omitted in the spec type_qualified_name: tosca:Update specification: tosca-simple-1.0 specification_section: 5.10.4 @@ -60,7 +60,7 @@ policy_types: tosca.policies.Performance: _extensions: - shorthand_name: Performance # ARIA NOTE: ommitted in the spec + shorthand_name: Performance # ARIA NOTE: omitted in the spec type_qualified_name: tosca:Performance specification: tosca-simple-1.0 specification_section: 5.10.5 http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/1e883c57/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/relationships.yaml ---------------------------------------------------------------------- diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/relationships.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/relationships.yaml index 6ea4d12..b9d3176 100644 --- a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/relationships.yaml +++ b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/relationships.yaml @@ -17,7 +17,7 @@ relationship_types: tosca.relationships.Root: _extensions: - shorthand_name: Root # ARIA NOTE: ommitted in the spec + shorthand_name: Root # ARIA NOTE: omitted in the spec type_qualified_name: tosca:Root specification: tosca-simple-1.0 specification_section: 5.6.1 http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/1e883c57/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/artifacts.yaml ---------------------------------------------------------------------- diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/artifacts.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/artifacts.yaml new file mode 100644 index 0000000..2427d9f --- /dev/null +++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/artifacts.yaml @@ -0,0 +1,84 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +artifact_types: + + tosca.artifacts.nfv.SwImage: + _extensions: + shorthand_name: SwImage + type_qualified_name: tosca:SwImage + specification: tosca-simple-nfv-1.0 + specification_section: 5.4.1 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896067' + derived_from: tosca.artifacts.Deployment.Image + properties: + name: + description: >- + Name of this software image. + type: string + required: true + version: + description: >- + Version of this software image. + type: string + required: true + checksum: + description: >- + Checksum of the software image file. + type: string + container_format: + description: >- + The container format describes the container file format in which software image is + provided. + type: string + required: true + disk_format: + description: >- + The disk format of a software image is the format of the underlying disk image. + type: string + required: true + min_disk: + description: >- + The minimal disk size requirement for this software image. + type: scalar-unit.size + required: true + min_ram: + description: >- + The minimal disk size requirement for this software image. + type: scalar-unit.size + required: false + size: # ARIA NOTE: section [5.4.1.1 Properties] calls this field 'Size' + description: >- + The size of this software image + type: scalar-unit.size + required: true + sw_image: + description: >- + A reference to the actual software image within VNF Package, or url. + type: string + required: true + operating_system: + description: >- + Identifies the operating system used in the software image. + type: string + required: false + supported _virtualization_enviroment: + description: >- + Identifies the virtualization environments (e.g. hypervisor) compatible with this software + image. + type: list + entry_schema: + type: string + required: false http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/1e883c57/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml ---------------------------------------------------------------------- diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml index 6bc6b67..7b6363f 100644 --- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml +++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml @@ -15,58 +15,13 @@ capability_types: - tosca.capabilities.Compute.Container.Architecture: - _extensions: - shorthand_name: Compute.Container.Architecture - type_qualified_name: tosca:Compute.Container.Architecture - specification: tosca-simple-nfv-1.0 - specification_section: 8.2.1 - specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#DEFN_TYPE_CAPABILITIES_CONTAINER' - description: >- - Enhance compute architecture capability that needs to be typically use for performance sensitive NFV workloads. - derived_from: tosca.capabilities.Container - properties: - mem_page_size: - description: >- - Describe page size of the VM: - - * small page size is typically 4KB - * large page size is typically 2MB - * any page size maps to system default - * custom MB value: sets TLB size to this specific value - type: string - # ARIA NOTE: seems wrong in the spec - #constraints: - # - [ normal, huge ] - cpu_allocation: - description: >- - Describes CPU allocation requirements like dedicated CPUs (cpu pinning), socket count, thread count, etc. - type: tosca.datatypes.compute.Container.Architecture.CPUAllocation - required: false - numa_node_count: - description: >- - Specifies the symmetric count of NUMA nodes to expose to the VM. vCPU and Memory equally split across this number of - NUMA. - - NOTE: the map of numa_nodes should not be specified. - type: integer - required: false - numa_nodes: - description: >- - Asymmetric allocation of vCPU and Memory across the specific NUMA nodes (CPU sockets and memory banks). - - NOTE: symmetric numa_node_count should not be specified. - type: map - entry_schema: tosca.datatypes.compute.Container.Architecture.NUMA - required: false - tosca.capabilities.nfv.VirtualBindable: _extensions: shorthand_name: VirtualBindable type_qualified_name: tosca:VirtualBindable specification: tosca-simple-nfv-1.0 - specification_section: 8.2.2 - specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc419290220' + specification_section: 5.5.1 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896069' description: >- A node type that includes the VirtualBindable capability indicates that it can be pointed by tosca.relationships.nfv.VirtualBindsTo relationship type. @@ -77,33 +32,39 @@ capability_types: shorthand_name: Metric type_qualified_name: tosca:Metric specification: tosca-simple-nfv-1.0 - specification_section: 8.2.3 - specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc418607874' + specification_section: 5.5.2 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896070' description: >- A node type that includes the Metric capability indicates that it can be monitored using an nfv.relationships.Monitor relationship type. derived_from: tosca.capabilities.Endpoint - tosca.capabilities.nfv.Forwarder: + tosca.capabilities.nfv.VirtualCompute: _extensions: - shorthand_name: Forwarder - type_qualified_name: tosca:Forwarder + shorthand_name: VirtualCompute + type_qualified_name: tosca:VirtualCompute specification: tosca-simple-nfv-1.0 - specification_section: 10.3.1 - specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714718' - description: >- - A node type that includes the Forwarder capability indicates that it can be pointed by tosca.relationships.nfv.FowardsTo - relationship type. + specification_section: 5.5.3 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896071' derived_from: tosca.capabilities.Root - - tosca.capabilities.nfv.VirtualLinkable: - _extensions: - shorthand_name: VirtualLinkable - type_qualified_name: tosca:VirtualLinkable - specification: tosca-simple-nfv-1.0 - specification_section: 11.3.1 - specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714735' - description: >- - A node type that includes the VirtualLinkable capability indicates that it can be pointed by - tosca.relationships.nfv.VirtualLinksTo relationship type. - derived_from: tosca.capabilities.Node + properties: + requested_additional_capabilities: + # ARIA NOTE: in section [5.5.3.1 Properties] the name of this property is + # "request_additional_capabilities", and its type is not a map, but + # tosca.datatypes.nfv.RequestedAdditionalCapability + description: >- + Describes additional capability for a particular VDU. + type: map + entry_schema: + type: tosca.datatypes.nfv.RequestedAdditionalCapability + required: false + virtual_memory: + description: >- + Describes virtual memory of the virtualized compute. + type: tosca.datatypes.nfv.VirtualMemory + required: true + virtual_cpu: + description: >- + Describes virtual CPU(s) of the virtualized compute. + type: tosca.datatypes.nfv.VirtualCpu + required: true http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/1e883c57/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml ---------------------------------------------------------------------- diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml index 89e3565..889dcf7 100644 --- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml +++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml @@ -15,77 +15,304 @@ data_types: - tosca.datatypes.compute.Container.Architecture.CPUAllocation: + tosca.datatypes.nfv.L2AddressData: + # TBD _extensions: - shorthand_name: Container.Architecture.CPUAllocation # seems to be a mistake in the spec; the norm is to add a "Container.Architecture." prefix - type_qualified_name: tosca:Container.Architecture.CPUAllocation + shorthand_name: L2AddressData + type_qualified_name: tosca:L2AddressData specification: tosca-simple-nfv-1.0 - specification_section: 8.3.1 + specification_section: 5.3.1 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896055' + + tosca.datatypes.nfv.L3AddressData: + _extensions: + shorthand_name: L3AddressData + type_qualified_name: tosca:L3AddressData + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.2 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896056' description: >- - Granular CPU allocation requirements for NFV workloads. + The L3AddressData type is a complex TOSCA data type used to describe L3AddressData information + element as defined in [ETSI GS NFV-IFA 011], it provides the information on the IP addresses + to be assigned to the connection point instantiated from the parent Connection Point + Descriptor. derived_from: tosca.datatypes.Root properties: - cpu_affinity: + ip_address_assignment: + description: >- + Specify if the address assignment is the responsibility of management and orchestration + function or not. If it is set to True, it is the management and orchestration function + responsibility. + type: boolean + required: true + floating_ip_activated: + description: Specify if the floating IP scheme is activated on the Connection Point or not. + type: boolean + required: true + ip_address_type: description: >- - Describes whether vCPU need to be pinned to dedicated CPU core or shared dynamically. + Define address type. The address type should be aligned with the address type supported by + the layer_protocol properties of the parent VnfExtCpd. type: string + required: false constraints: - - valid_values: [ shared, dedicated ] + - valid_values: [ ipv4, ipv6 ] + number_of_ip_address: + description: >- + Minimum number of IP addresses to be assigned. + type: integer required: false - thread_allocation: + + tosca.datatypes.nfv.AddressData: + _extensions: + shorthand_name: AddressData + type_qualified_name: tosca:AddressData + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.3 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896057' + description: >- + The AddressData type is a complex TOSCA data type used to describe AddressData information + element as defined in [ETSI GS NFV-IFA 011], it provides information on the addresses to be + assigned to the connection point(s) instantiated from a Connection Point Descriptor. + derived_from: tosca.datatypes.Root + properties: + address_type: description: >- - Describe thread allocation requirement. + Describes the type of the address to be assigned to the connection point instantiated from + the parent Connection Point Descriptor. The content type shall be aligned with the address + type supported by the layerProtocol property of the parent Connection Point Descriptor. type: string + required: true constraints: - - valid_values: [ avoid, isolate, separate, prefer ] + - valid_values: [ mac_address, ip_address ] + l2_address_data: + # Shall be present when the addressType is mac_address. + description: >- + Provides the information on the MAC addresses to be assigned to the connection point(s) + instantiated from the parent Connection Point Descriptor. + type: tosca.datatypes.nfv.L2AddressData # Empty in "GS NFV IFA011 V0.7.3" required: false - socket_count: + l3_address_data: + # Shall be present when the addressType is ip_address. description: >- - Number of CPU sockets. - type: integer + Provides the information on the IP addresses to be assigned to the connection point + instantiated from the parent Connection Point Descriptor. + type: tosca.datatypes.nfv.L3AddressData required: false - core_count: + + tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements: + _extensions: + shorthand_name: VirtualNetworkInterfaceRequirements + type_qualified_name: tosca:VirtualNetworkInterfaceRequirements + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.4 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896058' + description: >- + The VirtualNetworkInterfaceRequirements type is a complex TOSCA data type used to describe + VirtualNetworkInterfaceRequirements information element as defined in [ETSI GS NFV-IFA 011], + it provides the information to specify requirements on a virtual network interface realising the + CPs instantiated from this CPD. + derived_from: tosca.datatypes.Root + properties: + name: description: >- - Number of cores per socket. - type: integer + Provides a human readable name for the requirement. + type: string required: false - thread_count: + description: description: >- - Number of threads per core. - type: integer + Provides a human readable description for the requirement. + type: string required: false + support_mandatory: + description: >- + Indicates whether fulfilling the constraint is mandatory (TRUE) for successful operation + or desirable (FALSE). + type: boolean + required: false + requirement: + description: >- + Specifies a requirement such as the support of SR-IOV, a particular data plane + acceleration library, an API to be exposed by a NIC, etc. + type: string # ARIA NOTE: the spec says "not specified", but TOSCA requires a type + required: true - tosca.datatypes.compute.Container.Architecture.NUMA: + tosca.datatypes.nfv.ConnectivityType: _extensions: - shorthand_name: Container.Architecture.NUMA # ARIA NOTE: seems to be a mistake in the spec; the norm is to add a "Container.Architecture." prefix - type_qualified_name: tosca:Container.Architecture.NUMA + shorthand_name: ConnectivityType + type_qualified_name: tosca:ConnectivityType specification: tosca-simple-nfv-1.0 - specification_section: 8.3.2 - specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714697' + specification_section: 5.3.5 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896059' description: >- - Granular Non-Uniform Memory Access (NUMA) topology requirements for NFV workloads. + The TOSCA ConnectivityType type is a complex TOSCA data type used to describe ConnectivityType + information element as defined in [ETSI GS NFV-IFA 011]. derived_from: tosca.datatypes.Root properties: - id: + layer_protocol: description: >- - CPU socket identifier. - type: integer + Identifies the protocol this VL gives access to (ethernet, mpls, odu2, ipv4, ipv6, + pseudo_wire). + type: string + required: true constraints: - - greater_or_equal: 0 + - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ] + flow_pattern: + description: >- + Identifies the flow pattern of the connectivity (Line, Tree, Mesh). + type: string required: false - vcpus: + + tosca.datatypes.nfv.RequestedAdditionalCapability: + _extensions: + shorthand_name: RequestedAdditionalCapability + type_qualified_name: tosca:RequestedAdditionalCapability + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.6 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896060' + description: >- + RequestAdditionalCapability describes additional capability for a particular VDU. + derived_from: tosca.datatypes.Root + properties: + request_additional_capability_name: description: >- - List of specific host cpu numbers within a NUMA socket complex. - - TODO: need a new base type, with non-overlapping, positive value validation (exclusivity), + Identifies a requested additional capability for the VDU. + type: string + required: true + support_mandatory: + description: >- + Indicates whether the requested additional capability is mandatory for successful + operation. + type: string + required: true + min_requested_additional_capability_version: + description: >- + Identifies the minimum version of the requested additional capability. + type: string + required: false + preferred_requested_additional_capability_version: + description: >- + Identifies the preferred version of the requested additional capability. + type: string + required: false + target_performance_parameters: + description: >- + Identifies specific attributes, dependent on the requested additional capability type. type: map entry_schema: - type: integer + type: string + required: true + + tosca.datatypes.nfv.VirtualMemory: + _extensions: + shorthand_name: VirtualMemory + type_qualified_name: tosca:VirtualMemory + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.7 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896061' + description: >- + VirtualMemory describes virtual memory for a particular VDU. + derived_from: tosca.datatypes.Root + properties: + virtual_mem_size: + description: Amount of virtual memory. + type: scalar-unit.size + required: true + virtual_mem_oversubscription_policy: + description: >- + The memory core oversubscription policy in terms of virtual memory to physical memory on + the platform. The cardinality can be 0 during the allocation request, if no particular + value is requested. + type: string required: false - mem_size: + numa_enabled: description: >- - Size of memory allocated from this NUMA memory bank. - type: scalar-unit.size + It specifies the memory allocation to be cognisant of the relevant process/core + allocation. The cardinality can be 0 during the allocation request, if no particular value + is requested. + type: boolean + required: false + + tosca.datatypes.nfv.VirtualCpu: + _extensions: + shorthand_name: VirtualCpu + type_qualified_name: tosca:VirtualCpu + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.8 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896062' + description: >- + VirtualMemory describes virtual memory for a particular VDU. + derived_from: tosca.datatypes.Root + properties: + cpu_architecture: + description: >- + CPU architecture type. Examples are x86, ARM. + type: string + required: false + num_virtual_cpu: + description: >- + Number of virtual CPUs. + type: integer + required: true + virtual_cpu_clock: + description: >- + Minimum virtual CPU clock rate. + type: scalar-unit.frequency + required: false + virtual_cpu_oversubscription_policy: + description: >- + CPU core oversubscription policy. + type: string + required: false + virtual_cpu_pinning: + description: >- + The virtual CPU pinning configuration for the virtualized compute resource. + type: tosca.datatypes.nfv.VirtualCpuPinning + required: false + + tosca.datatypes.nfv.VirtualCpuPinning: + _extensions: + shorthand_name: VirtualCpuPinning + type_qualified_name: tosca:VirtualCpuPinning + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.9 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896064' + description: >- + VirtualCpuPinning describes CPU pinning configuration for a particular CPU. + derived_from: tosca.datatypes.Root + properties: + cpu_pinning_policy: + description: >- + Indicates the policy for CPU pinning. + type: string constraints: - - greater_or_equal: 0 MB + - valid_values: [ static, dynamic ] + required: false + cpu_pinning_map: + description: >- + If cpuPinningPolicy is defined as "static", the cpuPinningMap provides the map of pinning + virtual CPU cores to physical CPU cores/threads. + type: map + entry_schema: + type: string + required: false + + tosca.datatypes.nfv.VnfcConfigurableProperties: + _extensions: + shorthand_name: VnfcconfigurableProperties + type_qualified_name: tosca:VnfcconfigurableProperties + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.10 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896065' + # ARIA NOTE: description is mangled in spec + description: >- + VnfcConfigurableProperties describes additional configurable properties of a VNFC. + derived_from: tosca.datatypes.Root + properties: + additional_vnfc_configurable_properties: + description: >- + Describes additional configuration for VNFC. + type: map + entry_schema: + type: string required: false http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/1e883c57/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/groups.yaml ---------------------------------------------------------------------- diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/groups.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/groups.yaml deleted file mode 100644 index 5eb87c8..0000000 --- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/groups.yaml +++ /dev/null @@ -1,56 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -group_types: - - tosca.groups.nfv.VNFFG: - _extensions: - shorthand_name: VNFFG # ARIA NOTE: the spec must be mistaken here, says "VL" - type_qualified_name: tosca:VNFFG - specification: tosca-simple-nfv-1.0 - specification_section: 10.6.1 - specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714727' - description: >- - The NFV VNFFG group type represents a logical VNF forwarding graph entity as defined by [ETSI GS NFV-MAN 001 v1.1.1]. - derived_from: tosca.groups.Root - properties: - vendor: - description: >- - Specify the vendor generating this VNFFG. - type: string - version: - description: >- - Specify the identifier (e.g. name), version, and description of service this VNFFG is describing. - type: string - number_of_endpoints: - description: >- - Count of the external endpoints included in this VNFFG, to form an index. - type: integer - dependent_virtual_link: - description: >- - Reference to a list of VLD used in this Forwarding Graph. - type: list - entry_schema: string - connection_point: - description: >- - Reference to Connection Points forming the VNFFG. - type: list - entry_schema: string - constituent_vnfs: - description: >- - Reference to a list of VNFD used in this VNF Forwarding Graph. - type: list - entry_schema: string - members: [ tosca.nodes.nfv.FP ] http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/1e883c57/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml ---------------------------------------------------------------------- diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml index 0dfe38d..73f0ecd 100644 --- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml +++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml @@ -15,169 +15,246 @@ node_types: - tosca.nodes.nfv.VNF: + tosca.nodes.nfv.VDU.Compute: _extensions: - shorthand_name: VNF # ARIA NOTE: ommitted in the spec - type_qualified_name: tosca:VNF + shorthand_name: VDU.Compute + type_qualified_name: tosca:VDU.Compute specification: tosca-simple-nfv-1.0 - specification_section: 8.5.1 - specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc379455076' + specification_section: 5.9.2 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896079' description: >- - The NFV VNF Node Type represents a Virtual Network Function as defined by [ETSI GS NFV-MAN 001 v1.1.1]. It is the default - type that all other VNF Node Types derive from. This allows for all VNF nodes to have a consistent set of features for - modeling and management (e.g., consistent definitions for requirements, capabilities and lifecycle interfaces). - derived_from: tosca.nodes.Root + The TOSCA nfv.VDU.Compute node type represents the virtual compute part of a VDU entity which + it mainly describes the deployment and operational behavior of a VNF component (VNFC), as + defined by [ETSI NFV IFA011]. + derived_from: tosca.nodes.Compute properties: - id: + name: description: >- - ID of this VNF. + Human readable name of the VDU. type: string - vendor: + required: true + description: description: >- - Name of the vendor who generate this VNF. + Human readable description of the VDU. type: string - version: + required: true + boot_order: + description: >- + The key indicates the boot index (lowest index defines highest boot priority). + The Value references a descriptor from which a valid boot device is created e.g. + VirtualStorageDescriptor from which a VirtualStorage instance is created. If no boot order + is defined the default boot order defined in the VIM or NFVI shall be used. + type: list # ARIA NOTE: an explicit index (boot index) is unnecessary, contrary to IFA011 + entry_schema: + type: string + required: false + nfvi_constraints: + description: >- + Describes constraints on the NFVI for the VNFC instance(s) created from this VDU. + For example, aspects of a secure hosting environment for the VNFC instance that involve + additional entities or processes. More software images can be attached to the + virtualization container using virtual_storage. + type: list + entry_schema: + type: string + required: false + configurable_properties: description: >- - Version of the software for this VNF. + Describes the configurable properties of all VNFC instances based on this VDU. + type: map + entry_schema: + type: tosca.datatypes.nfv.VnfcConfigurableProperties + required: true + attributes: + # ARIA NOTE: The attributes are only described in section [5.9.2.5 Definition], but are not + # mentioned in section [5.9.2.2 Attributes]. Additionally, it does not seem to make sense to + # deprecate inherited attributes, as it breaks the inheritence contract. + private_address: type: string - requirements: - - virtual_link: - capability: tosca.capabilities.nfv.VirtualLinkable - relationship: tosca.relationships.nfv.VirtualLinksTo - - tosca.nodes.nfv.VDU: - _extensions: - shorthand_name: VDU - type_qualified_name: tosca:VDU - specification: tosca-simple-nfv-1.0 - specification_section: 8.5.2 - specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc419290242' - description: >- - The NFV vdu node type represents a logical vdu entity as defined by [ETSI GS NFV-MAN 001 v1.1.1]. - derived_from: tosca.nodes.Root + status: deprecated + public_address: + type: string + status: deprecated + networks: + type: map + entry_schema: + type: tosca.datatypes.network.NetworkInfo + status: deprecated + ports: + type: map + entry_schema: + type: tosca.datatypes.network.PortInfo + status: deprecated capabilities: - nfv_compute: - type: tosca.capabilities.Compute.Container.Architecture + virtual_compute: + description: >- + Describes virtual compute resources capabilities. + type: tosca.capabilities.nfv.VirtualCompute virtual_binding: + description: >- + Defines ability of VirtualBindable. type: tosca.capabilities.nfv.VirtualBindable monitoring_parameter: + # ARIA NOTE: commented out in 5.9.2.5 + description: >- + Monitoring parameter, which can be tracked for a VNFC based on this VDU. Examples include: + memory-consumption, CPU-utilisation, bandwidth-consumption, VNFC downtime, etc. type: tosca.capabilities.nfv.Metric + #requirements: + # ARIA NOTE: virtual_storage is TBD + + # ARIA NOTE: csd04 attempts to deprecate the inherited local_storage requirement, but this + # is not possible in TOSCA + artifacts: + sw_image: + description: >- + Describes the software image which is directly loaded on the virtualization container + realizing this virtual storage. + file: '' # ARIA NOTE: missing value even though it is required in TOSCA + type: tosca.artifacts.nfv.SwImage - tosca.nodes.nfv.CP: + tosca.nodes.nfv.VDU.VirtualStorage: _extensions: - shorthand_name: CP - type_qualified_name: tosca:CP + shorthand_name: VirtualStorage # ARIA NOTE: seems wrong in spec + type_qualified_name: tosca:VirtualStorage # ARIA NOTE: seems wrong in spec specification: tosca-simple-nfv-1.0 - specification_section: 8.5.3 - specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc419290245' + specification_section: 5.9.3 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896080' description: >- - The NFV CP node represents a logical connection point entity as defined by [ETSI GS NFV-MAN 001 v1.1.1]. A connection point - may be, for example, a virtual port, a virtual NIC address, a physical port, a physical NIC address or the endpoint of an IP - VPN enabling network connectivity. It is assumed that each type of connection point will be modeled using subtypes of the CP - type. - derived_from: tosca.nodes.network.Port + The NFV VirtualStorage node type represents a virtual storage entity which it describes the + deployment and operational behavior of a virtual storage resources, as defined by + [ETSI NFV IFA011]. + derived_from: tosca.nodes.Root properties: - type: + type_of_storage: description: >- - This may be, for example, a virtual port, a virtual NIC address, a SR-IOV port, a physical port, a physical NIC address - or the endpoint of an IP VPN enabling network connectivity. + Type of virtualized storage resource. type: string - anti_spoof_protection: + required: true + size_of_storage: description: >- - Indicates of whether anti-spoofing rule need to be enabled for this vNIC. This is applicable only when CP type is virtual - NIC (vPort). + Size of virtualized storage resource (in GB). + type: scalar-unit.size + required: true + rdma_enabled: + description: >- + Indicate if the storage support RDMA. type: boolean required: false - attributes: - address: + artifacts: + sw_image: description: >- - The actual virtual NIC address that is been assigned when instantiating the connection point. - type: string - requirements: - - virtual_link: - capability: tosca.capabilities.nfv.VirtualLinkable - relationship: tosca.relationships.nfv.VirtualLinksTo - - virtual_binding: - capability: tosca.capabilities.nfv.VirtualBindable - relationship: tosca.relationships.nfv.VirtualBindsTo + Describes the software image which is directly loaded on the virtualization container + realizing this virtual storage. + file: '' # ARIA NOTE: missing in spec + type: tosca.artifacts.nfv.SwImage - tosca.nodes.nfv.FP: + tosca.nodes.nfv.Cpd: _extensions: - shorthand_name: FP # ARIA NOTE: the spec must be mistaken here, says "VL" - type_qualified_name: tosca:FP + shorthand_name: Cpd + type_qualified_name: tosca:Cpd specification: tosca-simple-nfv-1.0 - specification_section: 10.5.1 - specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714722' + specification_section: 5.9.4 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896081' description: >- - The NFV FP node type represents a logical network forwarding path entity as defined by [ETSI GS NFV-MAN 001 v1.1.1]. + The TOSCA nfv.Cpd node represents network connectivity to a compute resource or a VL as defined + by [ETSI GS NFV-IFA 011]. This is an abstract type used as parent for the various Cpd types. derived_from: tosca.nodes.Root properties: - policy: + layer_protocol: description: >- - A policy or rule to apply to the NFP + Identifies which protocol the connection point uses for connectivity purposes. type: string + constraints: + - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ] required: false - requirements: - - forwarder: - capability: tosca.capabilities.nfv.Forwarder - - # - # Virtual link - # - - tosca.nodes.nfv.VL: - _extensions: - shorthand_name: VL - type_qualified_name: tosca:VL - specification: tosca-simple-nfv-1.0 - specification_section: 9.1 - specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc419290251' - description: >- - The NFV VL node type represents a logical virtual link entity as defined by [ETSI GS NFV-MAN 001 v1.1.1]. It is the default - type from which all other virtual link types derive. - derived_from: tosca.nodes.network.Network - properties: - vendor: + role: # Name in ETSI NFV IFA011 v0.7.3 cpRole description: >- - Vendor generating this VLD. + Identifies the role of the port in the context of the traffic flow patterns in the VNF or + parent NS. For example a VNF with a tree flow pattern within the VNF will have legal + cpRoles of ROOT and LEAF. type: string - capabilities: - virtual_linkable: - type: tosca.capabilities.nfv.VirtualLinkable - - tosca.nodes.nfv.VL.ELine: - _extensions: - shorthand_name: VL.ELine # ARIA NOTE: ommitted in the spec - type_qualified_name: tosca:VL.ELine - specification: tosca-simple-nfv-1.0 - specification_section: 9.2 - specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc419290256' - description: >- - The NFV VL.ELine node represents an E-Line virtual link entity. - derived_from: tosca.nodes.nfv.VL - capabilities: - virtual_linkable: - type: tosca.capabilities.nfv.VirtualLinkable - occurrences: [ 2, UNBOUNDED ] # ARIA NOTE: the spec is wrong here, must be a range + constraints: + - valid_values: [ root, leaf ] + required: false + description: + description: >- + Provides human-readable information on the purpose of the connection point + (e.g. connection point for control plane traffic). + type: string + required: false + address_data: + description: >- + Provides information on the addresses to be assigned to the connection point(s) instantiated + from this Connection Point Descriptor. + type: list + entry_schema: + type: tosca.datatypes.nfv.AddressData + required: false - tosca.nodes.nfv.VL.ELAN: + tosca.nodes.nfv.VduCpd: _extensions: - shorthand_name: VL.ELAN # ARIA NOTE: ommitted in the spec - type_qualified_name: tosca:VL.ELAN - specification: tosca-simple-nfv-1.0 - specification_section: 9.3 - specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc419290257' + shorthand_name: VduCpd + type_qualified_name: tosca:VduCpd + specification: tosca-simple-nfv-1.0 + specification_section: 5.9.5 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896082' description: >- - The NFV VL.ELan node represents an E-LAN virtual link entity. - derived_from: tosca.nodes.network.Network + The TOSCA nfv.VduCpd node type represents a type of TOSCA Cpd node and describes network + connectivity between a VNFC instance (based on this VDU) and an internal VL as defined by + [ETSI GS NFV-IFA 011]. + derived_from: tosca.nodes.nfv.Cpd + properties: + bitrate_requirement: + description: >- + Bitrate requirement on this connection point. + type: integer + required: false + virtual_network_interface_requirements: + description: >- + Specifies requirements on a virtual network interface realising the CPs instantiated from + this CPD. + type: list + entry_schema: + type: VirtualNetworkInterfaceRequirements + required: false + requirements: + # ARIA NOTE: seems to be a leftover from csd03 + # - virtual_link: + # description: Describes the requirements for linking to virtual link + # capability: tosca.capabilities.nfv.VirtualLinkable + # relationship: tosca.relationships.nfv.VirtualLinksTo + # node: tosca.nodes.nfv.VnfVirtualLinkDesc + - virtual_binding: + capability: tosca.capabilities.nfv.VirtualBindable + relationship: tosca.relationships.nfv.VirtualBindsTo + node: tosca.nodes.nfv.VDU.Compute # ARIA NOTE: seems wrong in spec - tosca.nodes.nfv.VL.ETree: + tosca.nodes.nfv.VnfVirtualLinkDesc: _extensions: - shorthand_name: VL.ETree # ARIA NOTE: ommitted in the spec - type_qualified_name: tosca:VL.ETree - specification: tosca-simple-nfv-1.0 - specification_section: 9.4 - specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc419290258' + shorthand_name: VnfVirtualLinkDesc + type_qualified_name: tosca:VnfVirtualLinkDesc + specification: tosca-simple-nfv-1.0 + specification_section: 5.9.6 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896083' description: >- - The NFV VL.ETree node represents an E-Tree virtual link entity. - derived_from: tosca.nodes.nfv.VL + The TOSCA nfv.VnfVirtualLinkDesc node type represents a logical internal virtual link as + defined by [ETSI GS NFV-IFA 011]. + derived_from: tosca.nodes.Root + properties: + connectivity_type: + description: >- + specifies the protocol exposed by the VL and the flow pattern supported by the VL. + type: tosca.datatypes.nfv.ConnectivityType + required: true + description: + description: >- + Provides human-readable information on the purpose of the VL (e.g. control plane traffic). + type: string + required: false + test_access: + description: >- + Test access facilities available on the VL (e.g. none, passive, monitoring, or active + (intrusive) loopbacks at endpoints. + type: string + required: false http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/1e883c57/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/relationships.yaml ---------------------------------------------------------------------- diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/relationships.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/relationships.yaml index b745735..4cf99a2 100644 --- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/relationships.yaml +++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/relationships.yaml @@ -20,45 +20,24 @@ relationship_types: shorthand_name: VirtualBindsTo type_qualified_name: tosca:VirtualBindsTo specification: tosca-simple-nfv-1.0 - specification_section: 8.4.1 - specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc419290234' + specification_section: 5.7.1 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896074' description: >- This relationship type represents an association relationship between VDU and CP node types. derived_from: tosca.relationships.DependsOn valid_target_types: [ tosca.capabilities.nfv.VirtualBindable ] + # ARIA NOTE: csd04 lacks the definition of tosca.relationships.nfv.Monitor (the derived_from and + # valid_target_types), so we are using the definition in csd03 section 8.4.2. tosca.relationships.nfv.Monitor: _extensions: shorthand_name: Monitor type_qualified_name: tosca:Monitor specification: tosca-simple-nfv-1.0 - specification_section: 8.4.2 - specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc418607880' + specification_section: 5.7.2 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896075' description: >- - This relationship type represents an association relationship to the Metric capability of VDU node types. + This relationship type represents an association relationship to the Metric capability of VDU + node types. derived_from: tosca.relationships.ConnectsTo valid_target_types: [ tosca.capabilities.nfv.Metric ] - - tosca.relationships.nfv.ForwardsTo: - _extensions: - shorthand_name: ForwardsTo - type_qualified_name: tosca:ForwardsTo - specification: tosca-simple-nfv-1.0 - specification_section: 10.4.1 - specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714720' - description: >- - This relationship type represents a traffic flow between two connection point node types. - derived_from: tosca.relationships.Root - valid_target_types: [ tosca.capabilities.nfv.Forwarder ] - - tosca.relationships.nfv.VirtualLinksTo: - _extensions: - shorthand_name: VirtualLinksTo - type_qualified_name: tosca:VirtualLinksTo - specification: tosca-simple-nfv-1.0 - specification_section: 11.4.1 - specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714737' - description: >- - This relationship type represents an association relationship between VNFs and VL node types. - derived_from: tosca.relationships.DependsOn - valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ] http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/1e883c57/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/tosca-simple-nfv-1.0.yaml ---------------------------------------------------------------------- diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/tosca-simple-nfv-1.0.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/tosca-simple-nfv-1.0.yaml index 911ff3b..764c739 100644 --- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/tosca-simple-nfv-1.0.yaml +++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/tosca-simple-nfv-1.0.yaml @@ -14,8 +14,8 @@ # limitations under the License. imports: + - artifacts.yaml - capabilities.yaml - data.yaml - - groups.yaml - nodes.yaml - relationships.yaml