ONAP R4+ Onboarding PNF package format, non-MANO artifacts set definition and PNF package mapping

The scope of this page is to define the Onboarding package for a PNF as well as non-MANO artifact specification to be registered with ETSI.



CSAR structure

TOSCA YAML CSAR file is an archive file using the ZIP file format. Two CSAR  structures are defined in ETSI SOL004.

1) CSAR containing a TOSCA-Metadata directory, which includes the TOSCA.meta file

2) CSAR containing a single yaml file at the root for the archive. 



Option 1 is the unique option supported in ONAP in Dublin.

META FILE AND MANIFEST FILE



The use of the TOSCA.meta and the Manifest file (.mf) in line with ETSI SOL004 will help to:

1) identify the path of the ETSI MANO artifacts (by the .meta file)

2) identify the path of the NON ETSI MANO artifacts (as defined in ETSI SOL004), by the .mf file.

NON ETSI MANO ARTIFACTS in DUBLIN

In Dublin, following NON ETSI MANO artifacts is expected to be supported at least:

1) VES dictionary

2) PM dictionary

3) YANG module files.

According to ETSI SOL004, every non-MANO artifact set shall be identified by a non-MANO artifact set identifier (TAG) which shall be registered in the ETSI registry.  

Set identifiers can be public or private. ONAP as a public community initiative decided to introduce a set of public identifiers.

Non-MANO artifact sets shall be declared in the manifest file. If the package contains at least one non-MANO artifact set, an entry named "non_mano_artifact_sets:" shall be present in the package on its own line after the "metadata" section.

All files belonging to the same non MANO artifact set shall share a common path prefix (e.g. multiple yang module files will share the same set identifiers).

ONAP PUBLIC NON-MANO ARTIFACTS SET APPROVED by ONAP TSC for REGISTRATION in ETSI

The followings are the public non-MANO artifact set identifiers which can be used in a PNF/VNF onboarding package.

The introduction in the manifest file allow to isolate the ONAP specific topics as follows:

  • 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_scripts: contains any scripts, e.g. installation scripts    (NOT REQUIRED IN DUBLIN TIMEFRAME BUT MAY BE REGISTERED LATER)

  • onap_others: contains any other non_MANO artifacts, e.g. informational documents

NEXT STEPS IN DUBLIN TIMEFRAME

1) In Dublin timeframe SDC is going to implement the PNF package onboarding in line with the agreed non-MANO artifact set identifiers.

2) Register the NON-MANO artifact set identifiers in ETSI

3) Document the ONAP non-MANO artifact set identifiers in the VNF RQT as new ONAP requirements.

4) Maintain the ONAP non-MANO artifact set identifiers by a ONAP projects for future evolution (to be discussed if MODCOM or VNFRQT project will maintain the ONAP non mano artifact set identifiers) 

PNF ONBOARDING PACKAGE EXAMPLE WITH USING NON-MANO ARTIFACTS

In the picture below, an example of a PNF onboarding package including a manifest file with URI's for non-MANO artifacts used in Dublin



NOTES about the example: Folder/file name MANDATORY according to  SOL004:

  • TOSCA-Metadata directory and TOSCA.meta file (unique CSAR package structure supported in ONAP Dublin)

  • Manifest file extension, XXX.mf,  located at the root or in a location identified in the .meta file. The name of the file is the same of the TOSCA yaml file

Ín the example the following files are not provided: 

  • ChangeLog.txt, a human readable text file at the root or in a location identified in the .meta file. (NOT PROVIDED IN THE EXAMPLE )

  • xNF testing procedure, NOT mandatory files according to ETSI

  • A license term file for the xNF located in a directory named Licences located at the root or in a location identified in the .meta file (NOT PROVIDED IN THE EXAMPLE )

  • certification files as they could differ according to the type of security option provided by the vendor (NOT PROVIDED IN THE EXAMPLE )

A reference PNF CSAR PACKAGE as example is available dummyPnfv2.csar to review directories structure and new .meta and .mf files format.



NOTES about the Dummy PNF CSAR PACKAGE example:

1) Only csar package structure with TOSCA-Metadata directory will be supported in Dublin timeframe

2) PM Dictionary, Event registration and Yang modules are the only NON MANO ARTIFACTS that will be listed in the manifest file

3) Multiple yang-module files the manifest file and in the dummy package with the intent to demonstrate that multiple files can be assosicated to a single keyword (according to ETSI SOL004)

4) Example package above does not include any certification file or other security options.

During the 2019-01-18 VNFPKG meeting we agreed to evaluate further the introduction of public identifiers to be approved in ETSI for ONAP.



Example Signed Packages

Here are two example signed packages. The packages are signed according to security option 2 in ETSI SOL004. The two file package has the signing certificate in the cryptographic message syntax. The three file has the certificate in a separate file and not in the cryptographic syntax.

2-file-signed-package.zip

3-file-signed-package.zip

Note: Only the complete package is signed. There is no signature included for the files in the package.

Files related to example signed packages here

ACTIONS

1) ACTION: finalize the list public identifiers to be proposed in ETSI and analyze further ETSI process - COMPLETED

2) ACTION: VNF SDK is going to implement package security according to ETSI SOL004. TO be further verified if option 1 and/or 2 will be supported.

3) SDC has a Jira ticket tracing the Security introduction support in the package. Certification files as they could differ according to the type of security option provided by the vendor (NOT PROVIDED IN THE EXAMPLE )

4) How to map the non-MANO artifact files to the SDC artifacts type?

5) ChangeLog.txt, a human readable text file at the root or in a location identified in the .meta file. (NOT PROVIDED IN THE EXAMPLE BELOW)

6) A license term file for the xNF located in a directory named Licences located at the root or in a location identified in the .meta file (NOT PROVIDED IN THE EXAMPLE BELOW)