thmsdt | 9803c16 | 2019-04-25 08:16:14 +0200 | [diff] [blame] | 1 | .. This work is licensed under a Creative Commons Attribution 4.0 |
| 2 | .. International License. http://creativecommons.org/licenses/by/4.0 |
| 3 | .. Copyright 2019 ONAP Contributors. All rights reserved. |
| 4 | |
andreasgeissler | f3ba182 | 2019-05-24 13:22:42 +0200 | [diff] [blame] | 5 | .. _doc_guide_user_des_pre-onb: |
| 6 | |
thmsdt | 9803c16 | 2019-04-25 08:16:14 +0200 | [diff] [blame] | 7 | Pre-Onboarding |
| 8 | ============== |
| 9 | |
andreasgeissler | 3502b06 | 2019-06-05 21:14:56 +0200 | [diff] [blame] | 10 | * `Generate Manifest and Package Artifacts`_ (for HEAT based VNFs) |
| 11 | * `Validate xNF Package (VNF/PNF)`_ |
| 12 | |
thmsdt | 9803c16 | 2019-04-25 08:16:14 +0200 | [diff] [blame] | 13 | |
andreasgeissler | 3502b06 | 2019-06-05 21:14:56 +0200 | [diff] [blame] | 14 | .. _doc_guide_user_des_pre-onb_gen-man: |
thmsdt | 9803c16 | 2019-04-25 08:16:14 +0200 | [diff] [blame] | 15 | |
| 16 | Generate Manifest and Package Artifacts |
| 17 | --------------------------------------- |
| 18 | |
andreasgeissler | 3502b06 | 2019-06-05 21:14:56 +0200 | [diff] [blame] | 19 | .. note:: |
| 20 | This section describes the steps required to package a given HEAT |
| 21 | template into a zip-file, which can be onboarded to SDC. Instructions |
| 22 | to create TOSCA based VNF or PNF Onboarding Packages are not described |
| 23 | here |
| 24 | |
andreasgeissler | 8b0b146 | 2020-03-26 17:45:53 +0100 | [diff] [blame] | 25 | The for onboarding the zip-file requires besides the HEAT template also a MANIFEST.json file, which describes the content of the package. |
| 26 | To generate a MANIFEST.json file a script can be used offered by the SDC project: |
| 27 | `generate-manifest.py`_ |
| 28 | |
| 29 | These steps are performed outside SDC. |
thmsdt | 9803c16 | 2019-04-25 08:16:14 +0200 | [diff] [blame] | 30 | |
andreasgeissler | 3502b06 | 2019-06-05 21:14:56 +0200 | [diff] [blame] | 31 | **Prerequisites:** Obtain Heat/ENV files and other files required for |
| 32 | onboarding. The requirements are found in the following document. |
thmsdt | 9803c16 | 2019-04-25 08:16:14 +0200 | [diff] [blame] | 33 | |
andreasgeissler | 3502b06 | 2019-06-05 21:14:56 +0200 | [diff] [blame] | 34 | |
Aric Gardner | 6ceaa84 | 2020-04-10 14:00:17 -0400 | [diff] [blame] | 35 | :ref:`Heat requirements<onap-vnfrqts-requirements:master_index>` |
thmsdt | 9803c16 | 2019-04-25 08:16:14 +0200 | [diff] [blame] | 36 | |
| 37 | #. Put the Heat, ENV, nested Heat, and other files used by get-file in templates |
andreasgeissler | 8b0b146 | 2020-03-26 17:45:53 +0100 | [diff] [blame] | 38 | in a directory on a host, which supports python. |
thmsdt | 9803c16 | 2019-04-25 08:16:14 +0200 | [diff] [blame] | 39 | |
| 40 | Naming guidelines: |
| 41 | |
| 42 | - The base Heat should include "base" in the name. |
| 43 | - The ENV file name should match the name of the Heat file with which it |
| 44 | is associated. |
| 45 | - All get-file file names need to be unique. |
| 46 | |
| 47 | #. Put the python script in a directory one level above the directory that |
| 48 | contains the Heat/ENV and other files. |
| 49 | |
| 50 | For example, [dir x]/[dir y] |
| 51 | |
| 52 | - [dir y] contains the Heat/ENV files and other files |
| 53 | - [dir x] contains the python script |
| 54 | |
andreasgeissler | 8b0b146 | 2020-03-26 17:45:53 +0100 | [diff] [blame] | 55 | #. Run the script via command line: |
thmsdt | 9803c16 | 2019-04-25 08:16:14 +0200 | [diff] [blame] | 56 | |
andreasgeissler | 3502b06 | 2019-06-05 21:14:56 +0200 | [diff] [blame] | 57 | .. code-block:: python |
thmsdt | 9803c16 | 2019-04-25 08:16:14 +0200 | [diff] [blame] | 58 | |
andreasgeissler | 3502b06 | 2019-06-05 21:14:56 +0200 | [diff] [blame] | 59 | python generate-manifest.py -f "dir y" |
thmsdt | 9803c16 | 2019-04-25 08:16:14 +0200 | [diff] [blame] | 60 | |
| 61 | #. Examine the manifest file and confirm that is correct. |
| 62 | |
| 63 | #. Package all Heat/ENV files, all other files, and the MANIFEST.json |
| 64 | into one .zip file. |
| 65 | |
andreasgeissler | 8b0b146 | 2020-03-26 17:45:53 +0100 | [diff] [blame] | 66 | Example packages can be found in the SDC poject: `example-packages`_ |
| 67 | |
andreasgeissler | 3502b06 | 2019-06-05 21:14:56 +0200 | [diff] [blame] | 68 | .. _doc_guide_user_des_pre-onb_val: |
| 69 | |
| 70 | Validate xNF Package (VNF/PNF) |
| 71 | ------------------------------ |
| 72 | |
| 73 | VNF and PNF packages have to follow the requirements described in: |
| 74 | |
Aric Gardner | 6ceaa84 | 2020-04-10 14:00:17 -0400 | [diff] [blame] | 75 | :ref:``VNF and PNF Modeling Requirements<vnfrqts-requirements:master_index>` |
andreasgeissler | 3502b06 | 2019-06-05 21:14:56 +0200 | [diff] [blame] | 76 | |
Aric Gardner | 6ceaa84 | 2020-04-10 14:00:17 -0400 | [diff] [blame] | 77 | :ref:``ONAP Management Requirements<vnfrqts-requirements:master_index>` |
andreasgeissler | 3502b06 | 2019-06-05 21:14:56 +0200 | [diff] [blame] | 78 | |
| 79 | For Validation of VNF and PNF packages the tools delivered by VNFSDK can be |
| 80 | used: |
| 81 | |
andreasgeissler | 8b0b146 | 2020-03-26 17:45:53 +0100 | [diff] [blame] | 82 | `VNF Validation Documentation <../../../onap-provider/vnfvalidator.rst>`_ |
andreasgeissler | 3502b06 | 2019-06-05 21:14:56 +0200 | [diff] [blame] | 83 | |
| 84 | Prior to resource onboarding, the Certification Group does the following: |
| 85 | |
| 86 | - for VNF and PNF |
| 87 | - Validation of the delivered xNF package and artifacts |
| 88 | - using the VNF Validation Tools |
| 89 | - in case of VNF |
| 90 | - onboards the Heat template(s) and metadata to the SDC catalog |
| 91 | - creates a test VF |
| 92 | - runs the Heat scanning tools |
| 93 | - shares the results with any group that approves Virtual Functions |
| 94 | |
| 95 | In parallel, the Certification Group onboards the VF Image and OS to a |
| 96 | standalone ONAP instance (the "sandbox") and performs the following: |
| 97 | |
| 98 | - security scan |
| 99 | - compatibility test for the OS and vendor binary |
| 100 | - malware scan |
| 101 | |
| 102 | The Certification group then instantiates the VF image using the vendor |
| 103 | Heat (if provided) in order to validate that the VM can run on the Network |
| 104 | Cloud. |
| 105 | |
| 106 | No VF functionality testing is performed at this stage. |
| 107 | |
thmsdt | 9803c16 | 2019-04-25 08:16:14 +0200 | [diff] [blame] | 108 | |
andreasgeissler | 8b0b146 | 2020-03-26 17:45:53 +0100 | [diff] [blame] | 109 | .. _generate-manifest.py: https://git.onap.org/sdc/tree/openecomp-be/tools/scripts/generate-manifest.py |
Aric Gardner | 6ceaa84 | 2020-04-10 14:00:17 -0400 | [diff] [blame] | 110 | .. _example-packages: https://git.onap.org/sdc/tree/test-apis-ci/sdc-api-tests/chef-repo/cookbooks/sdc-api-tests/files/default/Files |