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 | |
| 19 | For an extensive guide on how to perform onboarding, please refer to the ONAP User guide: |
| 20 | * :ref:`doc_guide_user_des` |
| 21 | |
bilal.iqbal | 1a252d9 | 2019-08-14 15:15:45 +0000 | [diff] [blame] | 22 | |
| 23 | Heat Package |
| 24 | ^^^^^^^^^^^^ |
| 25 | The heat package is a zip archive with a .zip extension. The package contains heat template yaml file(s), corresponding |
| 26 | environment file(s) and a MANIFEST.json file. The MANIFEST.json file describes the contents of the package. |
| 27 | |
| 28 | There must be at least one heat template yaml file in the package whose name starts with *base_*. The other heat |
| 29 | templates in the package can have any name. All environment files that are included in the package must have the same |
| 30 | name as its corresponding yaml file with a .env file extension. |
| 31 | |
| 32 | An 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 | |
ramagp | 4b88c42 | 2020-10-27 10:48:23 +0000 | [diff] [blame] | 38 | 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] | 39 | |
| 40 | ONAP Tosca CSAR Package |
| 41 | ^^^^^^^^^^^^^^^^^^^^^^^ |
| 42 | The ONAP Tosca CSAR package is a zip archive with a .csar extension. The structure of the CSAR package is as described |
| 43 | in `ONAP wiki page <https://wiki.onap.org/display/DW/Csar+Structure>`_ |
| 44 | |
| 45 | ETSI SOL004 Tosca CSAR Package |
| 46 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 47 | The ETSI SOL004 Tosca CSAR Package is a zip archive with a .csar extension. The structure of the supported CSAR package |
| 48 | is as described in `ETSI NFV-SOL 004v2.6.1`_ csar structure option 1 i.e. CSAR containing a TOSCA-Metadata directory. |
| 49 | |
| 50 | 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>`_ |
| 51 | |
| 52 | Other 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. |
KrupaNagabhushan | 6884373 | 2020-08-28 12:09:06 +0100 | [diff] [blame] | 55 | - 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] | 56 | - The non-mano artifacts are mapped to the corresponding SDC Artifact Type in the xNF internal model. |
| 57 | |
ChrisC | 8143fb5 | 2020-11-13 15:04:38 +0100 | [diff] [blame] | 58 | Basic Helm package support for CNF |
| 59 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 60 | |
| 61 | The helm package support is new since Guilin release, helm chart packaged as tgz file can be onboarded and distributed. |
| 62 | The support is limited for this first release. |
| 63 | |
bilal.iqbal | 1a252d9 | 2019-08-14 15:15:45 +0000 | [diff] [blame] | 64 | Package Types applicable to Resource Types |
| 65 | ------------------------------------------ |
| 66 | VF |
| 67 | ^^ |
| 68 | 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 |
| 69 | these package types. |
| 70 | |
| 71 | PNF |
| 72 | ^^^ |
| 73 | Only the `ETSI SOL004 Tosca CSAR Package`_ is applicable for a PNF. |
| 74 | |
| 75 | .. note:: |
| 76 | The PNF is not explicitly mentioned in ETSI NFV-SOL 004v2.6.1. There is a CR pending on the SOL004 specification |
| 77 | describing the PNFD archive. SDC supports and expects the metadata section in the PNFD archive manifest to be |
| 78 | aligned with this CR i.e. the entries contain the following names (keys) |
| 79 | |
| 80 | - pnfd_provider |
| 81 | - pnfd_name |
| 82 | - pnfd_release_date_time |
| 83 | - pnfd_archive_version |
| 84 | |
| 85 | An example of valid manifest file metadata section |
| 86 | :: |
| 87 | |
| 88 | metadata: |
| 89 | pnfd_name: MRF |
| 90 | pnfd_provider: SunShineCompany |
| 91 | pnfd_archive_version: 1.0 |
| 92 | pnfd_release_date_time: 2017-01-01T10:00:00+03:00 |
| 93 | |
| 94 | When the PNF package in onboarded, the PNFD (descriptor) is transformed from ETSI NFV-SOL 001 model to the internal |
| 95 | ONAP model. |
| 96 | |
| 97 | How does SDC determine which package type is being onboarded |
| 98 | ------------------------------------------------------------ |
| 99 | SDC onboarding processes each of the package types differently. SDC determines which package type is being onboarded, and |
| 100 | hence which logic to use, based on the following |
| 101 | |
ChrisC | 8143fb5 | 2020-11-13 15:04:38 +0100 | [diff] [blame] | 102 | 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`_. |
| 103 | |
| 104 | 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. |
| 105 | |
| 106 | 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] | 107 | |
| 108 | If the package extension is *.csar* and the following is true |
| 109 | |
| 110 | - CSAR package contains TOSCA-Metadata directory |
| 111 | - The TOSCA.meta file exists within the TOSCA-Metadata directory |
| 112 | - The TOSCA.meta file contains the following keynames in block_0 |
| 113 | |
| 114 | - Entry-Definitions |
| 115 | - ETSI-Entry-Manifest |
| 116 | - ETSI-Entry-Change-Log |
| 117 | |
| 118 | then the package is treated as an `ETSI SOL004 Tosca CSAR Package`_. Otherwise the package is treated as an `ONAP Tosca CSAR Package`_. |
| 119 | |
| 120 | Package Security |
| 121 | ---------------- |
| 122 | SDC validates the authenticity and integrity of onboarding packages that are secured according to |
| 123 | Security option 2 described in `ETSI NFV-SOL 004v2.6.1`_. |
| 124 | |
| 125 | In this option the whole package is signed and delivered as part of a zip file. SDC supports both zip file structures |
| 126 | specified in the standard i.e |
| 127 | |
| 128 | 1. Zip file containing 3 artifacts |
| 129 | |
| 130 | a. Package |
| 131 | b. Signing Certificate File |
| 132 | c. Signature File |
| 133 | |
| 134 | 2. Zip file containing 2 artifacts |
| 135 | |
| 136 | a. Package |
| 137 | b. Signature File containing signing certificate |
| 138 | |
| 139 | SDC supports the signature in Cryptographic Message Syntax (CMS) format. |
| 140 | |
| 141 | .. note:: |
| 142 | For SDC to validate the authenticity and integrity of the onboarding package, the root certificate of the trusted CA |
| 143 | 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>`. |
| 144 | |
KrupaNagabhushan | 6884373 | 2020-08-28 12:09:06 +0100 | [diff] [blame] | 145 | .. _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 |