Requirements NoRequirements DescriptionImplemented or Not In VNFSDK
R-87234

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. 

**Note:** SDC supports only the CSAR Option   1 in Casablanca. The Option 2 will be considered in future ONAP releases, VNF MAY VNF Package Structure and Format

Yes
R-01123The 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.Yes
R-21322The VNF provider MUST provide their testing scripts to support testing as specified in ETSI NFV-SOL004 - Testing directory in CSARYes
R-40820

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

Yes
R-35854

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.

Yes
R-65486The VNFD MUST comply with ETSI GS NFV-SOL001 document endorsing the above mentioned NFV Profile and maintaining the gaps with the requirements specified in ETSI GS NFV-IFA011 standard.Yes
R-17852The 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.Yes
R-46527

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.


YesYes
R-15837The 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 definitionsYes
R-26885

The VNF provider MUST provide the binaries and images needed to instantiate the VNF (VNF and VNFC images) either as:


  • Local artifact in CSAR: ROOT\Artifacts\ VNF_Image.bin
  • externally referred (by URI) artifact in Manifest file (also may be referred by VNF Descriptor)


Note: Currently, ONAP doesn’t have the capability of Image management, we upload the image into VIM/VNFM manually.

Yes
R-51347The VNF package **MUST** be   arranged as a CSAR archive as specified in TOSCA Simple Profile in YAML 1.2. VNF MUST VNF Package Structure and FormatYes
R-10087The 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** VNF MUST VNF Package ContentsYes

R-02454

The VNF MUST support the existence of multiple major/minor versions of the VNF software and/or sub-components and interfaces that support both forward and backward compatibility to be transparent to the Service Provider usage.Yes
R-04298The xNF provider MUST provide their testing scripts to support testing.Yes
R-07879

The VNF Package MUST include all relevant playbooks to ONAP to be loaded on the Ansible Server.


Note: Only applicable if the VNF providers claim this product support Chef, Ansible.

Yes
R-09467The VNF MUST utilize only NCSP standard computing resource profile (CPU, Disk, Memory, etc.) compute flavors.Yes
R-13390

The VNF Package MUST  include a cookbook to be loaded on the appropriate server if the VNF is managed via Chef.


Note: Only applicable if the VNF providers claim this product support Chef, Ansible.

Yes
R-23823The VNF Package MUST include appropriate credentials so that ONAP can interact with the Chef ServerYes
R-26881The VNF provider MUST provide the binaries and images needed to instantiate the VNF (VNF and VNFC images).Yes
R-27310

The VNF Package MUST include all relevant Chef artifacts (roles/cookbooks/recipes) required to execute VNF actions requested by ONAP for loading on appropriate Chef Server.


Note: Only applicable if the VNF providers claim this product support Chef, Ansible.

Yes
R-35851The VNF Package MUST include VNF topology that describes basic network and application connectivity internal and external to the VNF including Link type, KPIs, Bandwidth, latency, jitter, QoS (if applicable) for each interface.Yes
R-40293

The VNF MUST make available (or load on VNF Ansible Server) playbooks that conform to the ONAP requirement.


Note: Only applicable if the VNF providers claim this product support Chef, Ansible.

Yes
R-43958The VNF Package MUST include documentation describing the tests that were conducted by the VNF provider and the test results.Yes
R-66070The 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.Yes
R-77707The VNF provider MUST include a Manifest File that contains a list of all the components in the VNF package.Yes
R-77786

The VNF Package MUST include all relevant cookbooks to be loaded on the ONAP Chef Server.


Note: Only applicable if the VNF providers claim this product support Chef, Ansible.

Yes


Test Cases come from 5G U/C Team:

Test CaseDescriptionImplemented or Not In VNFSDK
Manifest File check

Verifies the MANIFEST file (MainServiceTemplate.mf) and  checks that the defined directories of the PNF package against the manifest file.
For example the manifest file might say a files should exist: "
Measurements: source: Artifacts/Deployment/Measurements/PM_Dictionary.yaml", the VNF SDK would check that the file PM_Dictionary.yaml exists in the actual PNF package.

The following VNFRQTS JIRA items contribute this this requirement:
R-146092: VNFRQTS-572 - Getting issue details... STATUS

R-10087: VNFRQTS-505 - Getting issue details... STATUS

TOSCA MetaFile LICENSE Term File Exists Check

VNF SDK will check a License Term File Check in the PNF package. TOSCA meta file points to a License. Just a check that the file exists no content check at all.
Covered in this VNF Rqts:

VNFRQTS-567 - Getting issue details... STATUS


TOSCA MetaFile CERTIFICATE Check

(Test only) CERTIFICATE check. In the PNF package it is expected that there will be MainServiceTemplate.cert. This is mentioned in the TOSCA MetaFile. For example, in the TOSCA MetaFile, it could be mentioned "Entry-Certificate: Artifacts/resource-gnodeb-template.cert". And VNF SDK would check to make sure that the resource-gnodeb-template.cert file exists in the mentioned directory, the Artifacts in this case. VNF SDK does not look inside this file.

For details, consult chapter 5.2 of the ETSI NFV SOL 004 doc here: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/004/02.05.01_60/gs_nfv-sol004v020501p.pdf

(Needs Investigation) SOL004 has option 1 (signing each artifact individually / individual digest) and option 2 (sign entire package). It would be nice if VNF SDK supported both Option 1 and Option 2.

SOL004 PNF Tags

Check keywords. needs VNF SDK to check the PNF keywords. in the MainServiceTemplate.mf there are new tags:

  • pnf_product_name pnf_provider_id,
  • pnf_package_version,
  • pnf_release_date_time
  • non_mano_artifact_sets;

and the NON ETSI MANO artifact tags public tags. These public tags are under the "non_mano_artifact_sets". This would be NEW development in VNF SDK. An example Manifest file is shown in this diagram:

metadata:
   pnf_product_name: gNB
   pnf_provider_id: Ericsson
   pnf_package_version:1.0
   pnf_release_date_time:2018-12-03T08:44:00-05:00

non_mano_artifact_sets: 
onap_ves_events:
  source: Artifacts/Deployment/Events/VES_registration.yaml
onap_pm_dictionary:
  source: Artifacts/Deployment/Measurements/PM_Dictionary.yaml
onap_yang_module:
  source: Artifacts/Deployment/Yang_module/Yang_module.yaml
onap_others:
  source: Artifacts/Informational/scripts/install.sh
  source: Artifacts/Informational/user_guide.txt
  source: Artifacts/Other/installation_guide.txt
  source: Artifacts/Other/review_log.txt

   which shows the use of some of these fields.

ASSOCIATED DEVELOPMENT:

VNFSDK-339 - Support PNF CSAR structure based SOL004 OPEN

VALIDATION FOR META DATA CHECK

Following ETSI SOL004 Validation for Meta-Data file and Manufacturer file, this is the TOSCA.meta file that is part of the PNF Package. Both VNF SDK implementing only meta-data option, in the package there is a meta file. Check TOSCA.meta, while this file is not mandatory, when it is included that it follows the SOL004 standard (ETSI). We expect that "TOSCA-Meta-Version" and "CSAR-Version" and "Created by" are already supported, and new checks for "Entry definition, Entry-manifest, Entry-change-log, Entry-tests, Entry-certificates" would be new VNF SDK development work (needs to be verified).

Following VNFRQTS JIRA items contribute to this requirement:
R- 293901 VNFRQTS-567 - Getting issue details... STATUS

SOL004 Security

Driven from SOL004: Option 1 (Supported in R4 Dublin): TOSCA.meta (exists) Meta-directory based, XML based approach. Option 2 (NOT support in R4 Dublin): CSAR without TOSCA.meta. Manifest (.mf) file that has everything (so the TOSCA.meta is redundant). Yaml-based approach.

The Public Key a key to open the package. SOL004 Option 1, 2 and use key to open the package - X.509 certificates public key, private key to sign the package and private key correspond to the private key of the package also delivered with the package. a package, a signature, and public key certificate delivered together. There may be more than one signature. Option 1 there is a digest for every file. All of those digests are listed in the manifest file. The manifest file is signed, one signature on the manifest. One signature and one key/pair & 1 certificate. Still optional to sign other files. The signature is a file beside. myimage.iso myimage.xyz but the same file/directory. Every file signed should have a signature files. CSAR file signed in a .sm file, package signature. The public key is signed can be signed by a root certificate.

An X.509 certificate is a digital certificate that uses the widely accepted international X.509 public key infrastructure (PKI) standard to verify that a public key belongs to the user, computer or service identity contained within the certificate.



Lifecycle Management Test case based on ETSI SOL003

Test CaseTest DescriptionRemark
VNF Package Test

Level 1: Test VNF Package API is accessible or not

Level 2: Test VNF Package API 's response is correct or not

Level 1 is Compliance Test .

Level 2 could be validation Test.

VNF Instantiation Test

Level 1: Test VNF instances API is accessible or not

Level 2: Test VNF instances API 's response is correct or not

VNF Termination Test

Level 1: Test VNF Terminate API is accessible or not

Level 2: Test VNF Terminate API 's response is correct or not

VNF Scale Test

Level 1: Test VNF Scale API is accessible or not

Level 2: Test VNF Scale API 's response is correct or not

VNF Heal Test

Level 1: Test VNF Heal API is accessible or not

Level 2: Test VNF Heal API 's response is correct or not

  • No labels

5 Comments

  1. Hi Victor,

    I highlighted by red color the requirements that to my understanding are supported in Dublin release and you mentioned they are NOT implemented.

    1. I mean currently we didnt implement these requirements in VNFSDK. I will keep the table update to date.

  2. I count 26 requirements above, though I'm a little confused by the use case table.  Is this suggesting there are requirments coming from these use cases that are not already captured in the VNF requirements spec ? If so we should get that updated.

  3. To document this for the release, it would be  helpful if we could get a table mapping the TOSCA requirments and their asscociated test scripts in Read The Docs here: https://docs.onap.org/en/latest/submodules/vnfrqts/testcases.git/docs/Chapter2.html as has been done for the HEAT case


  4. Rather than adding additional notes in line with the requirements text, it would be better to add them ion a separate column.  If we need to update the requirements text, please raise a bug report against that requirement.