summaryrefslogtreecommitdiffstats
path: root/docs/Chapter5/Tosca
diff options
context:
space:
mode:
Diffstat (limited to 'docs/Chapter5/Tosca')
-rw-r--r--docs/Chapter5/Tosca/Image1.pngbin0 -> 113795 bytes
-rw-r--r--docs/Chapter5/Tosca/Image2.pngbin0 -> 50746 bytes
-rwxr-xr-xdocs/Chapter5/Tosca/LCM_config.csv16
-rwxr-xr-xdocs/Chapter5/Tosca/NFV_data_type.csv34
-rw-r--r--docs/Chapter5/Tosca/ONAP HPA Requirements.rst240
-rw-r--r--docs/Chapter5/Tosca/ONAP NFV Tosca.rst422
-rw-r--r--docs/Chapter5/Tosca/ONAP Tosca Overview.rst105
-rw-r--r--docs/Chapter5/Tosca/ONAP Tosca PNF Descriptor.rst143
-rw-r--r--docs/Chapter5/Tosca/ONAP Tosca VNF Descriptor.rst252
-rw-r--r--docs/Chapter5/Tosca/ONAP VNF or PNF CSAR Package.rst275
-rwxr-xr-xdocs/Chapter5/Tosca/TOSCA_descriptor.csv42
-rw-r--r--docs/Chapter5/Tosca/index.rst17
12 files changed, 1546 insertions, 0 deletions
diff --git a/docs/Chapter5/Tosca/Image1.png b/docs/Chapter5/Tosca/Image1.png
new file mode 100644
index 0000000..b671b19
--- /dev/null
+++ b/docs/Chapter5/Tosca/Image1.png
Binary files differ
diff --git a/docs/Chapter5/Tosca/Image2.png b/docs/Chapter5/Tosca/Image2.png
new file mode 100644
index 0000000..65b9c8c
--- /dev/null
+++ b/docs/Chapter5/Tosca/Image2.png
Binary files differ
diff --git a/docs/Chapter5/Tosca/LCM_config.csv b/docs/Chapter5/Tosca/LCM_config.csv
new file mode 100755
index 0000000..5fdcebc
--- /dev/null
+++ b/docs/Chapter5/Tosca/LCM_config.csv
@@ -0,0 +1,16 @@
+"Info Element
+
+From ETSI GS NFV-IFA 011","Implementation in
+
+ETSI NFV-SOL001",Derived from,Description,Supported in ONAP Casablanca release
+VnfLcmOperationsConfiguration,tosca.datatypes.nfv.VnfLcmOperationsConfiguration,tosca.datatypes.Root,Represents information to configure lifecycle management operations. Each VNF LCM operation configuration represent as a container for all attributes that effect the invocation of the VNF Lifecycle Management operations ? see below per LCM operation,Y
+InstantiateVnfOpConfig,tosca.datatypes.nfv.VnfInstantiateOperationConfiguration,tosca.datatypes.Root,Represents information that affect the invocation of the InstantiateVnf operation,Y
+ScaleVnfOpConfig,tosca.datatypes.nfv.VnfScaleOperationConfiguration,tosca.datatypes.Root,Represents information that affect the invocation of the ScaleVnf operation,Y
+ScaleVnfToLevelOpConfig,tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration,tosca.datatypes.Root,Represents information that affect the invocation of the ScaleVnfToLevel operation,Y
+HealVnfOpConfig,tosca.datatypes.nfv.VnfHealOperationConfiguration,tosca.datatypes.Root,Represents information that affect the invocation of the HealVnf operation,Y
+TerminateVnfOpConfig,tosca.datatypes.nfv.VnfTerminateOperationConfiguration,tosca.datatypes.Root,Represents information that affect the invocation of the TerminateVnf,Y
+OperateVnfOpConfig,tosca.datatypes.nfv.VnfOperateOperationConfiguration,tosca.datatypes.Root,Represents information that affect the invocation of the OperateVnf operation,Y
+ChangeVnfFlavourOpConfig,tosca.datatypes.nfv.VnfChangeFlavourOperationConfiguration,tosca.datatypes.Root,Defines attributes for invocation of ChangeVnfFlavour operation,N
+ChangeExtVnfConnectivityOpConfig,tosca.datatypes.nfv.VnfExtConnectivityOperationConfiguration,tosca.datatypes.Root,"Defines attributes for invocation of ChangeExtVnfConnectivty operation.
+
+**Note**: External VNF connectivity is postponed to future ONAP releases.",N
diff --git a/docs/Chapter5/Tosca/NFV_data_type.csv b/docs/Chapter5/Tosca/NFV_data_type.csv
new file mode 100755
index 0000000..a8a42c6
--- /dev/null
+++ b/docs/Chapter5/Tosca/NFV_data_type.csv
@@ -0,0 +1,34 @@
+"Info Element
+From ETSI GS NFV-IFA 011","Implementation in
+ETSI NFV-SOL001",Derived from,Description,Supported in ONAP Casablanca release
+l2AddressData,tosca.datatype.nfv.L2AddressData,tosca.datatypes.Root,Describes the information on the MAC addresses to be assigned to the connection point(s) instantiated from the parent Connection Point Descriptor,Y
+L3AddressData,tosca.datatypes.nfv.L3AddressData,tosca.datatypes.Root,"A complex TOSCA data type describe L3AddressData information element, it provides the information on the IP addresses to be assigned to the connection point instantiated from the parent Connection Point Descriptor",Y
+AddressData,tosca.datatypes.nfv.AddressData,tosca.datatypes.Root,"A complex TOSCA data type describe AddressData information elemen, it provides information on the addresses to be assigned to the connection point(s) instantiated from a Connection Point",Y
+VirtualNetworkInterfaceRequirements,tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements,tosca.datatypes.Root,"A complex TOSCA data type describe VirtualNetworkInterfaceRequirements information element, it provides the information to specify requirements on a virtual network interface realizing the CPs instantiated from this CPD",Y
+ConnectivityType,tosca.datatypes.nfv.ConnectivityType,tosca.datatypes.Root,A complex TOSCA data type used to describe ConnectivityType information element,Y
+RequestedAdditionalCapabilityData,tosca.datatypes.nfv.RequestedAdditionalCapability,tosca.datatypes.Root,Describes additional capability for a particular VDU e.g. acceleration,Y
+VirtualMemoryData,tosca.datatypes.nfv.VirtualMemory,tosca.datatypes.Root,Describes virtual memory for virtualized compute descriptor,Y
+VirtualCpuData,tosca.datatypes.nfv.VirtualCpu,tosca.datatypes.Root,Describes virtual CPU (s) for virtualized compute descriptor,Y
+VirtualCpuPinning,tosca.datatypes.nfv.VirtualCpuPinning,tosca.datatypes.Root,Describes CPU pinning configuration for a particular CPU,Y
+VnfcConfigurableProperties,tosca.datatypes.nfv.VnfcConfigurableProperties,tosca.datatypes.Root,Describes additional configurable properties of a VNFC,Y
+VduProfile,tosca.datatypes.nfv.VduProfile,tosca.datatypes.Root,"Describes additional instantiation data for a given VDU used in the a specific deployment flavour.
+
+**Note**: Deployment flavour is not supported in Casablanca release.",N
+VirtualLinkProfile,tosca.datatypes.nfv.VlProfile,tosca.datatypes.Root,"Describes additional instantiation data for a given VL used in the a specific deployment flavour.
+
+**Note**: Deployment flavour is not supported in Casablanca release.",N
+InstantiationLevel,tosca.datatypes.nfv.InstantiationLevel,tosca.datatypes.Root,"Describes a given level of resources to be instantiated within a deployment flavour in term of the number VNFC instances to be created from each VDU.
+
+**Note**: Deployment flavour is not supported in Casablanca release.",N
+VduLevel,tosca.datatypes.nfv.VduLevel,tosca.datatypes.Root,Indicates for a given VDU in a given level the number of instances to deploy,Y
+ScaleInfo,tosca.datatypes.nfv.ScaleInfo,tosca.datatypes.Root,Indicates for a given Scaling Aspect the corresponding Scaling Level,Y
+Inject File,tosca.datatypes.nfv.injectFile,tosca.datatypes.Root,**Note**: ONAP extension used for vCPE use case,Y
+Scaling Aspect,tosca.datatypes.nfv.ScalingAspect,tosca.datatypes.Root,,Y
+Link Bit Rate Requirements,tosca.datatypes.nfv.LinkBitRateRequirements,tosca.datatypes.Root,,Y
+Quality of service data (loss ratio etc.),tosca.datatypes.nfv.Qos,tosca.datatypes.Root,,Y
+Connection point protocol,tosca.datatypes.nfv.CpProtocolData,tosca.datatypes.Root,,Y
+VNF Configurable Properties,tosca.datatypes.nfv.VnfConfigurableProperties,tosca.datatypes.Root,,Y
+VNF Additional Configurable Properties,tosca.datatypes.nfv.VnfAdditionalConfigurableProperties,tosca.datatypes.Root,,Y?
+VnfInfo Modifiable Attributes,tosca.datatypes.nfv.VnfInfoModifiableAttributes,tosca.datatypes.Root,,Y
+VnfInfo Modifiable Attributes Extension,tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions,tosca.datatypes.Root,,Y
+VnfInfo Modifiable Attributes Metadata,tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata,tosca.datatypes.Root,,Y
diff --git a/docs/Chapter5/Tosca/ONAP HPA Requirements.rst b/docs/Chapter5/Tosca/ONAP HPA Requirements.rst
new file mode 100644
index 0000000..d73bc6f
--- /dev/null
+++ b/docs/Chapter5/Tosca/ONAP HPA Requirements.rst
@@ -0,0 +1,240 @@
+.. Modifications Copyright © 2017-2018 AT&T Intellectual Property.
+
+.. Licensed under the Creative Commons License, Attribution 4.0 Intl.
+ (the "License"); you may not use this documentation except in compliance
+ with the License. You may obtain a copy of the License at
+
+.. https://creativecommons.org/licenses/by/4.0/
+
+.. Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+HPA Requirements
+-----------------
+
+1. SR-IOV Passthrought
+
+Definitions of SRIOV_Port are necessary if VDU supports SR-IOV. Here is
+an example.
+
+.. code-block:: yaml
+
+ 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.
+
+.. code-block:: yaml
+
+ 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.
+
+.. code-block:: yaml
+
+ 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.
+
+.. code-block:: yaml
+
+ 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.
+
+.. code-block:: yaml
+
+ 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"
+
+
diff --git a/docs/Chapter5/Tosca/ONAP NFV Tosca.rst b/docs/Chapter5/Tosca/ONAP NFV Tosca.rst
new file mode 100644
index 0000000..527b00f
--- /dev/null
+++ b/docs/Chapter5/Tosca/ONAP NFV Tosca.rst
@@ -0,0 +1,422 @@
+.. Modifications Copyright © 2017-2018 AT&T Intellectual Property.
+
+.. Licensed under the Creative Commons License, Attribution 4.0 Intl.
+ (the "License"); you may not use this documentation except in compliance
+ with the License. You may obtain a copy of the License at
+
+.. https://creativecommons.org/licenses/by/4.0/
+
+.. Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+NFV TOSCA Type Definition
+-------------------------
+
+tosca.capabilites.nfv.VirtualCompute
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This capability is used with the properties specified in ETSI SOL001 draft.
+
+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\ | tosca.\ | | Describes virtual compute |
+| _compute | capabilities.nfv.\ | | resources capabilities. |
+| | VirtualCompute | | |
++------------+--------------------+------------+------------------------------+
+| monitoring\| tosca.\ | None | Monitoring parameter, which |
+| _parameter | capabilities.nfv.\ | | can be tracked for a VNFC |
+| | Metric | | based on this VDU |
+| | | | |
+| | | | Examples include: |
+| | | | memory-consumption, |
+| | | | CPU-utilisation, |
+| | | | bandwidth-consumption, VNFC |
+| | | | downtime, etc. |
++------------+--------------------+------------+------------------------------+
+| Virtual\ | tosca.\ | | Defines ability of |
+| _binding | capabilities.nfv.\ | | VirtualBindable |
+| | VirtualBindable | | |
+| | | | |
+| | editor note: need | | |
+| | to create a | | |
+| | capability type | | |
++------------+--------------------+------------+------------------------------+
+
+
+
+Definition
+~~~~~~~~~~
+
+.. code-block:: yaml
+
+ 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*
+
+ valid_source_types:
+ [*tosca.nodes.SoftwareComponent*]
+
+ 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*
+
+ 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
+~~~~~~~~~~
+
+Note: currently not supported.
+
++--------+---------+----------------+------------+------------------------+
+| Name | Required| Type | Constraints| Description |
++========+=========+================+============+========================+
+| SwImage| Yes | tosca.\ | | Describes the software |
+| | | artifacts.nfv.\| | image which is directly|
+| | | SwImage | | realizing this virtual |
+| | | | | storage |
++--------+---------+----------------+------------+------------------------+
+
+
+|image2|
+
+
+
+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\ | yes | string | | The container format |
+| _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-\ | | The minimal disk size |
+| | | unit.size| | requirement for this |
+| | | | | software image. |
++-----------------+---------+----------+------------+-------------------------+
+| min\_ram | no | scalar-\ | | The minimal RAM |
+| | | unit.size| | requirement for this |
+| | | | | software image. |
++-----------------+---------+----------+------------+-------------------------+
+| Size | yes | scalar-\ | | The size of this |
+| | | unit.size| | software image |
++-----------------+---------+----------+------------+-------------------------+
+| sw\_image | yes | string | | A reference to the |
+| | | | | actual software image |
+| | | | | within VNF Package, or |
+| | | | | url. |
++-----------------+---------+----------+------------+-------------------------+
+| operating\ | no | string | | Identifies the operating|
+| _system | | | | system used in the |
+| | | | | software image. |
++-----------------+---------+----------+------------+-------------------------+
+| supported\ | no | list | | Identifies the |
+| _virtualization\| | | | virtualization |
+| _enviroment | | | | environments (e.g. |
+| | | | | hypervisor) compatible |
+| | | | | with this software image|
++-----------------+---------+----------+------------+-------------------------+
+
+
+Definition
+~~~~~~~~~~
+
+.. code-block:: yaml
+
+ 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
+
+
+
+.. |image2| image:: Image2.png
+ :scale: 100%
diff --git a/docs/Chapter5/Tosca/ONAP Tosca Overview.rst b/docs/Chapter5/Tosca/ONAP Tosca Overview.rst
new file mode 100644
index 0000000..892e502
--- /dev/null
+++ b/docs/Chapter5/Tosca/ONAP Tosca Overview.rst
@@ -0,0 +1,105 @@
+.. Modifications Copyright © 2017-2018 AT&T Intellectual Property.
+
+.. Licensed under the Creative Commons License, Attribution 4.0 Intl.
+ (the "License"); you may not use this documentation except in compliance
+ with the License. You may obtain a copy of the License at
+
+.. https://creativecommons.org/licenses/by/4.0/
+
+.. Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+Introduction
+------------
+
+The following sub-clauses describe the numbered requirements for VNF
+Descriptor (VNFD) and PNF Descriptor (PNFD) or in other words the VNF/PNF
+Service Template based on the most updated draft of ETSI NFV-SOL001 standard
+for VNF/PNF Descriptor. The ETSI standard specifies a NFV specific data
+model using TOSCA/YAML data model constructs specified in TOSCA Simple
+Profile in YAML v.1.2.
+
+The requirements for TOSCA/CSAR based VNF/PNF package are described as well
+and they are based on ETSI NFV-SOL004 standard.
+
+References
+^^^^^^^^^^
+
+ 1. ETSI GS NFV-SOL001 v.2.5.1
+ 2. TOSCA SIMPLE Profile in YAML v.1.2
+ 3. ETSI GS NFV-SOL004 v.2.6.1 + NFV CR NFVSOL(18)000746r3.
+
+Intended Audience
+^^^^^^^^^^^^^^^^^
+
+This document is intended for developers of VNF TOSCA templates that
+will be orchestrated by ONAP. The document is also applicable for
+creating RFP’s with the list of required TOSCA/YAML features
+supported by VNF provider.
+
+Scope
+^^^^^
+
+ONAP implementations of Network Cloud supports TOSCA Templates, also
+referred to as TOSCA in this document.
+
+ONAP 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 or PNF providers to
+use the VNF or PNF model design tools and understand the VNF or PNF package
+structure and VNF or PNF TOSCA templates.
+
+In the ONAP, VNF or PNF Package and VNFD or PNFD template can be designed by
+manually or via model designer tools. VNF or PNF model designer tools can
+provide the GUI and CLI tools for the VNF or PNF provider to develop the
+VNF or PNF Package and VNFD or PNFD template.
+
+The VNF or PNF package structure is align to the NFV TOSCA protocol,
+and supports CSAR
+
+The VNFD or PNFD and VNF or PNF 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.
+
+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.
+
+.. |image1| image:: Image1.png
+ :scale: 100%
diff --git a/docs/Chapter5/Tosca/ONAP Tosca PNF Descriptor.rst b/docs/Chapter5/Tosca/ONAP Tosca PNF Descriptor.rst
new file mode 100644
index 0000000..ca5e677
--- /dev/null
+++ b/docs/Chapter5/Tosca/ONAP Tosca PNF Descriptor.rst
@@ -0,0 +1,143 @@
+.. Modifications Copyright © 2017-2018 AT&T Intellectual Property.
+
+.. Licensed under the Creative Commons License, Attribution 4.0 Intl.
+ (the "License"); you may not use this documentation except in compliance
+ with the License. You may obtain a copy of the License at
+
+.. https://creativecommons.org/licenses/by/4.0/
+
+.. Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+TOSCA PNF Descriptor
+--------------------
+
+
+General
+^^^^^^^
+
+.. req::
+ :id: R-24632
+ :target: PNF
+ :keyword: MUST
+ :introduced: dublin
+
+ The PNF Descriptor (PNFD) provided by PNF vendor **MUST** comply with
+ TOSCA/YAML based Service template for PNF descriptor specified in ETSI
+ NFV-SOL001.
+
+
+Data Types
+^^^^^^^^^^^^^^
+
+.. req::
+ :id: R-484843
+ :target: PNF
+ :keyword: MUST
+ :introduced: dublin
+
+ The PNFD provided by a PNF vendor **MUST** comply with the following Data
+ Types as specified in ETSI NFV-SOL001 standard:
+
+ - tosca.datatypes.nfv.CpProtocolData
+
+ - tosca.datatypes.nfv.AddressData
+
+ - tosca.datatypes.nfv.L2AddressData
+
+ - tosca.datatypes.nfv.L3AddressData
+
+ - tosca.datatypes.nfv.LocationInfo
+
+ - tosca.datatypes.nfv.CivicAddressElement
+
+
+Artifact Types
+^^^^^^^^^^^^^^
+
+No artifact type is currently supported in ONAP.
+
+
+Capability Types
+^^^^^^^^^^^^^^^^^^^^^
+
+.. req::
+ :id: R-177937
+ :target: PNF
+ :keyword: MUST
+ :introduced: dublin
+
+ The PNFD provided by a PNF vendor **MUST** comply with the following
+ Capabilities Types as specified in ETSI NFV-SOL001 standard:
+
+ - tosca.datatypes.nfv.VirtualLinkable
+
+
+Requirements Types
+^^^^^^^^^^^^^^^^^^^^^
+
+
+Relationship Types
+^^^^^^^^^^^^^^^^^^^^^
+
+.. req::
+ :id: R-64064
+ :target: PNF
+ :keyword: MUST
+ :introduced: dublin
+
+ The PNFD provided by a PNF vendor **MUST** comply with the following
+ Relationship Types as specified in ETSI NFV-SOL001 standard:
+
+ - tosca.datatypes.nfv.VirtualLinksTo
+
+
+Interface Types
+^^^^^^^^^^^^^^^^^^^^^
+
+No interface type is currently supported in ONAP.
+
+
+Node Types
+^^^^^^^^^^^^^^
+
+.. req::
+ :id: R-535009
+ :target: PNF
+ :keyword: MUST
+ :introduced: dublin
+
+ The PNFD provided by a PNF vendor **MUST** comply with the following Node
+ Types as specified in ETSI NFV-SOL001 standard:
+
+ - tosca.nodes.nfv.PNF
+
+ - tosca.nodes.nfv.PnfExtCp
+
+ - tosca.nodes.nfv.Cp
+
+
+
+Group Types
+^^^^^^^^^^^^^^
+
+No group type is currently supported in ONAP.
+
+
+Policy Types
+^^^^^^^^^^^^^^
+
+.. req::
+ :id: R-596064
+ :target: PNF
+ :keyword: MUST
+ :introduced: dublin
+
+ The PNFD provided by a PNF vendor **MUST** comply with the following Policy
+ Types as specified in ETSI NFV-SOL001 standard:
+
+ - tosca.datatypes.nfv.SecurityGroupRule
diff --git a/docs/Chapter5/Tosca/ONAP Tosca VNF Descriptor.rst b/docs/Chapter5/Tosca/ONAP Tosca VNF Descriptor.rst
new file mode 100644
index 0000000..d3c234d
--- /dev/null
+++ b/docs/Chapter5/Tosca/ONAP Tosca VNF Descriptor.rst
@@ -0,0 +1,252 @@
+.. Modifications Copyright © 2017-2018 AT&T Intellectual Property.
+
+.. Licensed under the Creative Commons License, Attribution 4.0 Intl.
+ (the "License"); you may not use this documentation except in compliance
+ with the License. You may obtain a copy of the License at
+
+.. https://creativecommons.org/licenses/by/4.0/
+
+.. Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+TOSCA VNF Descriptor
+--------------------
+
+General
+^^^^^^^
+
+.. req::
+ :id: R-35854
+ :target: VNF
+ :keyword: MUST
+ :introduced: casablanca
+
+ The VNF Descriptor (VNFD) provided by VNF vendor **MUST** comply with
+ TOSCA/YAML based Service template for VNF descriptor specified in
+ ETSI NFV-SOL001.
+
+ **Note**: As the ETSI NFV-SOL001 is work in progress the below tables
+ summarizes the TOSCA definitions agreed to be part of current version
+ of NFV profile and that VNFD MUST comply with in ONAP Release 2+
+ Requirements.
+
+
+.. req::
+ :id: R-65486
+ :target: VNF
+ :keyword: MUST
+ :introduced: casablanca
+ :updated: dublin
+
+ The VNFD **MUST** comply with ETSI GS NFV-SOL001 specification endorsing
+ the above mentioned NFV Profile and maintaining the gaps with the
+ requirements specified in ETSI GS NFV-IFA011 standard.
+
+
+.. req::
+ :id: R-17852
+ :target: VNF
+ :keyword: MAY
+ :introduced: casablanca
+
+ The VNFD **MAY** include TOSCA/YAML definitions that are not part of
+ NFV Profile. If provided, these definitions MUST comply with TOSCA
+ Simple Profile in YAML v.1.2.
+
+.. req::
+ :id: R-46527
+ :target: VNF
+ :keyword: MUST
+ :introduced: casablanca
+
+ A VNFD is a deployment template which describes a VNF in terms of
+ deployment and operational behavior requirements. It contains
+ virtualized resources (nodes) requirements as well as connectivity
+ and interfaces requirements and **MUST** comply with info elements
+ specified in ETSI GS NFV-IFA 011. 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
+ (VnfVld) and VNF External Connection Point Descriptors
+ (VnfExternalCpd);
+
+ - VNF deployment aspects: they are described in one or more
+ deployment flavours, including configurable parameters, instantiation
+ levels, placement constraints (affinity / antiaffinity), minimum and
+ maximum VDU instance numbers. Horizontal scaling is modeled with
+ scaling aspects and the respective scaling levels in the deployment
+ flavours;
+
+ **Note**: The deployment aspects (deployment flavour etc.) are postponed
+ for future ONAP releases.
+
+ - VNF lifecycle management (LCM) operations: describes the LCM operations
+ supported per deployment flavour, and their input parameters;
+ Note, thatthe actual LCM implementation resides in a different layer,
+ namely referring to additional template artifacts.
+
+.. req::
+ :id: R-15837
+ :target: VNF
+ :keyword: MUST
+ :introduced: casablanca
+
+ The following table defines the major TOSCA Types specified in
+ ETSI NFV-SOL001 standard draft. The VNFD provided by a VNF vendor
+ **MUST** comply with the below definitions:
+
+
+.. csv-table:: **TOSCA Definition**
+ :file: TOSCA_descriptor.csv
+ :header-rows: 1
+ :align: center
+ :widths: auto
+
+Data Types
+^^^^^^^^^^
+
+.. req::
+ :id: R-54356
+ :target: VNF
+ :keyword: MUST
+ :introduced: casablanca
+
+ The below table includes the data types used by NFV node and is based
+ on TOSCA/YAML constructs specified in draft GS NFV-SOL 001. The node
+ data definitions/attributes used in VNFD **MUST** comply with the below
+ table.
+
+.. csv-table:: **NFV Data Types**
+ :file: NFV_data_type.csv
+ :header-rows: 1
+ :align: center
+ :widths: auto
+
+.. req::
+ :id: R-54876
+ :target: VNF
+ :keyword: MUST
+ :introduced: casablanca
+
+ The below table describes the data types used for LCM configuration
+ and is based on TOSCA constructs specified in draft GS NFV-SOL 001.
+ The LCM configuration data elements used in VNFD **MUST** comply
+ with the below table.
+
+.. csv-table:: **LCM Configuration**
+ :file: LCM_config.csv
+ :header-rows: 1
+ :align: center
+ :widths: auto
+
+Artifact Types
+^^^^^^^^^^^^^^
+
+No artifact type is currently supported in ONAP.
+
+Capability Types
+^^^^^^^^^^^^^^^^
+
+.. req::
+ :id: R-67895
+ :target: VNF
+ :keyword: MUST
+ :introduced: casablanca
+
+ The VNFD provided by VNF vendor may use the below described TOSCA
+ capabilities. An on-boarding entity (ONAP SDC) **MUST** support them.
+
+ **tosca.capabilities.nfv.VirtualBindable**
+
+ A node type that includes the VirtualBindable capability indicates
+ that it can be pointed by **tosca.relationships.nfv.VirtualBindsTo**
+ relationship type.
+
+ **tosca.capabilities.nfv.VirtualLinkable**
+
+ A node type that includes the VirtualLinkable capability indicates
+ that it can be pointed by **tosca.relationships.nfv.VirtualLinksTo**
+ relationship.
+
+ **tosca.capabilities.nfv.ExtVirtualLinkable**
+
+ A node type that includes the ExtVirtualLinkable capability
+ indicates that it can be pointed by
+ **tosca.relationships.nfv.VirtualLinksTo** relationship.
+
+ **Note**: This capability type is used in Casablanca how it does
+ not exist in the last SOL001 draft
+
+ **tosca.capabilities.nfv.VirtualCompute** and
+ **tosca.capabilities.nfv.VirtualStorage** includes flavours of VDU
+
+
+Relationship Types
+^^^^^^^^^^^^^^^^^^
+
+.. req::
+ :id: R-95321
+ :target: VNF
+ :keyword: MUST
+ :introduced: casablanca
+
+ The VNFD provided by VNF vendor may use the below described TOSCA
+ relationships. An on-boarding entity (ONAP SDC) **MUST** support them.
+
+ **tosca.relationships.nfv.VirtualBindsTo**
+
+ This relationship type represents an association relationship between
+ VDU and CP node types.
+
+ **tosca.relationships.nfv.VirtualLinksTo**
+
+ This relationship type represents an association relationship between
+ the VduCpd's and VirtualLinkDesc node types.
+
+
+Interface Types
+^^^^^^^^^^^^^^^
+
+.. req::
+ :id: R-32155
+ :target: VNF
+ :keyword: MUST
+ :introduced: casablanca
+
+ The VNFD provided by VNF vendor may use the below described TOSCA
+ interface types. An on-boarding entity (ONAP SDC) **MUST** support them.
+
+ **tosca.interfaces.nfv.vnf.lifecycle.Nfv** supports LCM operations
+
++--------------------------------------------------------------------+
+| +--------------------------------------------------------------+ |
+| | 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 | |
+| +--------------------------------------------------------------+ |
++====================================================================+
++--------------------------------------------------------------------+
+
diff --git a/docs/Chapter5/Tosca/ONAP VNF or PNF CSAR Package.rst b/docs/Chapter5/Tosca/ONAP VNF or PNF CSAR Package.rst
new file mode 100644
index 0000000..777c994
--- /dev/null
+++ b/docs/Chapter5/Tosca/ONAP VNF or PNF CSAR Package.rst
@@ -0,0 +1,275 @@
+.. Modifications Copyright © 2017-2018 AT&T Intellectual Property.
+
+.. Licensed under the Creative Commons License, Attribution 4.0 Intl.
+ (the "License"); you may not use this documentation except in compliance
+ with the License. You may obtain a copy of the License at
+
+.. https://creativecommons.org/licenses/by/4.0/
+
+.. Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+VNF or PNF CSAR Package
+------------------------
+
+CSAR Overview
+^^^^^^^^^^^^^
+
+TOSCA YAML CSAR file is an archive file using the ZIP file format whose
+structure complies with the TOSCA Simple Profile YAML v1.2 Specification.
+The CSAR file may have one of the two following structures:
+
+ - CSAR containing a TOSCA-Metadata directory, which includes the TOSCA.meta
+ metadata file providing an entry information for processing a CSAR file.
+
+ - CSAR containing a single yaml (.yml or .yaml) file at the root of the
+ archive. The yaml file is a TOSCA definition template that contains a
+ metadata section with template_name and template_version metadata. This
+ file is the CSAR Entry-Definitions file.
+
+VNF Package Structure and Format
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. req::
+ :id: R-51347
+ :target: VNF or PNF
+ :keyword: MUST
+ :introduced: casablanca
+ :updated: dublin
+
+ The VNF or PNF CSAR package **MUST** be arranged as a CSAR archive as
+ specified in TOSCA Simple Profile in YAML 1.2.
+
+
+.. req::
+ :id: R-87234
+ :target: VNF or PNF
+ :keyword: MUST
+ :introduced: casablanca
+ :updated: dublin
+
+ The VNF or PNF package provided by a VNF or PNF vendor **MUST** be with
+ TOSCA-Metadata directory (CSAR Option 1) as specified in
+ ETSI GS NFV-SOL004.
+
+ **Note:** SDC supports only the CSAR Option 1 in Dublin. The Option 2
+ will be considered in future ONAP releases.
+
+.. req::
+ :id: R-506221
+ :target: VNF or PNF CSAR PACKAGE
+ :keyword: MUST
+ :introduced: dublin
+
+ The VNF or PNF TOSCA CSAR file **MUST** be a zip file with .csar extension.
+
+
+VNF Package Contents
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. req::
+ :id: R-10087
+ :target: VNF or PNF CSAR PACKAGE
+ :keyword: MUST
+ :introduced: casablanca
+ :updated: dublin
+
+ The VNF or PNF CSAR package **MUST** include all artifacts required by
+ ETSI GS NFV-SOL004 including Manifest file, VNFD or PNFD (or Main
+ TOSCA/YAML based Service Template) and other optional artifacts.
+
+.. req::
+ :id: R-01123
+ :target: VNF or PNF
+ :keyword: MUST
+ :introduced: casablanca
+ :updated: dublin
+
+ The VNF or PNF package Manifest file **MUST** contain: VNF or PNF package
+ meta-data, a list of all artifacts (both internal and external) entry's
+ including their respected URI's, an algorithm to calculate a digest and
+ a digest result calculated on the content of each artifacts, as specified
+ in ETSI GS NFV-SOL004.
+
+.. req::
+ :id: R-21322
+ :target: VNF
+ :keyword: MUST
+ :introduced: casablanca
+
+ The VNF provider **MUST** provide their testing scripts to support
+ testing as specified in ETSI NFV-SOL004 - Testing directory in CSAR
+
+.. req::
+ :id: R-40820
+ :target: VNF or PNF TOSCA PACKAGE
+ :keyword: MUST
+ :introduced: casablanca
+ :updated: dublin
+
+ The VNF or PNF TOSCA PACKAGE **MUST** enumerate all of the open source
+ licenses their VNF(s) incorporate. CSAR License directory as per ETSI
+ SOL004.
+
+ for example ROOT\\Licenses\\ **License_term.txt**
+
+.. req::
+ :id: R-293901
+ :target: VNF or PNF CSAR PACKAGE
+ :keyword: MUST
+ :introduced: dublin
+
+ The VNF or PNF CSAR PACKAGE with TOSCA-Metadata **MUST** include following
+ additional keywords pointing to TOSCA files:
+
+ - ETSI-Entry-Manifest
+
+ - ETSI-Entry-Change-Log
+
+ Note: For a CSAR containing a TOSCA-Metadata directory, which includes
+ the TOSCA.meta metadata file. The TOSCA.meta metadata file includes block_0
+ with the Entry-Definitions keyword pointing to a TOSCA definitions YAML
+ file used as entry for parsing the contents of the overall CSAR archive.
+
+.. req::
+ :id: R-146092
+ :target: VNF or PNF TOSCA PACKAGE
+ :keyword: MUST
+ :introduced: dublin
+
+ If one or more non-MANO artifact(s) is included in the VNF or PNF TOSCA CSAR
+ package, the Manifest file in this CSAR package **MUST** contain: non-MANO
+ artifact set which MAY contain following ONAP public tag.
+
+ - onap_ves_events: contains VES registration files
+
+ - onap_pm_dictionary: contains the PM dictionary files
+
+ - onap_yang_modules: contains Yang module files for configurations
+
+ - onap_ansible_playbooks: contains any ansible_playbooks
+
+ - onap_others: contains any other non_MANO artifacts, e.g. informational
+ documents
+
+.. req::
+ :id: R-221914
+ :target: VNF or PNF
+ :keyword: MUST
+ :introduced: dublin
+
+ The VNF or PNF package **MUST** contain a a human-readable change log text
+ file. The Change Log file keeps a history describing any changes in the VNF
+ or PNF package. The Change Log file is kept up to date continuously from
+ the creation of the CSAR package.
+
+.. req::
+ :id: R-57019
+ :target: PNF CSAR PACKAGE
+ :keyword: MUST
+ :introduced: dublin
+
+ The PNF TOSCA CSAR PACKAGE Manifest file **MUST** start with the PNF
+ package metadata in the form of a name-value pairs. Each pair shall appear
+ on a different line. The name is specified as following:
+
+ - pnfd_provider
+
+ - pnfd_name
+
+ - pnfd_release_date_time
+
+ - pnfd_archive_version
+
+.. req::
+ :id: R-795126
+ :target: VNF CSAR PACKAGE
+ :keyword: MUST
+ :introduced: dublin
+
+ The VNF TOSCA CSAR package Manifest file **MUST** start with the VNF
+ package metadata in the form of a name-value pairs. Each pair shall appear
+ on a different line. The name is specified as following:
+
+ - vnf_provider_id
+
+ - vnf_product_name
+
+ - vnf_release_date_time
+
+ - vnf_package_version
+
+
+VNF or PNF Package Authenticity and Integrity
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+VNF or PNF CSAR package shall support a method for authenticity and integrity
+assurance. According to ETSI SOL004 the onboarding package shall be secured.
+ETSI SOL004 provides two options:
+
+Option 1 - One Digest for each components of the VNF or PNF package. The table
+of hashes is included in the manifest file, which is signed with the VNF or PNF
+provider private key. A signing certificate including the provider’s public key
+shall be included in the package.
+
+Option 2 - The complete CSAR file shall be digitally signed with the provider
+private key. The provider delivers one zip file consisting of the CSAR file, a
+signature file and a certificate file that includes the VNF provider public
+key.
+
+*Dublin release note*
+
+ - VNFSDK pre-onboarding validation procedure:
+ - Option 1: specified in ETSI SOL004 is supported.
+ - Option 2: Will be supported in the future releases.
+
+ - SDC onboarding procedure:
+ - Option 1: Will be supported in the future releases.
+ - Option 2: specified in ETSI SOL004 is supported.
+
+.. req::
+ :id: R-787965
+ :target: VNF or PNF CSAR PACKAGE
+ :keyword: MUST
+ :introduced: dublin
+
+ If the VNF or PNF CSAR Package utilizes Option 2 for package security, then
+ the complete CSAR file **MUST** be digitally signed with the VNF or PNF
+ provider private key. The VNF or PNF provider delivers one zip file
+ consisting of the CSAR file, a signature file and a certificate file that
+ includes the VNF or PNF provider public key. The certificate may also be
+ included in the signature container, if the signature format allows that.
+ The VNF or PNF provider creates a zip file consisting of the CSAR file with
+ .csar extension, signature and certificate files. The signature and
+ certificate files must be siblings of the CSAR file with extensions .cms
+ and .cert respectively.
+
+
+.. req::
+ :id: R-130206
+ :target: VNF or PNF CSAR PACKAGE
+ :keyword: MUST
+ :introduced: dublin
+
+ If the VNF or PNF CSAR Package utilizes Option 2 for package security, then
+ the complete CSAR file **MUST** contain a Digest (a.k.a. hash) for each of
+ the components of the VNF or PNF package. The table of hashes is included
+ in the package manifest file, which is signed with the VNF or PNF provider
+ private key. In addition, the VNF or PNF provider MUST include a signing
+ certificate that includes the VNF or PNF provider public key, following a
+ TOSCA pre-defined naming convention and located either at the root of the
+ archive or in a predefined location specified by the TOSCA.meta file with
+ the corresponding entry named "ETSI-Entry-Certificate".
+
+
+VNF Package ONAP Extensions
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+1. TOACA data type extension tosca.datatypes.nfv.injectFile is used for vCPE
+ use case.
+2. ONAP extensions for VNF package that is currently proposed for Dublin
+ release is VES extension described below.
diff --git a/docs/Chapter5/Tosca/TOSCA_descriptor.csv b/docs/Chapter5/Tosca/TOSCA_descriptor.csv
new file mode 100755
index 0000000..99bed14
--- /dev/null
+++ b/docs/Chapter5/Tosca/TOSCA_descriptor.csv
@@ -0,0 +1,42 @@
+"Info Element
+
+From ETSI GS NFV-IFA 011","Implementation in
+TOSCA NFV Profile and Endorsement in ETSI GS NFV-SOL001",Derived from,Description,Supported in ONAP Casablanca release
+VNFD,tosca.nodes.nfv.VNF,tosca.nodes.Root,"TOSCA main service template and describes a VNF in terms of deployment and operational behavior requirements, connectivity, interfaces and virtualized resource requirements.",Y
+"VDU Compute Descriptor
+
+**R-09467**",tosca.nodes.nfv.VDU.Compute,tosca.nodes.Root,"Represents VNF-C (or VM) with deployment flavours.
+
+Represents the virtual compute part of a VDU entity which it mainly describes the deployment and operational behavior of a VNFC.
+
+**Note**: Currently not directly supported but allowed via tosca.capabilities.nfv.VirtualCompute",Y but different way
+VDU VirtualCompute Descriptor,tosca.capabilities.nfv.VirtualCompute,tosca.capabilities.Root,Represents the virtual compute part of a VDU entity which it mainly describes the deployment and operational behavior of a VNFC,Y
+"VDU VirtualStorage Descriptor
+
+**R-09467**",tosca.nodes.nfv.VDU.VirtualStorage,tosca.nodes.Root,"Represents a virtual storage entity which it describes the deployment and operational behavior of a virtual storage resources.
+
+**Note**: This node type is split into three in latest SOL001 draft how the data model uses an older version for Casablanca release.",Y
+Cpd - Connection Point Descriptor,tosca.nodes.nfv.Cp,tosca.nodes.Root,Represents network connectivity to a compute resource or a VL - abstract type used as parent for the various Cpd types.,Y
+"VduCpd
+
+**R-35851**",tosca.nodes.nfv.VduCp,tosca.nodes.nfv.Cp,Represents a type of TOSCA Cpd node and describes network connectivity between a VNFC instance (based on this VDU) and an internal VL,Y
+"VnfVirtualLinkDesc
+
+**R-35851**",tosca.nodes.nfv.VnfVirtualLink,tosca.nodes.Root,Node type represents a logical internal virtual link,Y
+"VnfExtCpd (External Connection Point)
+
+**R-35851**",tosca.nodes.nfv.VnfExtCp,tosca.nodes.Root,"Represents a logical external connection point, exposed by this VNF enabling connecting with Virtual Link,",N
+"SwImageDesc
+
+
+**R-02454**",tosca.artifacts.nfv.SwImage,tosca.artifacts.Deployment.Image,"Artifact type describes the software image which is directly loaded on the Virtualisation container of the VDU or is to be loaded on a virtual storage resource.
+
+**Note**: Currently not supported in Casablanca release as well as SW image artifact in CSAR",N
+"DeploymentFlavour
+
+VnfDf info element
+
+**R-41215**",tosca.capabilities.nfv.DeploymentFlavour,tosca.capabilities.Root,**Note**: Current ONAP release support a single deployment flavour,N
+"Scaling Aspect
+
+**R-96634** The VNF providerMUSTdescribe scaling capabilities to manage scaling characteristics of the VNF.",tosca.datatypes.nfv.ScalingAspect,tosca.datatypes.Root,TBD in ETSI NFV-SOL001,N
diff --git a/docs/Chapter5/Tosca/index.rst b/docs/Chapter5/Tosca/index.rst
new file mode 100644
index 0000000..1248c66
--- /dev/null
+++ b/docs/Chapter5/Tosca/index.rst
@@ -0,0 +1,17 @@
+.. Licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright 2017 AT&T Intellectual Property. All rights reserved.
+
+
+ONAP TOSCA VNFD or PNFD Requirements
+====================================
+
+.. toctree::
+ :maxdepth: 3
+
+ ONAP Tosca Overview.rst
+ ONAP VNF or PNF CSAR Package.rst
+ ONAP Tosca VNF Descriptor.rst
+ ONAP Tosca PNF Descriptor.rst
+ ONAP HPA Requirements.rst
+ ONAP NFV Tosca.rst