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 on ONAP Frankfurt Release.
Comparing to PNF On-boarding on R4 Dublin Release, the updated information is marked as light blue.
Note: the page is on-going contracted and finalized information might be updated
New in Frankfurt Release for OnBoarding PNF package.
- A new non-MANO artifact called PNF Software version is proposed and discussed on the ONAP R4 Resource IM Call 2019-6-17 AND get the following agreement
- 'The option 1 is preferred in Frankfurt Release and going for a poll on modeling subcommittee call' (details will be described in this page).
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 fo the archive.
Option 1) is the unique option supported in ONAP from 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
NON-ETSI-MANO Artifacts in the onbarding package are provided by the vendor. They provide information that may enable additional functionalities in ONAP.
All the artifacts are optional in the onboarding package.
In Dublin and El Alto following NON-ETSI-MANO artifacts are supported in ONAP:
1) VES dictionary
2) PM dictionary
3) YANG module files
4) Ansible files
5) information documents provided in the onap_others set identifier
In Frankfurt, following NON-ETSI-MANO artifacts are expected to be supported in ONAP
1) VES dictionary
2) PM dictionary
3) YANG module files
4) Ansible files
5) information documents
6) PNF information file
According to ETSI SOL004, every NON-ETSI-MANO artifact set shall be identified by a NON-ETSI-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-ETSI-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 (file names are not defined in ONAP)
onap_yang_modules: contains Yang module files for configurations (file names are not defined in ONAP)
onap_ansible_playbooks: contains any ansible_playbooks (file names are not defined in ONAP)
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
- onap_nf_information: contains NF(Network Function) related information. e.g. PNF, VNF or xNF itself information. In Frankfurt, it contains a new file for PNF information
FILE DIRECTORY — Need to be discussed, which option is better?
onap_nf_information
pnf_sw_version file / PNF information file (name ?)
vnf_info....
Two options:
1) we define a single onap nf info directory with different files (i.e pnf specific info, vnf specific info, xnf specific info)
2) we define one directory for each file
FILE NAME
PNF_information ? /pnf_sw_version file?
FILE FORMAT
The file is a yml file
pnf_information.yaml
{
pnf_sw_version: type
}
pnf_software_version.yaml
{
description: PNF software version
parameters:
pnf-sw_version:
type: string
default: ” 5gDUv18.05.201”
}
an example. of the file attached (PNF infor file).......
NEXT STEPS IN FRANKFURT TIMEFRAME
1) In FRANKFURT timeframe SDC is going to implement the PNF package onboarding in line with the agreed non-MANO artifact set identifiers. (JIRA TICKET)
2) Register the NON-MANO artifact set identifiers in ETSI and update the reference ONAP page (add the reference)
3) Document the ONAP non-MANO artifact set identifiers in the VNF RQT as new ONAP requirements.
4) create a csar package file example aligned to Frankfurt release to be added in this page
5) Is CMCC going to test Onboarding Package for VNF in ElAlto ? Can we extend the onboarding package support to VNF ? (Jira ticket ?)
PNF ONBOARDING PACKAGE EXAMPLE WITH USING NON-MANO ARTIFACTS in FRANKFURT
In the picture below, an example of a PNF onboarding package including a manifest file with URI's for non-MANO artifacts used in Frankfurt
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 Frankfurt)
- 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 BE UPDATED) 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, Yang modules and NF information 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.
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)