Added Seed document for TOSCA 83/9383/1
authorAndrei Kojukhov <akojukhov@gmail.com>
Wed, 30 Aug 2017 10:26:49 +0000 (13:26 +0300)
committerAndrei Kojukhov <akojukhov@gmail.com>
Wed, 30 Aug 2017 10:26:49 +0000 (13:26 +0300)
Adding 5.a to VNF Req document

Issue-ID: VNFRQTS-42

Change-Id: I091485a4079c9057a1b7428e4d6c8359aed37cde
Signed-off-by: Andrei Kojukhov <akojukhov@gmail.com>
docs/Chapter5.rst
docs/Image1.png [new file with mode: 0644]
docs/Image2.png [new file with mode: 0644]

index 9484b95..5dbc6fe 100644 (file)
 a. TOSCA YAML
 =============
 
+
+Introduction
+-------------
+
+This reference document is the VNF TOSCA Template Requirements for
+OpenO, which provides recommendations and standards for building VNF
+TOSCA templates compatible with OpenO– initial implementations of
+Network Cloud. It has the following features:
+
+1. VNF TOSCA template designer supports GUI and CLI.
+
+2. VNF TOSCA template is aligned to the newest TOSCA protocol, “Working
+   Draft 04-Revision 06”.
+
+3. VNF TOSCA template supports EPA features, such as NUMA, Hyper
+   Threading, SRIOV, etc.
+
+Intended Audience
+-----------------
+
+This document is intended for persons developing VNF TOSCA templates
+that will be orchestrated by OpenO.
+
+Scope 
+------
+
+OpenO implementations of Network Cloud supports TOSCA Templates, also
+referred to as TOSCA in this document.
+
+OpenO requires the TOSCA Templates to follow a specific format. This
+document provides the mandatory, recommended, and optional requirements
+associated with this format.
+
+Overview 
+---------
+
+The document includes three charters to help the VNF vendors to use the
+VNF model design tools and understand the VNF package structure and VNF
+TOSCA templates.
+
+In the OPENO, VNF Package and VNFD template can be designed by manually
+or via model designer tools. VNF model designer tools can provide the
+GUI and CLI tools for the VNF vendor to develop the VNF Package and VNFD
+template.
+
+The VNF package structure is align to the NFV TOSCA protocol, and
+supports CSAR
+
+The VNFD and VNF package are all align to the NFV TOSCA protocol, which
+supports multiple TOSCA template yaml files, and also supports
+self-defined node or other extensions.
+
+NFV TOSCA Template
+------------------
+
+TOSCA templates supported by OPENO must follow the requirements
+enumerated in this section.
+
+TOSCA Introduction
+------------------
+
+TOSCA defines a Meta model for defining IT services. This Meta model
+defines both the structure of a service as well as how to manage it. A
+Topology Template (also referred to as the topology model of a service)
+defines the structure of a service. Plans define the process models that
+are used to create and terminate a service as well as to manage a
+service during its whole lifetime.
+
+A Topology Template consists of a set of Node Templates and Relationship
+Templates that together define the topology model of a service as a (not
+necessarily connected) directed graph. A node in this graph is
+represented by a *Node Template*. A Node Template specifies the
+occurrence of a Node Type as a component of a service. A *Node Type*
+defines the properties of such a component (via *Node Type Properties*)
+and the operations (via *Interfaces*) available to manipulate the
+component. Node Types are defined separately for reuse purposes and a
+Node Template references a Node Type and adds usage constraints, such as
+how many times the component can occur.
+
+|image1|
+Figure 1: Structural Elements of Service Template and their Relations 
+
+TOSCA Modeling Principles & Data Model
+--------------------------------------
+
+This section describing TOSCA modeling principles and data model for
+NFV, which shall be based on [TOSCA-1.0] and [TOSCA-Simple-Profile-YAML
+V1.0], or new type based on ETSI NFV requirements, etc.
+
+VNF Descriptor Template
+-----------------------
+
+The VNF Descriptor (VNFD) describes the topology of the VNF by means of
+ETSI NFV IFA011 [IFA011] terms such as VDUs, Connection Points, Virtual
+Links, External Connection Points, Scaling Aspects, Instantiation Levels
+and Deployment Flavours.
+
+The VNFD (VNF Descriptor) is read by both the NFVO and the VNFM. It
+represents the contract & interface of a VNF and ensures the
+interoperability across the NFV functional blocks.
+
+The main parts of the VNFD are the following:
+
+-  VNF topology: it is modeled in a cloud agnostic way using virtualized
+   containers and their connectivity. Virtual Deployment Units (VDU)
+   describe the capabilities of the virtualized containers, such as
+   virtual CPU, RAM, disks; their connectivity is modeled with VDU
+   Connection Point Descriptors (VduCpd), Virtual Link Descriptors (Vld)
+   and VNF External Connection Point Descriptors (VnfExternalCpd);
+
+-  VNF deployment aspects: they are described in one or more deployment
+   flavours, including instantiation levels, supported LCM operations,
+   VNF LCM operation configuration parameters, placement constraints
+   (affinity / antiaffinity), minimum and maximum VDU instance numbers,
+   and scaling aspect for horizontal scaling.
+
+The following table defines the TOSCA Type “derived from” values that
+SHALL be used when using the TOSCA Simple Profile for NFV version 1.0
+specification [TOSCA-Simple-Profile-NFV-v1.0] for NFV VNFD.
+
++-----------------------------------------+---------------------------------------+-----------------------+
+| **ETSI NFV Element**                    | **TOSCA VNFD**                        | **Derived from**      |
+|                                         |                                       |                       |
+| **[IFA011]**                            | **[TOSCA-Simple-Profile-NFV-v1.0]**   |                       |
++=========================================+=======================================+=======================+
+| VNF                                     | tosca.nodes.nfv.VNF                   | tosca.nodes.Root      |
++-----------------------------------------+---------------------------------------+-----------------------+
+| VDU                                     | tosca.nodes.nfv.VDU                   | tosca.nodes.Root      |
++-----------------------------------------+---------------------------------------+-----------------------+
+| Cpd (Connection Point)                  | tosca.nodes.nfv.Cpd                   | tosca.nodes.Root      |
++-----------------------------------------+---------------------------------------+-----------------------+
+| VduCpd (internal connection point)      | tosca.nodes.nfv.VduCpd                | tosca.nodes.nfv.Cpd   |
++-----------------------------------------+---------------------------------------+-----------------------+
+| VnfVirtualLinkDesc (Virtual Link)       | tosca.nodes.nfv.VnfVirtualLinkDesc    | tosca.nodes.Root      |
++-----------------------------------------+---------------------------------------+-----------------------+
+| VnfExtCpd (External Connection Point)   | tosca.nodes.nfv.VnfExtCpd             | tosca.nodes.Root      |
++-----------------------------------------+---------------------------------------+-----------------------+
+| Virtual Storage                         |                                       |                       |
++-----------------------------------------+---------------------------------------+-----------------------+
+| Virtual Compute                         |                                       |                       |
++-----------------------------------------+---------------------------------------+-----------------------+
+| Software Image                          |                                       |                       |
++-----------------------------------------+---------------------------------------+-----------------------+
+| Deployment Flavour                      |                                       |                       |
++-----------------------------------------+---------------------------------------+-----------------------+
+| Scaling Aspect                          |                                       |                       |
++-----------------------------------------+---------------------------------------+-----------------------+
+| Element Group                           |                                       |                       |
++-----------------------------------------+---------------------------------------+-----------------------+
+| Instantiation Level                     |                                       |                       |
++-----------------------------------------+---------------------------------------+-----------------------+
+
++--------------------------------------------------------------------+
+| +--------------------------------------------------------------+   |
+| | tosca\_definitions\_version: tosca\_simple\_yaml\_1\_0       |   |
+| |                                                              |   |
+| | description: VNFD TOSCA file demo                            |   |
+| |                                                              |   |
+| | imports:                                                     |   |
+| |                                                              |   |
+| | - TOSCA\_definition\_nfv\_1\_0.yaml                          |   |
+| |                                                              |   |
+| | - TOSCA\_definition\_nfv\_ext\_1\_0.yaml                     |   |
+| |                                                              |   |
+| | | **node\_types:                                             |   |
+| |   tosca.nodes.nfv.VNF.vOpenNAT:                              |   |
+| |   derived\_from:** tosca.nodes.nfv.VNF                       |   |
+| | | **requirements:                                            |   |
+| |   **- **sriov\_plane:                                        |   |
+| |   capability:** tosca.capabilities.nfv.VirtualLinkable       |   |
+| | | **node:** tosca.nodes.nfv.VnfVirtualLinkDesc               |   |
+| | | **relationship:** tosca.relationships.nfv.VirtualLinksTo   |   |
+| +--------------------------------------------------------------+   |
++====================================================================+
++--------------------------------------------------------------------+
+
+EPA Requirements
+----------------
+
+1. SR-IOV Passthrought
+
+Definitions of SRIOV\_Port are necessary if VDU supports SR-IOV. Here is
+an example.
+
++------------------------------------------------+
+| node\_templates:                               |
+|                                                |
+| vdu\_vNat:                                     |
+|                                                |
+| SRIOV\_Port:                                   |
+|                                                |
+| attributes:                                    |
+|                                                |
+| tosca\_name: SRIOV\_Port                       |
+|                                                |
+| properties:                                    |
+|                                                |
+| virtual\_network\_interface\_requirements:     |
+|                                                |
+| - name: sriov                                  |
+|                                                |
+| support\_mandatory: false                      |
+|                                                |
+| description: sriov                             |
+|                                                |
+| requirement:                                   |
+|                                                |
+| SRIOV: true                                    |
+|                                                |
+| role: root                                     |
+|                                                |
+| description: sriov port                        |
+|                                                |
+| layer\_protocol: ipv4                          |
+|                                                |
+| requirements:                                  |
+|                                                |
+| - virtual\_binding:                            |
+|                                                |
+| capability: virtual\_binding                   |
+|                                                |
+| node: vdu\_vNat                                |
+|                                                |
+| relationship:                                  |
+|                                                |
+| type: tosca.relationships.nfv.VirtualBindsTo   |
+|                                                |
+| - virtual\_link:                               |
+|                                                |
+| node: tosca.nodes.Root                         |
+|                                                |
+| type: tosca.nodes.nfv.VduCpd                   |
+|                                                |
+| substitution\_mappings:                        |
+|                                                |
+| requirements:                                  |
+|                                                |
+| sriov\_plane:                                  |
+|                                                |
+| - SRIOV\_Port                                  |
+|                                                |
+| - virtual\_link                                |
+|                                                |
+| node\_type: tosca.nodes.nfv.VNF.vOpenNAT       |
++------------------------------------------------+
+
+2. Hugepages
+
+Definitions of mem\_page\_size as one property shall be added to
+Properties and set the value to large if one VDU node supports
+huagepages. Here is an example.
+
++----------------------------------+
+| node\_templates:                 |
+|                                  |
+| vdu\_vNat:                       |
+|                                  |
+| Hugepages:                       |
+|                                  |
+| attributes:                      |
+|                                  |
+| tosca\_name: Huge\_pages\_demo   |
+|                                  |
+| properties:                      |
+|                                  |
+| mem\_page\_size:large            |
++==================================+
++----------------------------------+
+
+3. NUMA (CPU/Mem)
+
+Likewise, we shall add definitions of numa to
+requested\_additional\_capabilities if we wand VUD nodes to support
+NUMA. Here is an example.
+
++-------------------------------------------------+
+| topology\_template:                             |
+|                                                 |
+| node\_templates:                                |
+|                                                 |
+| vdu\_vNat:                                      |
+|                                                 |
+| capabilities:                                   |
+|                                                 |
+| virtual\_compute:                               |
+|                                                 |
+| properties:                                     |
+|                                                 |
+| virtual\_memory:                                |
+|                                                 |
+| numa\_enabled: true                             |
+|                                                 |
+| virtual\_mem\_size: 2 GB                        |
+|                                                 |
+| requested\_additional\_capabilities:            |
+|                                                 |
+| numa:                                           |
+|                                                 |
+| support\_mandatory: true                        |
+|                                                 |
+| requested\_additional\_capability\_name: numa   |
+|                                                 |
+| target\_performance\_parameters:                |
+|                                                 |
+| hw:numa\_nodes: "2"                             |
+|                                                 |
+| hw:numa\_cpus.0: "0,1"                          |
+|                                                 |
+| hw:numa\_mem.0: "1024"                          |
+|                                                 |
+| hw:numa\_cpus.1: "2,3,4,5"                      |
+|                                                 |
+| hw:numa\_mem.1: "1024"                          |
++-------------------------------------------------+
+
+4. Hyper-Theading
+
+Definitions of Hyper-Theading are necessary as one of
+requested\_additional\_capabilities of one VUD node if that node
+supports Hyper-Theading. Here is an example.
+
++-------------------------------------------------------------+
+| topology\_template:                                         |
+|                                                             |
+| node\_templates:                                            |
+|                                                             |
+| vdu\_vNat:                                                  |
+|                                                             |
+| capabilities:                                               |
+|                                                             |
+| virtual\_compute:                                           |
+|                                                             |
+| properties:                                                 |
+|                                                             |
+| virtual\_memory:                                            |
+|                                                             |
+| numa\_enabled: true                                         |
+|                                                             |
+| virtual\_mem\_size: 2 GB                                    |
+|                                                             |
+| requested\_additional\_capabilities:                        |
+|                                                             |
+| hyper\_threading:                                           |
+|                                                             |
+| support\_mandatory: true                                    |
+|                                                             |
+| requested\_additional\_capability\_name: hyper\_threading   |
+|                                                             |
+| target\_performance\_parameters:                            |
+|                                                             |
+| hw:cpu\_sockets : "2"                                       |
+|                                                             |
+| hw:cpu\_threads : "2"                                       |
+|                                                             |
+| hw:cpu\_cores : "2"                                         |
+|                                                             |
+| hw:cpu\_threads\_policy: "isolate"                          |
++-------------------------------------------------------------+
+
+5. OVS+DPDK
+
+Definitions of ovs\_dpdk are necessary as one of
+requested\_additional\_capabilities of one VUD node if that node
+supports dpdk. Here is an example.
+
++------------------------------------------------------+
+| topology\_template:                                  |
+|                                                      |
+| node\_templates:                                     |
+|                                                      |
+| vdu\_vNat:                                           |
+|                                                      |
+| capabilities:                                        |
+|                                                      |
+| virtual\_compute:                                    |
+|                                                      |
+| properties:                                          |
+|                                                      |
+| virtual\_memory:                                     |
+|                                                      |
+| numa\_enabled: true                                  |
+|                                                      |
+| virtual\_mem\_size: 2 GB                             |
+|                                                      |
+| requested\_additional\_capabilities:                 |
+|                                                      |
+| ovs\_dpdk:                                           |
+|                                                      |
+| support\_mandatory: true                             |
+|                                                      |
+| requested\_additional\_capability\_name: ovs\_dpdk   |
+|                                                      |
+| target\_performance\_parameters:                     |
+|                                                      |
+| sw:ovs\_dpdk: "true"                                 |
++------------------------------------------------------+
+
+NFV TOSCA Type Definition
+-------------------------
+
+tosca.capabilites.nfv.VirtualCompute
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
++---------------------------+-----------------------------------------+
+| **Shorthand Name**        | VirtualCompute                          |
++===========================+=========================================+
+| **Type Qualified Name**   | tosca: VirtualCompute                   |
++---------------------------+-----------------------------------------+
+| **Type URI**              | tosca.capabilities.nfv.VirtualCompute   |
++---------------------------+-----------------------------------------+
+| **derived from**          | tosca.nodes.Root                        |
++---------------------------+-----------------------------------------+
+
+Properties
+^^^^^^^^^^
+
++-------------------------------------+------------+-----------------------------------------------------+---------------+---------------------------------------------------------+
+| Name                                | Required   | Type                                                | Constraints   | Description                                             |
++=====================================+============+=====================================================+===============+=========================================================+
+| request\_additional\_capabilities   | No         | tosca.datatypes.nfv.RequestedAdditionalCapability   |               | Describes additional capability for a particular VDU.   |
++-------------------------------------+------------+-----------------------------------------------------+---------------+---------------------------------------------------------+
+| virtual\_memory                     | yes        | tosca.datatypes.nfv.VirtualMemory                   |               | Describes virtual memory of the virtualized compute     |
++-------------------------------------+------------+-----------------------------------------------------+---------------+---------------------------------------------------------+
+| virtual\_cpu                        | yes        | tosca.datatypes.nfv.VirtualCpu                      |               | Describes virtual CPU(s) of the virtualized compute.    |
++-------------------------------------+------------+-----------------------------------------------------+---------------+---------------------------------------------------------+
++-------------------------------------+------------+-----------------------------------------------------+---------------+---------------------------------------------------------+
+| name                                | yes        |                                                     |               |                                                         |
++-------------------------------------+------------+-----------------------------------------------------+---------------+---------------------------------------------------------+
+
+Definition
+^^^^^^^^^^
+
++-----------------------------------------------------------+
+| tosca.capabilities.nfv.VirtualCompute:                    |
+|                                                           |
+| derived\_from: tosca.capabilities.Root                    |
+|                                                           |
+| properties:                                               |
+|                                                           |
+| requested\_additional\_capabilities:                      |
+|                                                           |
+| type: map                                                 |
+|                                                           |
+| entry\_schema:                                            |
+|                                                           |
+| type: tosca.datatypes.nfv.RequestedAdditionalCapability   |
+|                                                           |
+| required: false                                           |
+|                                                           |
+| virtual\_memory:                                          |
+|                                                           |
+| type: tosca.datatypes.nfv.VirtualMemory                   |
+|                                                           |
+| required: true                                            |
+|                                                           |
+| virtual\_cpu:                                             |
+|                                                           |
+| type: tosca.datatypes.nfv.VirtualCpu                      |
+|                                                           |
+| required: true                                            |
++-----------------------------------------------------------+
+
+tosca.nodes.nfv.VDU.Compute
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The NFV Virtualization Deployment Unit (VDU) compute node type
+represents a VDU entity which it describes the deployment and
+operational behavior of a VNF component (VNFC), as defined by **[ETSI
+NFV IFA011].**
+
++-----------------------+-------------------------------+
+| Shorthand Name        | VDU.Compute                   |
++=======================+===============================+
+| Type Qualified Name   | tosca:VDU.Compute             |
++-----------------------+-------------------------------+
+| Type URI              | tosca.nodes.nfv.VDU.Compute   |
++-----------------------+-------------------------------+
+| derived\_from         | tosca.nodes.Compute           |
++-----------------------+-------------------------------+
+
+
+
+Attributes
+^^^^^^^^^^
+
+None
+
+
+Capabilities
+^^^^^^^^^^^^
+
++-------------------------+-------------------------------------------------+---------------+-----------------------------------------------------------------------------------------------------+
+| Name                    | Type                                            | Constraints   | Description                                                                                         |
++=========================+=================================================+===============+=====================================================================================================+
+| virtual\_compute        | tosca.capabilities.nfv.VirtualCompute           |               | Describes virtual compute resources capabilities.                                                   |
++-------------------------+-------------------------------------------------+---------------+-----------------------------------------------------------------------------------------------------+
+| monitoring\_parameter   | tosca.capabilities.nfv.Metric                   | None          | Monitoring parameter, which can be tracked for a VNFC based on this VDU                             |
+|                         |                                                 |               |                                                                                                     |
+|                         |                                                 |               | Examples include: memory-consumption, CPU-utilisation, bandwidth-consumption, VNFC downtime, etc.   |
++-------------------------+-------------------------------------------------+---------------+-----------------------------------------------------------------------------------------------------+
+| Virtual\_binding        | tosca.capabilities.nfv.VirtualBindable          |               | Defines ability of VirtualBindable                                                                  |
+|                         |                                                 |               |                                                                                                     |
+|                         | editor note: need to create a capability type   |               |                                                                                                     |
++-------------------------+-------------------------------------------------+---------------+-----------------------------------------------------------------------------------------------------+
+
+Definition
+^^^^^^^^^^
+
++-----------------------------------------------------------------------------------------------------+
+| tosca.nodes.nfv.VDU.Compute:                                                                        |
+|                                                                                                     |
+| derived\_from: tosca.nodes.Compute                                                                  |
+|                                                                                                     |
+| properties:                                                                                         |
+|                                                                                                     |
+| name:                                                                                               |
+|                                                                                                     |
+| type: string                                                                                        |
+|                                                                                                     |
+| required: true                                                                                      |
+|                                                                                                     |
+| description:                                                                                        |
+|                                                                                                     |
+| type: string                                                                                        |
+|                                                                                                     |
+| required: true                                                                                      |
+|                                                                                                     |
+| boot\_order:                                                                                        |
+|                                                                                                     |
+| type: list # explicit index (boot index) not necessary, contrary to IFA011                          |
+|                                                                                                     |
+| entry\_schema:                                                                                      |
+|                                                                                                     |
+| type: string                                                                                        |
+|                                                                                                     |
+| required: false                                                                                     |
+|                                                                                                     |
+| nfvi\_constraints:                                                                                  |
+|                                                                                                     |
+| type: list                                                                                          |
+|                                                                                                     |
+| entry\_schema:                                                                                      |
+|                                                                                                     |
+| type: string                                                                                        |
+|                                                                                                     |
+| required: false                                                                                     |
+|                                                                                                     |
+| configurable\_properties:                                                                           |
+|                                                                                                     |
+| type: map                                                                                           |
+|                                                                                                     |
+| entry\_schema:                                                                                      |
+|                                                                                                     |
+| type: tosca.datatypes.nfv.VnfcConfigurableProperties                                                |
+|                                                                                                     |
+| required: true                                                                                      |
+|                                                                                                     |
+| attributes:                                                                                         |
+|                                                                                                     |
+| private\_address:                                                                                   |
+|                                                                                                     |
+| status: deprecated                                                                                  |
+|                                                                                                     |
+| public\_address:                                                                                    |
+|                                                                                                     |
+| status: deprecated                                                                                  |
+|                                                                                                     |
+| networks:                                                                                           |
+|                                                                                                     |
+| status: deprecated                                                                                  |
+|                                                                                                     |
+| ports:                                                                                              |
+|                                                                                                     |
+| status: deprecated                                                                                  |
+|                                                                                                     |
+| capabilities:                                                                                       |
+|                                                                                                     |
+| virtual\_compute:                                                                                   |
+|                                                                                                     |
+| type: tosca.capabilities.nfv.VirtualCompute                                                         |
+|                                                                                                     |
+| virtual\_binding:                                                                                   |
+|                                                                                                     |
+| type: tosca.capabilities.nfv.VirtualBindable                                                        |
+|                                                                                                     |
+| #monitoring\_parameter:                                                                             |
+|                                                                                                     |
+| # modeled as ad hoc (named) capabilities in VDU node template                                       |
+|                                                                                                     |
+| # for example:                                                                                      |
+|                                                                                                     |
+| #capabilities:                                                                                      |
+|                                                                                                     |
+| # cpu\_load: tosca.capabilities.nfv.Metric                                                          |
+|                                                                                                     |
+| # memory\_usage: tosca.capabilities.nfv.Metric                                                      |
+|                                                                                                     |
+| host: #Editor note: FFS. How this capabilities should be used in NFV Profile                        |
+|                                                                                                     |
+| type: `*tosca.capabilities.Container* <#DEFN_TYPE_CAPABILITIES_CONTAINER>`__                        |
+|                                                                                                     |
+| valid\_source\_types: [`*tosca.nodes.SoftwareComponent* <#DEFN_TYPE_NODES_SOFTWARE_COMPONENT>`__]   |
+|                                                                                                     |
+| occurrences: [0,UNBOUNDED]                                                                          |
+|                                                                                                     |
+| endpoint:                                                                                           |
+|                                                                                                     |
+| occurrences: [0,0]                                                                                  |
+|                                                                                                     |
+| os:                                                                                                 |
+|                                                                                                     |
+| occurrences: [0,0]                                                                                  |
+|                                                                                                     |
+| scalable: #Editor note: FFS. How this capabilities should be used in NFV Profile                    |
+|                                                                                                     |
+| type: `*tosca.capabilities.Scalable* <#DEFN_TYPE_CAPABILITIES_SCALABLE>`__                          |
+|                                                                                                     |
+| binding:                                                                                            |
+|                                                                                                     |
+| occurrences: [0,UNBOUND]                                                                            |
+|                                                                                                     |
+| requirements:                                                                                       |
+|                                                                                                     |
+| - virtual\_storage:                                                                                 |
+|                                                                                                     |
+| capability: tosca.capabilities.nfv.VirtualStorage                                                   |
+|                                                                                                     |
+| relationship: tosca.relationships.nfv.VDU.AttachedTo                                                |
+|                                                                                                     |
+| node: tosca.nodes.nfv.VDU.VirtualStorage                                                            |
+|                                                                                                     |
+| occurences: [ 0, UNBOUNDED ]                                                                        |
+|                                                                                                     |
+| - local\_storage: #For NFV Profile, this requirement is deprecated.                                 |
+|                                                                                                     |
+| occurrences: [0,0]                                                                                  |
+|                                                                                                     |
+| artifacts:                                                                                          |
+|                                                                                                     |
+| - sw\_image:                                                                                        |
+|                                                                                                     |
+| file:                                                                                               |
+|                                                                                                     |
+| type: tosca.artifacts.nfv.SwImage                                                                   |
++-----------------------------------------------------------------------------------------------------+
+
+Artifact
+^^^^^^^^
++-----------+------------+-------------------------------+---------------+------------------------------------------------+
+| Name      | Required   | Type                          | Constraints   | Description                                    |                                                                         
++===========+============+===============================+===============+================================================+
+| SwImage   | Yes        | tosca.artifacts.nfv.SwImage   |               | Describes the software image which is          |
+|           |            |                               |               | directly realizing this virtual storage        |
++-----------+------------+-------------------------------+---------------+------------------------------------------------+
+
+
+|image2|
+
+
+
+tosca.nodes.nfv.Cpd
+~~~~~~~~~~~~~~~~~~~
+
+The TOSCA 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.
+
++-----------------------+-----------------------+
+| Shorthand Name        | Cpd                   |
++=======================+=======================+
+| Type Qualified Name   | tosca:Cpd             |
++-----------------------+-----------------------+
+| Type URI              | tosca.nodes.nfv.Cpd   |
++-----------------------+-----------------------+
+
+
+Attributes
+^^^^^^^^^^
+
++--------+------------+--------+---------------+---------------+
+| Name   | Required   | Type   | Constraints   | Description   |
++========+============+========+===============+===============+
++--------+------------+--------+---------------+---------------+
+
+Requirements
+^^^^^^^^^^^^
+
+None
+
+Capabilities
+^^^^^^^^^^^^
+
+None
+
+Definition
+^^^^^^^^^^
+
++----------------------------------------------------------------------+
+| tosca.nodes.nfv.Cpd:                                                 |
+|                                                                      |
+| derived\_from: tosca.nodes.Root                                      |
+|                                                                      |
+| properties:                                                          |
+|                                                                      |
+| layer\_protocol:                                                     |
+|                                                                      |
+| type:string                                                          |
+|                                                                      |
+| constraints:                                                         |
+|                                                                      |
+| - valid\_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo\_wire ]   |
+|                                                                      |
+| required:true                                                        |
+|                                                                      |
+| role: #Name in ETSI NFV IFA011 v0.7.3 cpRole                         |
+|                                                                      |
+| type:string                                                          |
+|                                                                      |
+| constraints:                                                         |
+|                                                                      |
+| - valid\_values: [ root, leaf ]                                      |
+|                                                                      |
+| required:flase                                                       |
+|                                                                      |
+| description:                                                         |
+|                                                                      |
+| type: string                                                         |
+|                                                                      |
+| required: false                                                      |
+|                                                                      |
+| address\_data:                                                       |
+|                                                                      |
+| type: list                                                           |
+|                                                                      |
+| entry\_schema:                                                       |
+|                                                                      |
+| type: tosca.datatype.nfv.AddressData                                 |
+|                                                                      |
+| required:false                                                       |
++----------------------------------------------------------------------+
+
+Additional Requirement
+^^^^^^^^^^^^^^^^^^^^^^
+
+None.
+
+tosca.nodes.nfv.VduCpd
+~~~~~~~~~~~~~~~~~~~~~~
+
+The TOSCA node VduCpd 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].
+
++-----------------------+--------------------------+
+| Shorthand Name        | VduCpd                   |
++=======================+==========================+
+| Type Qualified Name   | tosca: VduCpd            |
++-----------------------+--------------------------+
+| Type URI              | tosca.nodes.nfv.VduCpd   |
++-----------------------+--------------------------+
+
+Properties
+^^^^^^^^^^
+
+
++-------------------------------+------------+------------------------------------------+---------------+----------------------------------------------------------+
+| Name                          | Required   | Type                                     | Constraints   | Description                                              |                                
++===============================+============+==========================================+==========================================================================+
+| bitrate_requirement           | no         | integer                                  |               | Bitrate requirement on this connection point.            |                                
++-------------------------------+------------+------------------------------------------+---------------+----------------------------------------------------------+
+| virtual\_network\_interface_\ | no         | VirtualNetworkInterfaceRequirements      |               | Specifies requirements on a virtual network              |
+| requirements                  |            |                                          |               | realising the CPs instantiated from this CPD             | 
++-------------------------------+------------+------------------------------------------+---------------+----------------------------------------------------------+
+
+Attributes
+^^^^^^^^^^
+
+None
+
+Requirements
+^^^^^^^^^^^^
+
++--------------------+------------+------------------------------------------+---------------+----------------------------------------------------------+
+| Name               | Required   | Type                                     | Constraints   | Description                                              |
++====================+============+==========================================+===============+==========================================================+
+| virtual\_binding   | yes        | tosca.capabilities.nfv.VirtualBindable   |               | Describe the requirement for binding with VDU            |
++--------------------+------------+------------------------------------------+---------------+----------------------------------------------------------+
+| virtual\_link      | no         | tosca.capabilities.nfv.VirtualLinkable   |               | Describes the requirements for linking to virtual link   |
++--------------------+------------+------------------------------------------+---------------+----------------------------------------------------------+
+
+Definition
+^^^^^^^^^^
+
++----------------------------------------------------------------+
+| tosca.nodes.nfv.VduCpd:                                        |
+|                                                                |
+| derived\_from: tosca.nodes.nfv.Cpd                             |
+|                                                                |
+| properties:                                                    |
+|                                                                |
+| bitrate\_requirement:                                          |
+|                                                                |
+| type: integer                                                  |
+|                                                                |
+| required:false                                                 |
+|                                                                |
+| virtual\_network\_interface\_requirements                      |
+|                                                                |
+| type: list                                                     |
+|                                                                |
+| entry\_schema:                                                 |
+|                                                                |
+| type: VirtualNetworkInterfaceRequirements                      |
+|                                                                |
+| required:false                                                 |
+|                                                                |
+| requirements:                                                  |
+|                                                                |
+| - 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                                      |
++----------------------------------------------------------------+
+
+tosca.nodes.nfv.VDU.VirtualStorage
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+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].**
+
+**[editor note]** open issue: should NFV profile use the current storage
+model as described in YAML 1.1. Pending on Shitao proposal (see
+NFVIFA(17)000110 discussion paper)
+
+**[editor note]** new relationship type as suggested in Matt
+presentation. Slide 8. With specific rules of “valid\_target\_type”
+
++---------------------------+--------------------------------------+
+| **Shorthand Name**        | VirtualStorage                       |
++===========================+======================================+
+| **Type Qualified Name**   | tosca: VirtualStorage                |
++---------------------------+--------------------------------------+
+| **Type URI**              | tosca.nodes.nfv.VDU.VirtualStorage   |
++---------------------------+--------------------------------------+
+| **derived\_from**         | tosca.nodes.Root                     |
++---------------------------+--------------------------------------+
+
+tosca.artifacts.nfv.SwImage
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
++---------------------------+------------------------------------+
+| **Shorthand Name**        | SwImage                            |
++===========================+====================================+
+| **Type Qualified Name**   | tosca:SwImage                      |
++---------------------------+------------------------------------+
+| **Type URI**              | tosca.artifacts.nfv.SwImage        |
++---------------------------+------------------------------------+
+| **derived\_from**         | tosca.artifacts.Deployment.Image   |
++---------------------------+------------------------------------+
+
+Properties
+^^^^^^^^^^
+
++------------------------------------------+------------+--------------------+---------------+----------------------------------------------------------------------------------------------------+
+| Name                                     | Required   | Type               | Constraints   | Description                                                                                        |
++==========================================+============+====================+===============+====================================================================================================+
+| name                                     | yes        | string             |               | Name of this software image                                                                        |
++------------------------------------------+------------+--------------------+---------------+----------------------------------------------------------------------------------------------------+
+| version                                  | yes        | string             |               | Version of this software image                                                                     |
++------------------------------------------+------------+--------------------+---------------+----------------------------------------------------------------------------------------------------+
+| checksum                                 | yes        | string             |               | Checksum of the software image file                                                                |
++------------------------------------------+------------+--------------------+---------------+----------------------------------------------------------------------------------------------------+
+| container\_format                        | yes        | string             |               | The container format describes the container file format in which software image is provided.      |
++------------------------------------------+------------+--------------------+---------------+----------------------------------------------------------------------------------------------------+
+| disk\_format                             | yes        | string             |               | The disk format of a software image is the format of the underlying disk image                     |
++------------------------------------------+------------+--------------------+---------------+----------------------------------------------------------------------------------------------------+
+| min\_disk                                | yes        | scalar-unit.size   |               | The minimal disk size requirement for this software image.                                         |
++------------------------------------------+------------+--------------------+---------------+----------------------------------------------------------------------------------------------------+
+| min\_ram                                 | no         | scalar-unit.size   |               | The minimal RAM requirement for this software image.                                               |
++------------------------------------------+------------+--------------------+---------------+----------------------------------------------------------------------------------------------------+
+| Size                                     | yes        | scalar-unit.size   |               | The size of this software image                                                                    |
++------------------------------------------+------------+--------------------+---------------+----------------------------------------------------------------------------------------------------+
+| sw\_image                                | yes        | string             |               | A reference to the actual software image within VNF Package, or url.                               |
++------------------------------------------+------------+--------------------+---------------+----------------------------------------------------------------------------------------------------+
+| operating\_system                        | no         | string             |               | Identifies the operating system used in the software image.                                        |
++------------------------------------------+------------+--------------------+---------------+----------------------------------------------------------------------------------------------------+
+| supported \_virtualization\_enviroment   | no         | list               |               | Identifies the virtualization environments (e.g. hypervisor) compatible with this software image   |
++------------------------------------------+------------+--------------------+---------------+----------------------------------------------------------------------------------------------------+
+
+Definition
+^^^^^^^^^^
+
++-----------------------------------------------------+
+| tosca.artifacts.nfv.SwImage:                        |
+|                                                     |
+|   derived\_from: tosca.artifacts.Deployment.Image   |
+|                                                     |
+|   properties or metadata:                           |
+|                                                     |
+|     #id:                                            |
+|                                                     |
+|       # node name                                   |
+|                                                     |
+|     name:                                           |
+|                                                     |
+|       type: string                                  |
+|                                                     |
+| required: true                                      |
+|                                                     |
+|     version:                                        |
+|                                                     |
+|       type: string                                  |
+|                                                     |
+| required: true                                      |
+|                                                     |
+|     checksum:                                       |
+|                                                     |
+|       type: string                                  |
+|                                                     |
+| required: true                                      |
+|                                                     |
+|     container\_format:                              |
+|                                                     |
+|       type: string                                  |
+|                                                     |
+| required: true                                      |
+|                                                     |
+|     disk\_format:                                   |
+|                                                     |
+|       type: string                                  |
+|                                                     |
+| required: true                                      |
+|                                                     |
+|     min\_disk:                                      |
+|                                                     |
+|       type: scalar-unit.size # Number               |
+|                                                     |
+| required: true                                      |
+|                                                     |
+|     min\_ram:                                       |
+|                                                     |
+|       type: scalar-unit.size # Number               |
+|                                                     |
+| required: false                                     |
+|                                                     |
+|     size:                                           |
+|                                                     |
+|       type: scalar-unit.size # Number               |
+|                                                     |
+| required: true                                      |
+|                                                     |
+|     sw\_image:                                      |
+|                                                     |
+|       type: string                                  |
+|                                                     |
+| required: true                                      |
+|                                                     |
+|     operating\_system:                              |
+|                                                     |
+|       type: string                                  |
+|                                                     |
+| required: false                                     |
+|                                                     |
+|     supported\_virtualisation\_environments:        |
+|                                                     |
+|       type: list                                    |
+|                                                     |
+|       entry\_schema:                                |
+|                                                     |
+|         type: string                                |
+|                                                     |
+| required: false                                     |
++-----------------------------------------------------+
+
+vNAT Example
+------------
+
+openovnf\_\_vOpenNAT.yaml
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
++-------------------------------------------------------------+
+| imports:                                                    |
+|                                                             |
+| - openonfv\_\_tosca.capabilities.Scalable.yaml              |
+|                                                             |
+| - openonfv\_\_tosca.capabilities.nfv.Metric.yaml            |
+|                                                             |
+| - openonfv\_\_tosca.capabilities.network.Bindable.yaml      |
+|                                                             |
+| - openonfv\_\_tosca.capabilities.Attachment.yaml            |
+|                                                             |
+| - openonfv\_\_tosca.capabilities.nfv.VirtualBindable.yaml   |
+|                                                             |
+| - openonfv\_\_tosca.requirements.nfv.VirtualStorage.yaml    |
+|                                                             |
+| - openonfv\_\_tosca.nodes.nfv.VDU.VirtualStorage.yaml       |
+|                                                             |
+| - openonfv\_\_tosca.relationships.nfv.VirtualBindsTo.yaml   |
+|                                                             |
+| - openonfv\_\_tosca.nodes.nfv.VDU.Compute.yaml              |
+|                                                             |
+| - openonfv\_\_tosca.artifacts.nfv.SwImage.yaml              |
+|                                                             |
+| - openonfv\_\_tosca.capabilities.nfv.VirtualCompute.yaml    |
+|                                                             |
+| - openonfv\_\_tosca.capabilities.Container.yaml             |
+|                                                             |
+| - openonfv\_\_tosca.capabilities.nfv.VirtualStorage.yaml    |
+|                                                             |
+| - openonfv\_\_tosca.requirements.nfv.VirtualBinding.yaml    |
+|                                                             |
+| - openovnf\_\_tosca.nodes.nfv.VNF.vOpenNAT.yaml             |
+|                                                             |
+| - openonfv\_\_tosca.capabilities.Endpoint.Admin.yaml        |
+|                                                             |
+| - openonfv\_\_tosca.capabilities.OperatingSystem.yaml       |
+|                                                             |
+| - openonfv\_\_tosca.nodes.nfv.VduCpd.yaml                   |
+|                                                             |
+| - openonfv\_\_tosca.relationships.nfv.VDU.AttachedTo.yaml   |
+|                                                             |
+| metadata:                                                   |
+|                                                             |
+| vnfProductName: openNAT                                     |
+|                                                             |
+| vnfdVersion: 1.0.0                                          |
+|                                                             |
+| vnfProvider: intel                                          |
+|                                                             |
+| vnfmInfo: GVNFM                                             |
+|                                                             |
+| csarVersion: 1.0.0                                          |
+|                                                             |
+| vnfdId: openNAT-1.0                                         |
+|                                                             |
+| csarProvider: intel                                         |
+|                                                             |
+| vnfProductInfoDescription: openNAT                          |
+|                                                             |
+| version: 1.0.0                                              |
+|                                                             |
+| csarType: NFAR                                              |
+|                                                             |
+| vendor: intel                                               |
+|                                                             |
+| localizationLanguage: '[english, chinese]'                  |
+|                                                             |
+| id: openNAT-1.0                                             |
+|                                                             |
+| defaultLocalizationLanguage: english                        |
+|                                                             |
+| vnfProductInfoName: openNAT                                 |
+|                                                             |
+| vnfSoftwareVersion: 1.0.0                                   |
+|                                                             |
+| topology\_template:                                         |
+|                                                             |
+| node\_templates:                                            |
+|                                                             |
+| vdu\_vNat:                                                  |
+|                                                             |
+| artifacts:                                                  |
+|                                                             |
+| vNatVNFImage:                                               |
+|                                                             |
+| file: /swimages/xenial-snat.qcow2                           |
+|                                                             |
+| type: tosca.artifacts.nfv.SwImage                           |
+|                                                             |
+| properties:                                                 |
+|                                                             |
+| name: vNatVNFImage                                          |
+|                                                             |
+| version: "1.0"                                              |
+|                                                             |
+| checksum: "5000"                                            |
+|                                                             |
+| container\_format: bare                                     |
+|                                                             |
+| disk\_format: qcow2                                         |
+|                                                             |
+| min\_disk: 10 GB                                            |
+|                                                             |
+| min\_ram: 1 GB                                              |
+|                                                             |
+| size: 10 GB                                                 |
+|                                                             |
+| sw\_image: /swimages/xenial-snat.qcow2                      |
+|                                                             |
+| operating\_system: unbantu                                  |
+|                                                             |
+| attributes:                                                 |
+|                                                             |
+| tosca\_name: vdu\_vNat                                      |
+|                                                             |
+| capabilities:                                               |
+|                                                             |
+| virtual\_compute:                                           |
+|                                                             |
+| properties:                                                 |
+|                                                             |
+| virtual\_memory:                                            |
+|                                                             |
+| numa\_enabled: true                                         |
+|                                                             |
+| virtual\_mem\_size: 2 GB                                    |
+|                                                             |
+| requested\_additional\_capabilities:                        |
+|                                                             |
+| numa:                                                       |
+|                                                             |
+| support\_mandatory: true                                    |
+|                                                             |
+| requested\_additional\_capability\_name: numa               |
+|                                                             |
+| target\_performance\_parameters:                            |
+|                                                             |
+| hw:numa\_nodes: "2"                                         |
+|                                                             |
+| hw:numa\_cpus.0: "0,1"                                      |
+|                                                             |
+| hw:numa\_mem.0: "1024"                                      |
+|                                                             |
+| hw:numa\_cpus.1: "2,3,4,5"                                  |
+|                                                             |
+| hw:numa\_mem.1: "1024"                                      |
+|                                                             |
+| hyper\_threading:                                           |
+|                                                             |
+| support\_mandatory: true                                    |
+|                                                             |
+| requested\_additional\_capability\_name: hyper\_threading   |
+|                                                             |
+| target\_performance\_parameters:                            |
+|                                                             |
+| hw:cpu\_sockets : "2"                                       |
+|                                                             |
+| hw:cpu\_threads : "2"                                       |
+|                                                             |
+| hw:cpu\_cores : "2"                                         |
+|                                                             |
+| hw:cpu\_threads\_policy: "isolate"                          |
+|                                                             |
+| ovs\_dpdk:                                                  |
+|                                                             |
+| support\_mandatory: true                                    |
+|                                                             |
+| requested\_additional\_capability\_name: ovs\_dpdk          |
+|                                                             |
+| target\_performance\_parameters:                            |
+|                                                             |
+| sw:ovs\_dpdk: "true"                                        |
+|                                                             |
+| virtual\_cpu:                                               |
+|                                                             |
+| cpu\_architecture: X86                                      |
+|                                                             |
+| num\_virtual\_cpu: 2                                        |
+|                                                             |
+| properties:                                                 |
+|                                                             |
+| configurable\_properties:                                   |
+|                                                             |
+| test:                                                       |
+|                                                             |
+| additional\_vnfc\_configurable\_properties:                 |
+|                                                             |
+| aaa: 1                                                      |
+|                                                             |
+| name: vNat                                                  |
+|                                                             |
+| descrption: the virtual machine of vNat                     |
+|                                                             |
+| boot\_order:                                                |
+|                                                             |
+| - vNAT\_Storage                                             |
+|                                                             |
+| requirements:                                               |
+|                                                             |
+| - virtual\_storage:                                         |
+|                                                             |
+| capability: virtual\_storage                                |
+|                                                             |
+| node: vNAT\_Storage                                         |
+|                                                             |
+| relationship:                                               |
+|                                                             |
+| properties:                                                 |
+|                                                             |
+| location: /mnt/volume\_0                                    |
+|                                                             |
+| type: tosca.relationships.nfv.VDU.AttachedTo                |
+|                                                             |
+| - local\_storage:                                           |
+|                                                             |
+| node: tosca.nodes.Root                                      |
+|                                                             |
+| type: tosca.nodes.nfv.VDU.Compute                           |
+|                                                             |
+| SRIOV\_Port:                                                |
+|                                                             |
+| attributes:                                                 |
+|                                                             |
+| tosca\_name: SRIOV\_Port                                    |
+|                                                             |
+| properties:                                                 |
+|                                                             |
+| virtual\_network\_interface\_requirements:                  |
+|                                                             |
+| - name: sriov                                               |
+|                                                             |
+| support\_mandatory: false                                   |
+|                                                             |
+| description: sriov                                          |
+|                                                             |
+| requirement:                                                |
+|                                                             |
+| SRIOV: true                                                 |
+|                                                             |
+| role: root                                                  |
+|                                                             |
+| description: sriov port                                     |
+|                                                             |
+| layer\_protocol: ipv4                                       |
+|                                                             |
+| requirements:                                               |
+|                                                             |
+| - virtual\_binding:                                         |
+|                                                             |
+| capability: virtual\_binding                                |
+|                                                             |
+| node: vdu\_vNat                                             |
+|                                                             |
+| relationship:                                               |
+|                                                             |
+| type: tosca.relationships.nfv.VirtualBindsTo                |
+|                                                             |
+| - virtual\_link:                                            |
+|                                                             |
+| node: tosca.nodes.Root                                      |
+|                                                             |
+| type: tosca.nodes.nfv.VduCpd                                |
+|                                                             |
+| vNAT\_Storage:                                              |
+|                                                             |
+| attributes:                                                 |
+|                                                             |
+| tosca\_name: vNAT\_Storage                                  |
+|                                                             |
+| properties:                                                 |
+|                                                             |
+| id: vNAT\_Storage                                           |
+|                                                             |
+| size\_of\_storage: 10 GB                                    |
+|                                                             |
+| rdma\_enabled: false                                        |
+|                                                             |
+| type\_of\_storage: volume                                   |
+|                                                             |
+| type: tosca.nodes.nfv.VDU.VirtualStorage                    |
+|                                                             |
+| substitution\_mappings:                                     |
+|                                                             |
+| requirements:                                               |
+|                                                             |
+| sriov\_plane:                                               |
+|                                                             |
+| - SRIOV\_Port                                               |
+|                                                             |
+| - virtual\_link                                             |
+|                                                             |
+| node\_type: tosca.nodes.nfv.VNF.vOpenNAT                    |
+|                                                             |
+| tosca\_definitions\_version: tosca\_simple\_yaml\_1\_0      |
++-------------------------------------------------------------+
+
+openonfv\_\_tosca.nodes.nfv.VDU.VirtualStorage.yaml
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
++------------------------------------------------------------+
+| imports:                                                   |
+|                                                            |
+| - openonfv\_\_tosca.capabilities.nfv.VirtualStorage.yaml   |
+|                                                            |
+| node\_types:                                               |
+|                                                            |
+| tosca.nodes.nfv.VDU.VirtualStorage:                        |
+|                                                            |
+| capabilities:                                              |
+|                                                            |
+| virtual\_storage:                                          |
+|                                                            |
+| type: tosca.capabilities.nfv.VirtualStorage                |
+|                                                            |
+| derived\_from: tosca.nodes.Root                            |
+|                                                            |
+| properties:                                                |
+|                                                            |
+| id:                                                        |
+|                                                            |
+| type: string                                               |
+|                                                            |
+| size\_of\_storage:                                         |
+|                                                            |
+| type: string                                               |
+|                                                            |
+| rdma\_enabled:                                             |
+|                                                            |
+| required: false                                            |
+|                                                            |
+| type: boolean                                              |
+|                                                            |
+| type\_of\_storage:                                         |
+|                                                            |
+| type: string                                               |
+|                                                            |
+| tosca\_definitions\_version: tosca\_simple\_yaml\_1\_0     |
++------------------------------------------------------------+
+
+openonfv\_\_tosca.nodes.nfv.VduCpd.yaml
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
++-----------------------------------------------------------------+
+| data\_types:                                                    |
+|                                                                 |
+| tosca.datatypes.nfv.L3AddressData:                              |
+|                                                                 |
+| properties:                                                     |
+|                                                                 |
+| number\_of\_ip\_address:                                        |
+|                                                                 |
+| required: false                                                 |
+|                                                                 |
+| type: integer                                                   |
+|                                                                 |
+| ip\_address\_assignment:                                        |
+|                                                                 |
+| type: boolean                                                   |
+|                                                                 |
+| ip\_address\_type:                                              |
+|                                                                 |
+| constraints:                                                    |
+|                                                                 |
+| - valid\_values:                                                |
+|                                                                 |
+| - ipv4                                                          |
+|                                                                 |
+| - ipv6                                                          |
+|                                                                 |
+| required: false                                                 |
+|                                                                 |
+| type: string                                                    |
+|                                                                 |
+| floating\_ip\_activated:                                        |
+|                                                                 |
+| type: string                                                    |
+|                                                                 |
+| tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:        |
+|                                                                 |
+| properties:                                                     |
+|                                                                 |
+| name:                                                           |
+|                                                                 |
+| required: false                                                 |
+|                                                                 |
+| type: string                                                    |
+|                                                                 |
+| support\_mandatory:                                             |
+|                                                                 |
+| type: boolean                                                   |
+|                                                                 |
+| description:                                                    |
+|                                                                 |
+| required: false                                                 |
+|                                                                 |
+| type: string                                                    |
+|                                                                 |
+| requirement:                                                    |
+|                                                                 |
+| entry\_schema:                                                  |
+|                                                                 |
+| type: string                                                    |
+|                                                                 |
+| type: map                                                       |
+|                                                                 |
+| tosca.datatype.nfv.AddressData:                                 |
+|                                                                 |
+| properties:                                                     |
+|                                                                 |
+| address\_type:                                                  |
+|                                                                 |
+| constraints:                                                    |
+|                                                                 |
+| - valid\_values:                                                |
+|                                                                 |
+| - mac\_address                                                  |
+|                                                                 |
+| - ip\_address                                                   |
+|                                                                 |
+| type: string                                                    |
+|                                                                 |
+| l2\_address\_data:                                              |
+|                                                                 |
+| required: false                                                 |
+|                                                                 |
+| type: tosca.datatypes.nfv.L2AddressData                         |
+|                                                                 |
+| l3\_address\_data:                                              |
+|                                                                 |
+| required: false                                                 |
+|                                                                 |
+| type: tosca.datatypes.nfv.L3AddressData                         |
+|                                                                 |
+| tosca.datatypes.nfv.L2AddressData: {}                           |
+|                                                                 |
+| imports:                                                        |
+|                                                                 |
+| - openonfv\_\_tosca.requirements.nfv.VirtualBinding.yaml        |
+|                                                                 |
+| - openonfv\_\_tosca.requirements.nfv.VirtualBinding.yaml        |
+|                                                                 |
+| node\_types:                                                    |
+|                                                                 |
+| tosca.nodes.nfv.VduCpd:                                         |
+|                                                                 |
+| derived\_from: tosca.nodes.Root                                 |
+|                                                                 |
+| properties:                                                     |
+|                                                                 |
+| virtual\_network\_interface\_requirements:                      |
+|                                                                 |
+| entry\_schema:                                                  |
+|                                                                 |
+| type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements   |
+|                                                                 |
+| required: false                                                 |
+|                                                                 |
+| type: list                                                      |
+|                                                                 |
+| role:                                                           |
+|                                                                 |
+| constraints:                                                    |
+|                                                                 |
+| - valid\_values:                                                |
+|                                                                 |
+| - root                                                          |
+|                                                                 |
+| - leaf                                                          |
+|                                                                 |
+| required: false                                                 |
+|                                                                 |
+| type: string                                                    |
+|                                                                 |
+| bitrate\_requirement:                                           |
+|                                                                 |
+| required: false                                                 |
+|                                                                 |
+| type: integer                                                   |
+|                                                                 |
+| description:                                                    |
+|                                                                 |
+| required: false                                                 |
+|                                                                 |
+| type: string                                                    |
+|                                                                 |
+| layer\_protocol:                                                |
+|                                                                 |
+| constraints:                                                    |
+|                                                                 |
+| - valid\_values:                                                |
+|                                                                 |
+| - ethernet                                                      |
+|                                                                 |
+| - mpls                                                          |
+|                                                                 |
+| - odu2                                                          |
+|                                                                 |
+| - ipv4                                                          |
+|                                                                 |
+| - ipv6                                                          |
+|                                                                 |
+| - pseudo\_wire                                                  |
+|                                                                 |
+| type: string                                                    |
+|                                                                 |
+| address\_data:                                                  |
+|                                                                 |
+| entry\_schema:                                                  |
+|                                                                 |
+| type: tosca.datatype.nfv.AddressData                            |
+|                                                                 |
+| required: false                                                 |
+|                                                                 |
+| type: list                                                      |
+|                                                                 |
+| requirements:                                                   |
+|                                                                 |
+| - virtual\_binding:                                             |
+|                                                                 |
+| capability: tosca.capabilities.nfv.VirtualBindable              |
+|                                                                 |
+| occurrences:                                                    |
+|                                                                 |
+| - 0                                                             |
+|                                                                 |
+| - UNBOUNDED                                                     |
+|                                                                 |
+| - virtual\_link:                                                |
+|                                                                 |
+| capability: tosca.capabilities.nfv.VirtualBindable              |
+|                                                                 |
+| occurrences:                                                    |
+|                                                                 |
+| - 0                                                             |
+|                                                                 |
+| - UNBOUNDED                                                     |
+|                                                                 |
+| tosca\_definitions\_version: tosca\_simple\_yaml\_1\_0          |
++-----------------------------------------------------------------+
+
+.. |image1| image:: Image1.png
+   :width: 5.76806in
+   :height: 4.67161in
+.. |image2| image:: Image2.png
+   :width: 5.40486in
+   :height: 2.46042in
+
+
 b. Heat
 =======
 
diff --git a/docs/Image1.png b/docs/Image1.png
new file mode 100644 (file)
index 0000000..b671b19
Binary files /dev/null and b/docs/Image1.png differ
diff --git a/docs/Image2.png b/docs/Image2.png
new file mode 100644 (file)
index 0000000..65b9c8c
Binary files /dev/null and b/docs/Image2.png differ