summaryrefslogtreecommitdiffstats
path: root/docs/tosca2heat/examples/TOSCA_nfv_definition_1_0.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/tosca2heat/examples/TOSCA_nfv_definition_1_0.yaml')
-rw-r--r--docs/tosca2heat/examples/TOSCA_nfv_definition_1_0.yaml627
1 files changed, 0 insertions, 627 deletions
diff --git a/docs/tosca2heat/examples/TOSCA_nfv_definition_1_0.yaml b/docs/tosca2heat/examples/TOSCA_nfv_definition_1_0.yaml
deleted file mode 100644
index 432cee5..0000000
--- a/docs/tosca2heat/examples/TOSCA_nfv_definition_1_0.yaml
+++ /dev/null
@@ -1,627 +0,0 @@
-# Licensed :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.
-
-###########################################################################
-# The content of this file reflects TOSCA nfv Profile in YAML version
-# 1.0.0, which is derived from TOSCA Simple Profile. It describes the
-# definition for nfv TOSCA types including Node Type,
-# Relationship Type, Capability Type and Interfaces.
-###########################################################################
-tosca_definitions_version: tosca_simple_yaml_1_0
-
-metadata:
- template_name: tosca_simple_profile_for_nfv
- template_author: opnfv_parser_project
- template_version: tosca_simple_profile_for_nfv_1_0
-
-###########################################################################
-# Node Type.
-# A Node Type is a reusable entity that defines the type of one or more
-# Node Templates.
-###########################################################################
-node_types:
- tosca.nodes.nfv.VNF:
- derived_from: tosca.nodes.Root
- properties:
- id:
- type: string
- description: ID of this VNF
- vendor:
- type: string
- description: name of the vendor which provides this VNF
- version:
- type: version
- description: version of the software for this VNF
- requirements:
- - virtualLink:
- capability: tosca.capabilities.nfv.VirtualLinkable
-
- tosca.nodes.nfv.VDU:
- derived_from: tosca.nodes.SoftwareComponent
- properties:
- id:
- type: string
- required: true
- description: >
- A unique identifier of this VDU within the scope
- of the VNFD, including version functional
- description and other identification information.
- This will be used to refer to VDU when defining
- relationships between them.
- capabilities:
- high_availability:
- type: tosca.capabilities.nfv.HA
- virtualbinding:
- type: tosca.capabilities.nfv.VirtualBindable
- monitoring_parameter:
- type: tosca.capabilities.nfv.Metric
- requirements:
- - high_availability:
- capability: tosca.capabilities.nfv.HA
- relationship: tosca.relationships.nfv.HA
- occurrences: [ 0, 1 ]
- - host:
- capability: tosca.capabilities.Container
- node: tosca.nodes.Compute
- relationship: tosca.relationships.HostedOn
-
- tosca.nodes.nfv.CP:
- derived_from: tosca.nodes.Root
- properties:
- type:
- type: string
- required: false
- attributes:
- IP_address:
- type: string
- required: false
- requirements:
- - virtualLink:
- capability: tosca.capabilities.nfv.VirtualLinkable
- - virtualbinding:
- capability: tosca.capabilities.nfv.Virtualbindable
-
- tosca.nodes.nfv.VL:
- derived_from: tosca.nodes.Root
- properties:
- vendor:
- type: string
- required: true
- description: name of the vendor who generate this VL
- capabilities:
- virtual_linkable:
- type: tosca.capabilities.nfv.VirtualLinkable
-
- tosca.nodes.nfv.VL.ELine:
- derived_from: tosca.nodes.nfv.VL
- capabilities:
- virtual_linkable:
- occurrences: 2
-
- tosca.nodes.nfv.VL.ELAN:
- derived_from: tosca.nodes.nfv.VL
-
- tosca.nodes.nfv.VL.ETree:
- derived_from: tosca.nodes.nfv.VL
-
- tosca.nodes.nfv.FP:
- derived_from: tosca.nodes.Root
- properties:
- policy:
- type: string
- required: false
- description: name of the vendor who generate this VL
- requirements:
- - forwarder:
- capability: tosca.capabilities.nfv.Forwarder
-
-##########################################################################
-# Capability Type.
-# A Capability Type is a reusable entity that describes a kind of
-# capability that a Node Type can declare to expose.
-##########################################################################
-capability_types:
- tosca.capabilities.nfv.VirtualBindable:
- derived_from: tosca.capabilities.Root
-
- tosca.capabilities.nfv.HA:
- derived_from: tosca.capabilities.Root
- valid_source_types: [ tosca.nodes.nfv.VDU ]
-
- tosca.capabilities.nfv.HA.ActiveActive:
- derived_from: tosca.capabilities.nfv.HA
-
- tosca.capabilities.nfv.HA.ActivePassive:
- derived_from: tosca.capabilities.nfv.HA
-
- tosca.capabilities.nfv.Metric:
- derived_from: tosca.capabilities.Root
-
- tosca.capabilities.nfv.Forwarder:
- derived_from: tosca.capabilities.Root
-
- tosca.capabilities.nfv.VirtualLinkable:
- derived_from: tosca.capabilities.Root
-
- tosca.capabilities.nfv.CPU_extension:
- derived_from: tosca.capabilities.Root
- properties:
- cpu_instruction_set_extension:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- Instruction sets are often enhanced with
- instruction set extensions. This element
- represents instruction set extensions that the
- VDU has been developed, optimized or tested with
- cpu_model:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- The CPU model for which the VDU has been
- developed, compiled with CPU model specific
- optimisations, optimized or validated on.
- cpu_model_specification_binding:
- type: string
- required: false
- description: >
- VDUs may be developed, compiled, optimized
- or validated on particular CPU models. Some
- deployments may wish to permit the VDU to
- be deployed on a platform with the specified
- CPU only, or with an alternative CPU with the
- same architecture, instruction set, and if
- specified, instruction set extensions, or with a
- CPU of equivalent or greater capability.
- cpu_min_clock_speed:
- type: string
- required: false
- description: >
- The minimum CPU clock speed may be one of
- the elements that the development and
- validation of the VDU has been considered
- with. This may be in conjunction with some of
- the other CPU elements such as CPU Model.
- Requiring a minimum clock speed may be part
- of a deployment requirement necessary to
- help ensure particular performance or timing
- related characteristics are met in the
- deployment.
- cpu_core_reservation:
- type: string
- required: false
- description: >
- The number of CPU cores allocated to the
- VDU. This may be necessary to help ensure
- particular performance or timing related
- characteristics are met in the deployment.
- cpu_simultaneous_multi_threading_hw_thread_specification:
- type: string
- required: false
- description: >
- The use of Simultaneous Multi-Threading HW
- is an efficient way to increase the compute
- capacity of a platform. SMT HW threads share
- some CPU core resources. In some VDU
- implementations, it may be necessary to very
- explicitly control the HW thread allocation on a
- platform. This could be to help ensure locality
- in data caches or as a mechanism to enhance
- determinism.
- cpu_core_oversubscription_policy:
- type: string
- required: false
- description: >
- The VDU may co-exist on a platform with
- multiple VDUs or VMs and as such will be
- sharing CPU core resources available in the
- platform. It may be necessary to specify the
- CPU core oversubscription policy in terms of
- virtual cores to physical cores/threads on the
- platform. This policy could be based on
- required VDU deployment characteristics such
- as high performance, low latency, and /or
- deterministic behaviour.
- cpu_core_and_hw_thread_allocation_topology_policy:
- type: string
- required: false
- description: >
- The VDU may be designed to use a specific
- mapping of virtual CPUs to HW threads or
- cores with a specific allocation topology in
- order to ensure locality in data caches and
- maximize performance. The VDU will not
- specify which physical resources to use, but
- may specify if virtual CPUs shall be coupled
- together as HW threads belonging to the same
- core, or as belonging to the same processor.
- cpu_last_level_cache_size:
- type: scalar-unit.size
- required: false
- constraints:
- - greater_or_equal: 0 KB
- description: >
- The size of the last level cache may impact the
- performance of the VDU, particularly for cache
- intensive workloads.
- cpu_direct_io_access_to_cache:
- type: string
- required: false
- description: >
- The ability of an I/O device to have direct
- access to the CPU cache enables
- considerable memory access savings and for
- I/O intensive workloads can offer significant
- performance benefits.
- cpu_translation_look_aside_buffer_parameter:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- The Translation Look-aside Buffer (TLB) is a
- cache for address translation typically used by
- a hardware based memory management units.
- The Input/Output TLB (IOTLB) is a cache for
- address translation related to remapping
- hardware. The availability of a TLB and an
- IOTLB can significantly improve the
- performance of a virtual machine.
- A number of parameters of the TLBs impact
- the performance potential. These include:
- 1 TLB Size.
- 2 TLB Large Page Support.
- 3 IOTLB Size.
- 4 IOTLB Large Page Support.
- cpu_hot_add:
- type: boolean
- required: false
- description: >
- Hot add CPU is the ability to dynamically add
- CPUs to a running system. The new CPU can
- immediately replace a failing CPU via
- migration or be brought on-line later.
- cpu_support_accelerator:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- This capability refers to support by the CPU
- and associated chipsets of a data processing
- accelerator framework, together with its
- libraries and drivers.
-
- tosca.capabilities.nfv.Memory_extension:
- derived_from: tosca.capabilities.Root
- properties:
- memory_parameter:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- There are a number of memory related parameters that can have a
- significant impact on the performance and/or reliability of the VDU.
- These include:
- • Memory Type.
- • Memory Speed
- • Number of memory channels.
- • Size of available memory.
- • Reliability characteristics such as Memory Error Correction
- codes.
- • Memory oversubscription policy.
- • Memory bandwidth required per VDU.
- • Number of large pages required per VDU
- • Non-Uniform Memory Architecture (NUMA) Allocation Policy,
- i.e. in NUMA architecture how you specify memory allocation
- that is cognisant of the relevant process/core allocation. This
- applies also to allocation of huge pages.
- memory_hot_add:
- type: boolean
- required: false
- description: >
- Hot add memory is the ability to add physical memory while the system
- is running. Added memory can immediately replace failing memory via
- migration or be brought on-line later.
-
- tosca.capabilities.nfv.Hypervisors:
- derived_from: tosca.capabilities.Root
- properties:
- hypervisors:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- There are a number of hypervisor related parameters that can have a
- significant impact on the deployment and performance of the VDU.
- These include:
- • Hypervisor type
- • Hypervisor version as a VDU may be validated with a particular
- version.
- • Hypervisor Address Translation support parameters including:
- o Second Level Address Translation.
- o Second Level Address Translation with Large page
- support.
- o Second Level Address Translation for I/O.
- o Second Level Address Translation for I/O with Large page.
- support. Where "Large" is considered to be 1 GB or
- greater.
- o Support for interrupt remapping, i.e. supporting the IOMMU
- in the hypervisor.
- o Support of data processing acceleration libraries in the
- hypervisor, i.e. for acceleration libraries which require
- hypervisor support for high performance.
-
- tosca.capabilities.nfv.PCIe:
- derived_from: tosca.capabilities.Root
- properties:
- platform_pcie_parameter:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- There are a number of PCIe related parameters that can
- have a significant impact on the deployment and
- performance of the VDU. These include:
- • PCIe generational capabilities.
- • PCIe bandwidth.
- • PCIe Device Pass-through.
- • PCIe SR-IOV as the VDU may require that an SR-
- IOV virtual vunction from the specified PCIe
- device can be allocated to the VM.
- • PCIe Device Assignment Affinity. The VDU may
- require for performance reasons the ability to
- allocate a partitionable PCIe Device capability
- such as a NIC port, an entire NIC or a NIC virtual
- function to the VDU while also ensuring that the
- selected device is locally connected to the same
- processor.
- platform_pcie_parameter:
- type: string
- required: false
- description: >
- Detecting and reporting correctable and un-correctable
- (fatal and non-fatal) PCIe errors to software for error
- handling and remediation.
- platform_acceleration_device:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- The VDU may have been developed, optimized or
- tested with an acceleration device such as a crypto
- accelerator that may typically be accessed over a PCIe
- bus.
-
- tosca.capabilities.nfv.network.Interfaces:
- derived_from: tosca.capabilities.Root
- properties:
- network_interface_card_capability:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- The VDU may have been developed, optimized or
- tested with certain NIC capabilities to benefit items
- such as performance or scalability. These include:
- • TCP Large Segmentation Offload (LSO) for
- offload the segmentation of large TCP
- messages into MTU sized packets from the
- CPU to the NIC.
- • Large Receive Offload (LRO), i.e. the
- inverse of LSO by coalescing incoming
- TCP/IP packets into larger segments for
- processing in the CPU.
- • Checksum Offload.
- • Receive Side Scaling (RSS), for packet
- distribution between cores.
- • Flow Director, for more fine grained (than
- RSS) packet distribution between cores.
- • Mirroring of packets between interfaces.
- • Availability of Independent Rx/Tx queues for
- VM so that queue pairs in the NIC can be
- allocated to the VMs.
- • Jumbo Frame support.
- • VLAN tag stripping.
- • RDMA support.
- • SR-IOV support.
- • Data processing acceleration software
- library support, e.g. DPDK ® - see note.
- network_interface_bandwidth:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- The network speed/bandwidth to be guaranteed
- per requested NIC.
- data_processing_acceleration_library:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- Name and version of the data processing
- acceleration library used. Orchestration can match
- any NIC that is known to be compatible with the
- specified library
-
- tosca.capabilities.nfv.network.Virtual_switches:
- derived_from: tosca.capabilities.Root
- properties:
- vswitch_capability:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- The VDU may have been developed, optimized or tested with a
- particular vSwitch and may require specifying the vSwitch type, version
- and key features such as overlay tunnel termination support.
-
- tosca.capabilities.nfv.Storage:
- derived_from: tosca.capabilities.Root
- properties:
- storage_requirement:
- type: scalar-unit.size
- required: false
- constraints:
- - greater_or_equal: 0 MB
- description: >
- Required storage characteristics (e.g. size), including Key Quality
- Indicators (KQIs) for performance and reliability/availability.
- rdma_support_bandwitdh:
- type: integer
- required: false
- constraints:
- - greater_or_equal: 0
- description: >
- The VDU may have been developed, optimized or tested with a
- storage supporting RDMA over a given bandwidth.
-
-##########################################################################
-# Relationship Type.
-# A Relationship Type is a reusable entity that defines the type of one
-# or more relationships between Node Types or Node Templates.
-##########################################################################
-relationship_types:
- tosca.relationships.nfv.VirtualBindsTo:
- derived_from: tosca.relationships.ConnectsTo
- valid_target_types: [ tosca.capabilities.nfv.VirtualBindable ]
-
- tosca.relationships.nfv.HA:
- derived_from: tosca.relationships.Root
- valid_target_types: [ tosca.capabilities.nfv.HA ]
-
- tosca.relationships.nfv.Monitor:
- derived_from: tosca.relationships.ConnectsTo #???
- valid_target_types: [ tosca.capabilities.nfv.Metric ]
-
- tosca.relationships.nfv.ForwardsTo:
- derived_from: tosca.relationships.root
- valid_target_types: [ tosca.capabilities.nfv.Forwarder ]
-
- tosca.relationships.nfv.VirtualLinksTo:
- derived_from: tosca.relationships.ConnectsTo
- valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ]
-
-##########################################################################
- # groups Type.
- # as defined within the TOSCA nfv Simple Profile specification.
- # BWT:Not supported by tosca-parser currently, and will be added future.
-##########################################################################
-#group_types:
-# tosca.groups.nfv.VNFFG:
-# derived_from: tosca.groups.Root
-# properties:
-# vendor:
-# type: string
-# required: true
-# description: name of the vendor who generate this VNFFG
-# version:
-# type: string
-# required: true
-# description: version of this VNFFG
-# number_of_endpoints:
-# type: integer
-# required: true
-# description: count of the external endpoints included in this VNFFG
-# dependent_virtual_link:
-# type: list
-# description: Reference to a VLD used in this Forwarding Graph
-# required: true
-# entry_schema:
-# type: string
-# connection_point:
-# type: list
-# description: Reference to Connection Points forming the VNFFG
-# required: true
-# entry_schema:
-# type: string
-# constituent_vnfs:
-# type: list
-# description: Reference to a list of VNFD used in this VNF Forwarding Graph
-# required: true
-# entry_schema:
-# type: string
-# targets:
-# type: list
-# required: false
-# description: list of Network Forwarding Path within the VNFFG
-# entry_schema:
-# type: string
-# requirements:
-# - forwarder:
-# capability: tosca.capabilities.Forwarder
-
-#datatype_definitions:
-##########################################################################
- # Data Type. To be continue
- # A Datatype is a complex data type declaration which contains other
- # complex or simple data types.
- # BWT: will be added future.
-##########################################################################
-
-#tosca.datatypes.network.XX:
-# properties:
-# network_name:
-# type: string
-# network_id:
-# type: string
-# addresses:
-# type: list
-# entry_schema:
-# type: string
-
-#artifact_types:
-##########################################################################
- # Artifact Type.To be continue
- # An Artifact Type is a reusable entity that defines the type of one or more
- # files which Node Types or Node Templates can have dependent relationships
- # and used during operations such as during installation or deployment.
- # BWT: will be added future.
-##########################################################################
-#tosca.artifacts.File.XXX:
-# derived_from: tosca.artifacts.Root