bilal.iqbal | 1a252d9 | 2019-08-14 15:15:45 +0000 | [diff] [blame] | 1 | .. 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 | ======================== |
| 7 | Onboarding Package Types |
| 8 | ======================== |
| 9 | |
| 10 | Supported Package Types |
| 11 | ----------------------- |
| 12 | SDC supports the following packages types |
| 13 | |
| 14 | - Heat Package |
| 15 | - ONAP Tosca CSAR Package |
| 16 | - ETSI SOL004 Tosca CSAR Package |
ChrisC | 8143fb5 | 2020-11-13 15:04:38 +0100 | [diff] [blame] | 17 | - Basic Helm package support for CNF |
| 18 | |
MichaelMorris | d4a002d | 2022-11-08 14:14:18 +0000 | [diff] [blame] | 19 | For an extensive guide on how to perform onboarding, please refer to the ONAP User guide |
bilal.iqbal | 1a252d9 | 2019-08-14 15:15:45 +0000 | [diff] [blame] | 20 | |
| 21 | Heat Package |
| 22 | ^^^^^^^^^^^^ |
| 23 | The heat package is a zip archive with a .zip extension. The package contains heat template yaml file(s), corresponding |
| 24 | environment file(s) and a MANIFEST.json file. The MANIFEST.json file describes the contents of the package. |
| 25 | |
| 26 | There must be at least one heat template yaml file in the package whose name starts with *base_*. The other heat |
| 27 | templates in the package can have any name. All environment files that are included in the package must have the same |
| 28 | name as its corresponding yaml file with a .env file extension. |
| 29 | |
MichaelMorris | d4a002d | 2022-11-08 14:14:18 +0000 | [diff] [blame] | 30 | An example of a simple heat package structure is a zip archive containing the following 3 files |
bilal.iqbal | 1a252d9 | 2019-08-14 15:15:45 +0000 | [diff] [blame] | 31 | |
| 32 | - base_vFW.yaml (heat template) |
| 33 | - base_vFW.env (corresponding environment file) |
| 34 | - MANIFEST.json (describes files included in the package) |
| 35 | |
ramagp | 4b88c42 | 2020-10-27 10:48:23 +0000 | [diff] [blame] | 36 | Examples 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.iqbal | 1a252d9 | 2019-08-14 15:15:45 +0000 | [diff] [blame] | 37 | |
| 38 | ONAP Tosca CSAR Package |
| 39 | ^^^^^^^^^^^^^^^^^^^^^^^ |
| 40 | The ONAP Tosca CSAR package is a zip archive with a .csar extension. The structure of the CSAR package is as described |
| 41 | in `ONAP wiki page <https://wiki.onap.org/display/DW/Csar+Structure>`_ |
MichaelMorris | 02b9107 | 2022-09-22 10:39:16 +0100 | [diff] [blame] | 42 | |
| 43 | ASD CSAR Package |
| 44 | ^^^^^^^^^^^^^^^^ |
| 45 | The 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.iqbal | 1a252d9 | 2019-08-14 15:15:45 +0000 | [diff] [blame] | 46 | |
| 47 | ETSI SOL004 Tosca CSAR Package |
| 48 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
MichaelMorris | e3935f0 | 2021-09-10 20:23:19 +0100 | [diff] [blame] | 49 | The ETSI SOL004 Tosca CSAR Package is a zip archive with a .csar extension. The structure necessary for the supported CSAR package |
| 50 | depends on the model selected in onboarding as detailed below. |
| 51 | |
| 52 | **SDC AID** |
| 53 | |
| 54 | If the package is onboarded using the SDC AID model, the structure of the supported CSAR package |
bilal.iqbal | 1a252d9 | 2019-08-14 15:15:45 +0000 | [diff] [blame] | 55 | is as described in `ETSI NFV-SOL 004v2.6.1`_ csar structure option 1 i.e. CSAR containing a TOSCA-Metadata directory. |
| 56 | |
MichaelMorris | e3935f0 | 2021-09-10 20:23:19 +0100 | [diff] [blame] | 57 | The 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 | |
| 61 | If the package is onboarded using the ETSI SOL001 v2.5.1 model, the structure of the supported CSAR package |
| 62 | is as described in `ETSI NFV-SOL 004v2.5.1`_ csar structure option 1 i.e. CSAR containing a TOSCA-Metadata directory. |
| 63 | |
MichaelMorris | d4a002d | 2022-11-08 14:14:18 +0000 | [diff] [blame] | 64 | The 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). |
MichaelMorris | e3935f0 | 2021-09-10 20:23:19 +0100 | [diff] [blame] | 65 | |
| 66 | Note 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.iqbal | 1a252d9 | 2019-08-14 15:15:45 +0000 | [diff] [blame] | 70 | |
| 71 | Other 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. |
KrupaNagabhushan | 6884373 | 2020-08-28 12:09:06 +0100 | [diff] [blame] | 74 | - 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.iqbal | 1a252d9 | 2019-08-14 15:15:45 +0000 | [diff] [blame] | 75 | - The non-mano artifacts are mapped to the corresponding SDC Artifact Type in the xNF internal model. |
| 76 | |
MichaelMorris | e3935f0 | 2021-09-10 20:23:19 +0100 | [diff] [blame] | 77 | |
ChrisC | 8143fb5 | 2020-11-13 15:04:38 +0100 | [diff] [blame] | 78 | Basic Helm package support for CNF |
ChrisC | 295b20c | 2020-11-17 11:35:34 +0100 | [diff] [blame] | 79 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
ChrisC | 8143fb5 | 2020-11-13 15:04:38 +0100 | [diff] [blame] | 80 | |
| 81 | The helm package support is new since Guilin release, helm chart packaged as tgz file can be onboarded and distributed. |
| 82 | The support is limited for this first release. |
| 83 | |
Tomasz Wrobel | ac69ef1 | 2021-05-18 16:04:25 +0200 | [diff] [blame] | 84 | Since 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.iqbal | 1a252d9 | 2019-08-14 15:15:45 +0000 | [diff] [blame] | 86 | Package Types applicable to Resource Types |
| 87 | ------------------------------------------ |
| 88 | VF |
| 89 | ^^ |
| 90 | The 3 package types described in `Supported Package Types`_ are all applicable for a VF i.e. a VF can be onboarded using any of |
| 91 | these package types. |
| 92 | |
| 93 | PNF |
| 94 | ^^^ |
| 95 | Only 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 | |
| 116 | When the PNF package in onboarded, the PNFD (descriptor) is transformed from ETSI NFV-SOL 001 model to the internal |
| 117 | ONAP model. |
| 118 | |
| 119 | How does SDC determine which package type is being onboarded |
| 120 | ------------------------------------------------------------ |
| 121 | SDC onboarding processes each of the package types differently. SDC determines which package type is being onboarded, and |
MichaelMorris | e3935f0 | 2021-09-10 20:23:19 +0100 | [diff] [blame] | 122 | hence which logic to use. |
| 123 | |
| 124 | If 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 | |
| 126 | If the SDC AID model is selected during onboarding, SDC will determine the package type based on the following. |
bilal.iqbal | 1a252d9 | 2019-08-14 15:15:45 +0000 | [diff] [blame] | 127 | |
ChrisC | 8143fb5 | 2020-11-13 15:04:38 +0100 | [diff] [blame] | 128 | First 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 | |
| 130 | To 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 | |
| 132 | If it determines that this is a Helm package, SDC will add dummy Heat descriptor files. |
bilal.iqbal | 1a252d9 | 2019-08-14 15:15:45 +0000 | [diff] [blame] | 133 | |
| 134 | If 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 |
MichaelMorris | d4a002d | 2022-11-08 14:14:18 +0000 | [diff] [blame] | 138 | - The TOSCA.meta file contains the following key names in block_0 |
bilal.iqbal | 1a252d9 | 2019-08-14 15:15:45 +0000 | [diff] [blame] | 139 | |
| 140 | - Entry-Definitions |
| 141 | - ETSI-Entry-Manifest |
| 142 | - ETSI-Entry-Change-Log |
| 143 | |
| 144 | then the package is treated as an `ETSI SOL004 Tosca CSAR Package`_. Otherwise the package is treated as an `ONAP Tosca CSAR Package`_. |
| 145 | |
| 146 | Package Security |
| 147 | ---------------- |
| 148 | SDC validates the authenticity and integrity of onboarding packages that are secured according to |
| 149 | Security option 2 described in `ETSI NFV-SOL 004v2.6.1`_. |
| 150 | |
| 151 | In this option the whole package is signed and delivered as part of a zip file. SDC supports both zip file structures |
| 152 | specified in the standard i.e |
| 153 | |
| 154 | 1. Zip file containing 3 artifacts |
| 155 | |
| 156 | a. Package |
| 157 | b. Signing Certificate File |
| 158 | c. Signature File |
| 159 | |
| 160 | 2. Zip file containing 2 artifacts |
| 161 | |
| 162 | a. Package |
| 163 | b. Signature File containing signing certificate |
| 164 | |
| 165 | SDC 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 |
MichaelMorris | d4a002d | 2022-11-08 14:14:18 +0000 | [diff] [blame] | 169 | needs to be pre-installed in SDC before onboarding is started. |
bilal.iqbal | 1a252d9 | 2019-08-14 15:15:45 +0000 | [diff] [blame] | 170 | |
KrupaNagabhushan | 6884373 | 2020-08-28 12:09:06 +0100 | [diff] [blame] | 171 | .. _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 |
MichaelMorris | e3935f0 | 2021-09-10 20:23:19 +0100 | [diff] [blame] | 172 | .. _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 |