blob: 82e533417275819cea060795dd54520ae8d59fd7 [file] [log] [blame]
bilal.iqbal1a252d92019-08-14 15:15:45 +00001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2.. http://creativecommons.org/licenses/by/4.0
3
4.. _sdc_onboarding_package_types:
5
6========================
7Onboarding Package Types
8========================
9
10Supported Package Types
11-----------------------
12SDC supports the following packages types
13
14- Heat Package
15- ONAP Tosca CSAR Package
16- ETSI SOL004 Tosca CSAR Package
ChrisC8143fb52020-11-13 15:04:38 +010017- Basic Helm package support for CNF
18
19For an extensive guide on how to perform onboarding, please refer to the ONAP User guide:
ChrisC295b20c2020-11-17 11:35:34 +010020* :ref:`User Guides <onap-doc:doc_guide_user_des>`
ChrisC8143fb52020-11-13 15:04:38 +010021
bilal.iqbal1a252d92019-08-14 15:15:45 +000022
23Heat Package
24^^^^^^^^^^^^
25The heat package is a zip archive with a .zip extension. The package contains heat template yaml file(s), corresponding
26environment file(s) and a MANIFEST.json file. The MANIFEST.json file describes the contents of the package.
27
28There must be at least one heat template yaml file in the package whose name starts with *base_*. The other heat
29templates in the package can have any name. All environment files that are included in the package must have the same
30name as its corresponding yaml file with a .env file extension.
31
32An example of a simple heat package stucture is a zip archive containing the following 3 files
33
34- base_vFW.yaml (heat template)
35- base_vFW.env (corresponding environment file)
36- MANIFEST.json (describes files included in the package)
37
ramagp4b88c422020-10-27 10:48:23 +000038Examples of heat packages are the packages with .zip extension available in `SDC git repo <https://git.onap.org/sdc/tree/integration-tests/src/test/resources/Files/VNFs>`_
bilal.iqbal1a252d92019-08-14 15:15:45 +000039
40ONAP Tosca CSAR Package
41^^^^^^^^^^^^^^^^^^^^^^^
42The ONAP Tosca CSAR package is a zip archive with a .csar extension. The structure of the CSAR package is as described
43in `ONAP wiki page <https://wiki.onap.org/display/DW/Csar+Structure>`_
44
45ETSI SOL004 Tosca CSAR Package
46^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
47The ETSI SOL004 Tosca CSAR Package is a zip archive with a .csar extension. The structure of the supported CSAR package
48is as described in `ETSI NFV-SOL 004v2.6.1`_ csar structure option 1 i.e. CSAR containing a TOSCA-Metadata directory.
49
50The supported descriptor included in the package is aligned to `ETSI NFV-SOL 001v2.5.1 <https://docbox.etsi.org/ISG/NFV/Open/Publications_pdf/Specs-Reports/NFV-SOL%20001v2.5.1%20-%20GS%20-%20TOSCA-based%20NFV%20descriptors%20spec.pdf>`_
51
52Other Points to note when onboarding this package are:
53
54- During onboarding the ETSI NFV-SOL004 CSAR structure is transformed to the internal ONAP CSAR structure.
KrupaNagabhushan68843732020-08-28 12:09:06 +010055- The original input CSAR is maintained and stored as the SDC artifact *ETSI_PACKAGE* in the xNF internal model. For existing legacy xNF, it can be stored as *ONBOARDED_PACKAGE* instead.
bilal.iqbal1a252d92019-08-14 15:15:45 +000056- The non-mano artifacts are mapped to the corresponding SDC Artifact Type in the xNF internal model.
57
ChrisC8143fb52020-11-13 15:04:38 +010058Basic Helm package support for CNF
ChrisC295b20c2020-11-17 11:35:34 +010059^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ChrisC8143fb52020-11-13 15:04:38 +010060
61The helm package support is new since Guilin release, helm chart packaged as tgz file can be onboarded and distributed.
62The support is limited for this first release.
63
Tomasz Wrobelac69ef12021-05-18 16:04:25 +020064Since Istanbul release there is also an additional helm chart validation step during package onboarding process. More information: :ref:`SDC Helm Validator <sdc_helm_validator>`.
65
bilal.iqbal1a252d92019-08-14 15:15:45 +000066Package Types applicable to Resource Types
67------------------------------------------
68VF
69^^
70The 3 package types described in `Supported Package Types`_ are all applicable for a VF i.e. a VF can be onboarded using any of
71these package types.
72
73PNF
74^^^
75Only the `ETSI SOL004 Tosca CSAR Package`_ is applicable for a PNF.
76
77.. note::
78 The PNF is not explicitly mentioned in ETSI NFV-SOL 004v2.6.1. There is a CR pending on the SOL004 specification
79 describing the PNFD archive. SDC supports and expects the metadata section in the PNFD archive manifest to be
80 aligned with this CR i.e. the entries contain the following names (keys)
81
82 - pnfd_provider
83 - pnfd_name
84 - pnfd_release_date_time
85 - pnfd_archive_version
86
87 An example of valid manifest file metadata section
88 ::
89
90 metadata:
91 pnfd_name: MRF
92 pnfd_provider: SunShineCompany
93 pnfd_archive_version: 1.0
94 pnfd_release_date_time: 2017-01-01T10:00:00+03:00
95
96When the PNF package in onboarded, the PNFD (descriptor) is transformed from ETSI NFV-SOL 001 model to the internal
97ONAP model.
98
99How does SDC determine which package type is being onboarded
100------------------------------------------------------------
101SDC onboarding processes each of the package types differently. SDC determines which package type is being onboarded, and
102hence which logic to use, based on the following
103
ChrisC8143fb52020-11-13 15:04:38 +0100104First SDC checks the extension of the package. If the package extension is *.zip* then the package is treated as a `Heat package`_ or `Basic Helm package support for CNF`_.
105
106To determine whether the package is of type Helm, SDC looks into the package content and tries to find Helm base files if not found it will treat it as Heat.
107
108If it determines that this is a Helm package, SDC will add dummy Heat descriptor files.
bilal.iqbal1a252d92019-08-14 15:15:45 +0000109
110If the package extension is *.csar* and the following is true
111
112- CSAR package contains TOSCA-Metadata directory
113- The TOSCA.meta file exists within the TOSCA-Metadata directory
114- The TOSCA.meta file contains the following keynames in block_0
115
116 - Entry-Definitions
117 - ETSI-Entry-Manifest
118 - ETSI-Entry-Change-Log
119
120then the package is treated as an `ETSI SOL004 Tosca CSAR Package`_. Otherwise the package is treated as an `ONAP Tosca CSAR Package`_.
121
122Package Security
123----------------
124SDC validates the authenticity and integrity of onboarding packages that are secured according to
125Security option 2 described in `ETSI NFV-SOL 004v2.6.1`_.
126
127In this option the whole package is signed and delivered as part of a zip file. SDC supports both zip file structures
128specified in the standard i.e
129
1301. Zip file containing 3 artifacts
131
132 a. Package
133 b. Signing Certificate File
134 c. Signature File
135
1362. Zip file containing 2 artifacts
137
138 a. Package
139 b. Signature File containing signing certificate
140
141SDC supports the signature in Cryptographic Message Syntax (CMS) format.
142
143.. note::
144 For SDC to validate the authenticity and integrity of the onboarding package, the root certificate of the trusted CA
145 needs to be pre-installed in SDC before onboarding is started. The details of this procedure are described :ref:`here <doc_guide_user_des_res-onb_pre-install_root_certificate>`.
146
KrupaNagabhushan68843732020-08-28 12:09:06 +0100147.. _ETSI NFV-SOL 004v2.6.1: https://docbox.etsi.org/ISG/NFV/Open/Publications_pdf/Specs-Reports/NFV-SOL%20004v2.6.1%20-%20GS%20-%20VNF%20Package%20Stage%203%20-%20spec.pdf