blob: f6d1cbfb564189db8f0a46d5c584667578e77485 [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
MichaelMorrisd4a002d2022-11-08 14:14:18 +000019For an extensive guide on how to perform onboarding, please refer to the ONAP User guide
bilal.iqbal1a252d92019-08-14 15:15:45 +000020
21Heat Package
22^^^^^^^^^^^^
23The heat package is a zip archive with a .zip extension. The package contains heat template yaml file(s), corresponding
24environment file(s) and a MANIFEST.json file. The MANIFEST.json file describes the contents of the package.
25
26There must be at least one heat template yaml file in the package whose name starts with *base_*. The other heat
27templates in the package can have any name. All environment files that are included in the package must have the same
28name as its corresponding yaml file with a .env file extension.
29
MichaelMorrisd4a002d2022-11-08 14:14:18 +000030An example of a simple heat package structure is a zip archive containing the following 3 files
bilal.iqbal1a252d92019-08-14 15:15:45 +000031
32- base_vFW.yaml (heat template)
33- base_vFW.env (corresponding environment file)
34- MANIFEST.json (describes files included in the package)
35
ramagp4b88c422020-10-27 10:48:23 +000036Examples 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 +000037
38ONAP Tosca CSAR Package
39^^^^^^^^^^^^^^^^^^^^^^^
40The ONAP Tosca CSAR package is a zip archive with a .csar extension. The structure of the CSAR package is as described
41in `ONAP wiki page <https://wiki.onap.org/display/DW/Csar+Structure>`_
MichaelMorris02b91072022-09-22 10:39:16 +010042
43ASD CSAR Package
44^^^^^^^^^^^^^^^^
45The Application Service Descriptor CSAR package is a zip archive with a .csar extension. The structure of the CSAR and the descriptor it shall contain is described in `Application Service Descriptor (ASD) and packaging Proposals for CNF <https://wiki.onap.org/display/DW/Application+Service+Descriptor+%28ASD%29+and+packaging+Proposals+for+CNF>`_.
bilal.iqbal1a252d92019-08-14 15:15:45 +000046
47ETSI SOL004 Tosca CSAR Package
48^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
MichaelMorrise3935f02021-09-10 20:23:19 +010049The ETSI SOL004 Tosca CSAR Package is a zip archive with a .csar extension. The structure necessary for the supported CSAR package
50depends on the model selected in onboarding as detailed below.
51
52**SDC AID**
53
54If the package is onboarded using the SDC AID model, the structure of the supported CSAR package
bilal.iqbal1a252d92019-08-14 15:15:45 +000055is as described in `ETSI NFV-SOL 004v2.6.1`_ csar structure option 1 i.e. CSAR containing a TOSCA-Metadata directory.
56
MichaelMorrise3935f02021-09-10 20:23:19 +010057The 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>`_. The descriptor is partially mapped into the SDC AID model. There is also limited support for v2.7.1 and 3.3.1
58
59**ETSI SOL001 v2.5.1**
60
61If the package is onboarded using the ETSI SOL001 v2.5.1 model, the structure of the supported CSAR package
62is as described in `ETSI NFV-SOL 004v2.5.1`_ csar structure option 1 i.e. CSAR containing a TOSCA-Metadata directory.
63
MichaelMorrisd4a002d2022-11-08 14:14:18 +000064The supported descriptor included in the package is aligned to `ETSI NFV-SOL 001v2.5.1`_. The TOSCA types defined in this version of the ETSI NFV-SOL 001 are used in the created VF (rather than the types defined in the SDC AID model).
MichaelMorrise3935f02021-09-10 20:23:19 +010065
66Note in relation to model selection:
67
68- More than one model can be selected during onboarding. In the subsequent VSP import one model from the list of models selected at onboarding time must be selected.
69- For a package to be used in service design it must be imported with the same model as is selected during service creation.
bilal.iqbal1a252d92019-08-14 15:15:45 +000070
71Other Points to note when onboarding this package are:
72
73- During onboarding the ETSI NFV-SOL004 CSAR structure is transformed to the internal ONAP CSAR structure.
KrupaNagabhushan68843732020-08-28 12:09:06 +010074- 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 +000075- The non-mano artifacts are mapped to the corresponding SDC Artifact Type in the xNF internal model.
76
MichaelMorrise3935f02021-09-10 20:23:19 +010077
ChrisC8143fb52020-11-13 15:04:38 +010078Basic Helm package support for CNF
ChrisC295b20c2020-11-17 11:35:34 +010079^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ChrisC8143fb52020-11-13 15:04:38 +010080
81The helm package support is new since Guilin release, helm chart packaged as tgz file can be onboarded and distributed.
82The support is limited for this first release.
83
Tomasz Wrobelac69ef12021-05-18 16:04:25 +020084Since Istanbul release there is also an additional helm chart validation step during package onboarding process. More information: :ref:`SDC Helm Validator <sdc_helm_validator>`.
85
bilal.iqbal1a252d92019-08-14 15:15:45 +000086Package Types applicable to Resource Types
87------------------------------------------
88VF
89^^
90The 3 package types described in `Supported Package Types`_ are all applicable for a VF i.e. a VF can be onboarded using any of
91these package types.
92
93PNF
94^^^
95Only the `ETSI SOL004 Tosca CSAR Package`_ is applicable for a PNF.
96
97.. note::
98 The PNF is not explicitly mentioned in ETSI NFV-SOL 004v2.6.1. There is a CR pending on the SOL004 specification
99 describing the PNFD archive. SDC supports and expects the metadata section in the PNFD archive manifest to be
100 aligned with this CR i.e. the entries contain the following names (keys)
101
102 - pnfd_provider
103 - pnfd_name
104 - pnfd_release_date_time
105 - pnfd_archive_version
106
107 An example of valid manifest file metadata section
108 ::
109
110 metadata:
111 pnfd_name: MRF
112 pnfd_provider: SunShineCompany
113 pnfd_archive_version: 1.0
114 pnfd_release_date_time: 2017-01-01T10:00:00+03:00
115
116When the PNF package in onboarded, the PNFD (descriptor) is transformed from ETSI NFV-SOL 001 model to the internal
117ONAP model.
118
119How does SDC determine which package type is being onboarded
120------------------------------------------------------------
121SDC onboarding processes each of the package types differently. SDC determines which package type is being onboarded, and
MichaelMorrise3935f02021-09-10 20:23:19 +0100122hence which logic to use.
123
124If the ETSI SOL001 v2.5.1 model is selected during onboarding, SDC will always treat the package as an `ETSI SOL004 Tosca CSAR Package`_.
125
126If the SDC AID model is selected during onboarding, SDC will determine the package type based on the following.
bilal.iqbal1a252d92019-08-14 15:15:45 +0000127
ChrisC8143fb52020-11-13 15:04:38 +0100128First 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`_.
129
130To 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.
131
132If it determines that this is a Helm package, SDC will add dummy Heat descriptor files.
bilal.iqbal1a252d92019-08-14 15:15:45 +0000133
134If the package extension is *.csar* and the following is true
135
136- CSAR package contains TOSCA-Metadata directory
137- The TOSCA.meta file exists within the TOSCA-Metadata directory
MichaelMorrisd4a002d2022-11-08 14:14:18 +0000138- The TOSCA.meta file contains the following key names in block_0
bilal.iqbal1a252d92019-08-14 15:15:45 +0000139
140 - Entry-Definitions
141 - ETSI-Entry-Manifest
142 - ETSI-Entry-Change-Log
143
144then the package is treated as an `ETSI SOL004 Tosca CSAR Package`_. Otherwise the package is treated as an `ONAP Tosca CSAR Package`_.
145
146Package Security
147----------------
148SDC validates the authenticity and integrity of onboarding packages that are secured according to
149Security option 2 described in `ETSI NFV-SOL 004v2.6.1`_.
150
151In this option the whole package is signed and delivered as part of a zip file. SDC supports both zip file structures
152specified in the standard i.e
153
1541. Zip file containing 3 artifacts
155
156 a. Package
157 b. Signing Certificate File
158 c. Signature File
159
1602. Zip file containing 2 artifacts
161
162 a. Package
163 b. Signature File containing signing certificate
164
165SDC supports the signature in Cryptographic Message Syntax (CMS) format.
166
167.. note::
168 For SDC to validate the authenticity and integrity of the onboarding package, the root certificate of the trusted CA
MichaelMorrisd4a002d2022-11-08 14:14:18 +0000169 needs to be pre-installed in SDC before onboarding is started.
bilal.iqbal1a252d92019-08-14 15:15:45 +0000170
KrupaNagabhushan68843732020-08-28 12:09:06 +0100171.. _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
MichaelMorrise3935f02021-09-10 20:23:19 +0100172.. _ETSI NFV-SOL 004v2.5.1: https://docbox.etsi.org/ISG/NFV/Open/Publications_pdf/Specs-Reports/NFV-SOL%20004v2.5.1%20-%20GS%20-%20VNF%20Package%20Stage%203%20spec.pdf
173.. _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