1 .. Modifications Copyright © 2017-2018 AT&T Intellectual Property.
3 .. Licensed under the Creative Commons License, Attribution 4.0 Intl.
4 (the "License"); you may not use this documentation except in compliance
5 with the License. You may obtain a copy of the License at
7 .. https://creativecommons.org/licenses/by/4.0/
9 .. Unless required by applicable law or agreed to in writing, software
10 distributed under the License is distributed on an "AS IS" BASIS,
11 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 See the License for the specific language governing permissions and
13 limitations under the License.
16 VNF or PNF CSAR Package
17 ------------------------
22 TOSCA YAML CSAR file is an archive file using the ZIP file format whose
23 structure complies with the TOSCA Simple Profile YAML v1.2 Specification.
24 The CSAR file may have one of the two following structures:
26 - CSAR containing a TOSCA-Metadata directory, which includes the TOSCA.meta
27 metadata file providing an entry information for processing a CSAR file.
29 - CSAR containing a single yaml (.yml or .yaml) file at the root of the
30 archive. The yaml file is a TOSCA definition template that contains a
31 metadata section with template_name and template_version metadata. This
32 file is the CSAR Entry-Definitions file.
34 VNF or PNF Package Structure and Format
35 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
39 :target: VNF or PNF CSAR PACKAGE
41 :introduced: casablanca
44 The VNF or PNF CSAR package **MUST** be arranged as a CSAR archive as
45 specified in TOSCA Simple Profile in YAML 1.2.
50 :target: VNF or PNF CSAR PACKAGE
52 :introduced: casablanca
55 The VNF or PNF CSAR package provided by a VNF or PNF vendor **MUST** be with
56 TOSCA-Metadata directory (CSAR Option 1) as specified in
59 **Note:** SDC supports only the CSAR Option 1 in Dublin. The Option 2
60 will be considered in future ONAP releases.
64 :target: VNF or PNF CSAR PACKAGE
69 The VNF or PNF CSAR file **MUST** be a zip file with .csar extension.
72 VNF or PNF Package Contents
73 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
77 :target: VNF or PNF CSAR PACKAGE
79 :introduced: casablanca
82 The VNF or PNF CSAR package **MUST** include all artifacts required by
83 ETSI GS NFV-SOL004 including Manifest file, VNFD or PNFD (or Main
84 TOSCA/YAML based Service Template) and other optional artifacts.
88 :target: VNF or PNF CSAR PACKAGE
90 :introduced: casablanca
93 The VNF or PNF CSAR package Manifest file **MUST** contain: VNF or PNF
94 package meta-data, a list of all artifacts (both internal and
95 external) entry's including their respected URI's, as specified
96 in ETSI GS NFV-SOL 004
100 :target: VNF CSAR PACKAGE
102 :introduced: casablanca
105 The VNF provider **MUST** provide their testing scripts to support
106 testing as specified in ETSI NFV-SOL004 - Testing directory in CSAR
110 :target: VNF or PNF CSAR PACKAGE
112 :introduced: casablanca
115 The VNF or PNF CSAR PACKAGE **MUST** enumerate all of the open source
116 licenses their VNF(s) incorporate. CSAR License directory as per ETSI
119 for example ROOT\\Licenses\\ **License_term.txt**
123 :target: VNF or PNF CSAR PACKAGE
127 The VNF or PNF CSAR PACKAGE with TOSCA-Metadata **MUST** include following
128 additional keywords pointing to TOSCA files:
130 - ETSI-Entry-Manifest
132 - ETSI-Entry-Change-Log
134 Note: For a CSAR containing a TOSCA-Metadata directory, which includes
135 the TOSCA.meta metadata file. The TOSCA.meta metadata file includes block_0
136 with the Entry-Definitions keyword pointing to a TOSCA definitions YAML
137 file used as entry for parsing the contents of the overall CSAR archive.
141 :target: VNF or PNF CSAR PACKAGE
146 If one or more non-MANO artifact(s) is included in the VNF or PNF CSAR
147 package, the Manifest file in this CSAR package **MUST** contain one or more
148 of the following ONAP non-MANO artifact set identifier(s):
150 - onap_ves_events: contains VES registration files
152 - onap_pm_dictionary: contains the PM dictionary files
154 - onap_yang_modules: contains Yang module files for configurations
156 - onap_ansible_playbooks: contains any ansible_playbooks
158 - onap_pnf_sw_information: contains the PNF software information file
160 - onap_others: contains any other non_MANO artifacts, e.g. informational
163 *NOTE: According to ETSI SOL004 v.2.6.1, every non-MANO artifact set shall be
164 identified by a non-MANO artifact set identifier which shall be registered in
165 the ETSI registry. Approved ONAP non-MANO artifact set identifiers are documented
166 in the following page* https://wiki.onap.org/display/DW/ONAP+Non-MANO+Artifacts+Set+Identifiers
170 :target: VNF or PNF CSAR PACKAGE
175 The VNF or PNF CSAR package **MUST** contain a human-readable change log text
176 file. The Change Log file keeps a history describing any changes in the VNF
177 or PNF package. The Change Log file is kept up to date continuously from
178 the creation of the CSAR package.
182 :target: PNF CSAR PACKAGE
187 The PNF CSAR PACKAGE Manifest file **MUST** start with the PNF
188 package metadata in the form of a name-value pairs. Each pair shall appear
189 on a different line. The name is specified as following:
195 - pnfd_release_date_time
197 - pnfd_archive_version
201 :target: VNF CSAR PACKAGE
206 The VNF CSAR package Manifest file **MUST** start with the VNF
207 package metadata in the form of a name-value pairs. Each pair shall appear
208 on a different line. The name is specified as following:
214 - vnf_release_date_time
216 - vnf_package_version
220 :target: PNF CSAR PACKAGE
222 :introduced: frankfurt
224 If the Manifest file in the PNF CSAR package includes "onap_pnf_sw_information"
225 as a non-MANO artifact set identifiers, then the PNF software information file is
226 included in the package and it **MUST** be compliant to:
228 - The file extension which contains the PNF software version must be .yaml
230 - The PNF software version information must be specified as following:
234 pnf_software_information:
236 - pnf_software_version: "<version>"
240 VNF or PNF Package Authenticity and Integrity
241 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
243 VNF or PNF CSAR package shall support a method for authenticity and integrity
244 assurance. According to ETSI SOL004 the onboarding package shall be secured.
245 ETSI SOL004 provides two options:
247 Option 1 - One Digest for each components of the VNF or PNF package. The table
248 of hashes is included in the manifest file, which is signed with the VNF or PNF
249 provider private key. A signing certificate including the provider’s public key
250 shall be included in the package.
252 Option 2 - The complete CSAR file shall be digitally signed with the provider
253 private key. The provider delivers one zip file consisting of the CSAR file, a
254 signature file and a certificate file that includes the VNF provider public
257 *Dublin release note*
259 - VNFSDK pre-onboarding validation procedure:
260 - Option 1: specified in ETSI SOL004 is supported.
261 - Option 2: Will be supported in the future releases.
263 - SDC onboarding procedure:
264 - Option 1: Will be supported in the future releases.
265 - Option 2: specified in ETSI SOL004 is supported.
269 :target: VNF or PNF CSAR PACKAGE
273 If the VNF or PNF CSAR Package utilizes Option 2 for package security, then
274 the complete CSAR file **MUST** be digitally signed with the VNF or PNF
275 provider private key. The VNF or PNF provider delivers one zip file
276 consisting of the CSAR file, a signature file and a certificate file that
277 includes the VNF or PNF provider public key. The certificate may also be
278 included in the signature container, if the signature format allows that.
279 The VNF or PNF provider creates a zip file consisting of the CSAR file with
280 .csar extension, signature and certificate files. The signature and
281 certificate files must be siblings of the CSAR file with extensions .cms
282 and .cert respectively.
287 :target: VNF or PNF CSAR PACKAGE
292 If the VNF or PNF CSAR Package utilizes Option 1 for package security, then
293 the complete CSAR file **MUST** contain a Digest (a.k.a. hash) for each of
294 the components of the VNF or PNF package. The table of hashes is included
295 in the package manifest file, which is signed with the VNF or PNF provider
296 private key. In addition, the VNF or PNF provider MUST include a signing
297 certificate that includes the VNF or PNF provider public key, following a
298 TOSCA pre-defined naming convention and located either at the root of the
299 archive or in a predefined location specified by the TOSCA.meta file with
300 the corresponding entry named "ETSI-Entry-Certificate".
303 VNF Package ONAP Extensions
304 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
306 1. TOSCA data type extension tosca.datatypes.nfv.injectFile is used for vCPE
308 2. ONAP extensions for VNF package that is currently proposed for Dublin
309 release is VES extension described below.