limitations under the License.
-ONAP TOSCA VNFD Requirements
------------------------------
+ONAP TOSCA VNFD or PNFD Requirements
+------------------------------------
Introduction
^^^^^^^^^^^^
-The following sub-clauses describe the numbered requirements
-for VNF Descriptor (VNFD) or in other words the VNF Service Template
-based on the most updated draft of ETSI NFV-SOL001 standard for VNF
-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 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 package are described as well
+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 draft v.0.10.0
+ 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.5.1
+ 3. ETSI GS NFV-SOL004 v.2.6.1 + NFV CR NFVSOL(18)000746r3.
Intended Audience
^^^^^^^^^^^^^^^^^^
Overview
^^^^^^^^^^^^^^^^
-The document includes three charters to help the VNF providers to use the
-VNF model design tools and understand the VNF package structure and VNF
-TOSCA templates.
+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 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 provider to develop the VNF Package and VNFD
-template.
+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 package structure is align to the NFV TOSCA protocol, and
-supports CSAR
+The VNF or PNF 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.
+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.
-VNF CSAR Package
-^^^^^^^^^^^^^^^^^^^^
+VNF or PNF CSAR Package
+^^^^^^^^^^^^^^^^^^^^^^
CSAR Overview
~~~~~~~~~~~~~~~~
.. req::
:id: R-51347
- :target: VNF
+ :target: VNF or PNF
:keyword: MUST
:introduced: casablanca
+ :updated: dublin
- The VNF package **MUST** be arranged as a CSAR archive as specified in
- TOSCA Simple Profile in YAML 1.2.
+ 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
- :keyword: MAY
+ :target: VNF or PNF
+ :keyword: MUST
:introduced: casablanca
+ :updated: dublin
- The VNF package provided by a VNF vendor **MAY** be either with
- TOSCA-Metadata directory (CSAR Option 1) or without TOSCA-Metadata
- directory (CSAR Option 2) as specified in ETSI GS NFV-SOL004. On-boarding
- entity (ONAP SDC) must support both options.
+ 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
- **Note:** SDC supports only the CSAR Option 1 in Casablanca. The Option 2
- will be considered in future ONAP releases,
+ The VNF or PNF TOSCA CSAR file **MUST** be a zip file with .csar extension.
VNF Package Contents
.. req::
:id: R-10087
- :target: VNF
+ :target: VNF or PNF CSAR PACKAGE
:keyword: MUST
:introduced: casablanca
+ :updated: dublin
- The VNF package **MUST** contain all standard artifacts as specified in
- ETSI GS NFV-SOL004 including Manifest file, VNFD (or Main TOSCA/YAML
- based Service Template) and other optional artifacts. CSAR Manifest
- file as per SOL004 - for example ROOT\\ **MainServiceTemplate.mf**
+ 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. CSAR
+ Manifest file as per SOL004 - for example ROOT\\ **MainServiceTemplate.mf**
.. req::
:id: R-01123
- :target: VNF
+ :target: VNF or PNF
:keyword: MUST
:introduced: casablanca
+ :updated: dublin
- The VNF package Manifest file **MUST** contain: VNF 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. The VNF Package MUST include VNF Identification
- Data to uniquely identify the resource for a given VNF provider. The
- identification data must include: an identifier for the VNF, the name
- of the VNF as was given by the VNF provider, VNF description, VNF
- provider, and version.
+ 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
:keyword: MUST
:introduced: casablanca
- The VNF provider MUST enumerate all of the open source licenses
+ The VNF provider **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
-VNF Package Authenticity
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ 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
+
+ The VNF or PNF TOSCA CSAR package Manifest file **MUST** contain: non-mano
+ artifact set with 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: specified in ETSI SOL004 is supported.
-Will be added in future releases.
+ - Option 2: Will be supported in the future releases.
+
+.. 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
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.
+
+
+.. req::
+ :id: R-998862
+ :target: PNF
+ :keyword: MUST
+ :introduced: dublin
+
+ The PNFD provided by a PNF vendor **MUST** comply with the following TOSCA
+ Types as specified in ETSI NFV-SOL001 standard:
+
+ - tosca.nodes.nfv.PNF
+
+ - tosca.nodes.nfv.PnfExtCp
+
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
+--------------------------------------------------------------------+