summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/Chapter8/OPNFV-Verified-Badging.rst259
1 files changed, 6 insertions, 253 deletions
diff --git a/docs/Chapter8/OPNFV-Verified-Badging.rst b/docs/Chapter8/OPNFV-Verified-Badging.rst
index 946bc6b..9df4d2c 100644
--- a/docs/Chapter8/OPNFV-Verified-Badging.rst
+++ b/docs/Chapter8/OPNFV-Verified-Badging.rst
@@ -75,275 +75,28 @@ to the appropriate section based on your VNF.
* :ref:`heat_vnf_validation`
* :ref:`tosca_vnf_validation`
-
.. _heat_vnf_validation:
Heat-based VNF Validation
~~~~~~~~~~~~~~~~~~~~~~~~~
-This section describes how to setup and execute the validation tests against
-a VNF that is described using OpenStack Heat.
-
-Prerequisites
-+++++++++++++
-
-- ONAP El Alto Release deployed via :doc:`OOM <../../../../oom.git/docs/oom_quickstart_guide>`
-- An OpenStack deployment is available and privisioned as ONAP's Cloud Site
-- `kubectl <https://kubernetes.io/docs/tasks/tools/install-kubectl/>`__ is
- installed on the system used to start the testing
-- bash
-- VNF Heat Templates
-- Preload JSON files
-
-After deploying ONAP, you need to configure ONAP with:
-
-- A cloud owner
-- A cloud region
-- A subscriber
-- A service type
-- A project name
-- An owning entity
-- A platform
-- A line of business
-- A cloud site
-
-If you're not familiar with how to configure ONAP, there are guides that use
-:doc:`Robot <../../../../integration.git/docs/docs_robot>` or
-`REST API calls <https://wiki.onap.org/pages/viewpage.action?pageId=25431491>`__
-to handle the setup (including adding a new OpenStack site to ONAP).
-
-Validation Setup
-++++++++++++++++
-
-On your local machine, or the system from which you will run the tests, you will need to clone the
-ONAP OOM project repo:
-
-.. code-block:: bash
-
- git clone --branch 5.0.1-ONAP ssh://<username>@gerrit.onap.org:29418/oom --recurse-submodules
-
-VNF Preparation
-+++++++++++++++
-
-The VNF lifecycle validation test suite requires the VNF to be packaged into a
-specific directory hierarchy, shown below.
-
-.. code-block::
-
- vnf_folder
- ├── /templates
- | └── base.yaml
- | └── base.env
- | └── incremental_0.yaml
- | └── incremental_0.env
- | └── ...
- ├── /preloads
- | └── base_preload.json
- | └── incremental_0_preload.json
- | └── ...
- └── vnf-details.json
-
-- The name for ``vnf_folder`` is free-form, and can be located anywhere on your
- computer. The path to this folder will be passed to the test suite as an
- argument.
-- ``/templates`` should contain your VVP-compliant VNF heat templates.
-- ``/preloads`` should contain a preload file for each VNF module
-
- - For a VNF-API preload: ``vnf-name``, ``vnf-type``, ``generic-vnf-type``,
- and ``generic-vnf-name`` should be empty strings.
- - For a GR-API preload: ``vnf-name``, ``vnf-type``, ``vf-module-type``,
- and ``vf-module-name`` should be empty strings.
- - This information will be populated at runtime by the test suite.
-
-- ``vnf-details`` should be a JSON file with the information that will be used
- by ONAP to instantiate the VNF. The structure of ``vnf-details`` is shown below.
-- VNF disk image must be uploaded and available in the OpenStack project being
- managed by ONAP
-- ``modules`` must contain an entry for each module of the VNF. Only one module
- can be a base module.
-- ``api_type`` should match the format of the preloads (``vnf_api``
- or ``gr_api``) that are provided in the package.
-- The other information should match what was used to configure ONAP during the
- pre-requisite section of this guide.
-
-.. code-block:: json
-
- {
- "vnf_name": "The Vnf Name",
- "description": "Description of the VNF",
- "modules": [
- {
- "filename": "base.yaml",
- "isBase": "true",
- "preload": "base_preload.json"
- },
- {
- "filename": "incremental_0.yaml",
- "isBase": "false",
- "preload": "incremental_0.json"
- },
- ],
- "api_type": "[gr_api] or [vnf_api]",
- "subscriber": "<subscriber name>",
- "service_type": "<service type>",
- "tenant_name": "<name of tenant>",
- "region_id": "<name of region>",
- "cloud_owner": "<name of cloud owner>",
- "project_name": "<name of project>",
- "owning_entity": "<name of owning entity>",
- "platform": "<name of platform>",
- "line_of_business": "<name of line of business>",
- "os_password": "<openstack password>"
- }
-
-Running the HEAT VNF Test
-+++++++++++++++++++++++++
-
-The ONAP OOM Robot framework will run the test, using ``kubectl`` to manage the
-execution. The framework will copy your VNF template files to the Robot
-container required to execute the test.
-
-.. code-block:: bash
-
- cd oom/kubernetes/robot
- $ ./instantiate-k8s.sh --help
- ./instantiate-k8s.sh [options]
-
- required:
- -n, --namespace <namespace> namespace that robot pod is running under.
- -f, --folder <folder> path to folder containing heat templates, preloads, and vnf-details.json.
-
- additional options:
- -p, --poll some cloud environments (like azure) have a short time out value when executing
- kubectl. If your shell exits before the test suite finishes, using this option
- will poll the test suite logs every 30 seconds until the test finishes.
- -t, --tag <tag> robot testcase tag to execute (default is instantiate_vnf).
-
- This script executes the VNF instantiation robot test suite.
- - It copies the VNF folder to the robot container that is part of the ONAP deployment.
- - It models, distributes, and instantiates a heat-based VNF.
- - It copies the logs to an output directory, and creates a tarball for upload to the OVP portal.
-
-
-**Sample execution:**
+Instructions
+++++++++++++
-.. code-block:: bash
-
- $ ./instantiate-k8s.sh --namespace onap --folder /tmp/vnf-instantiation/examples/VNF_API/pass/multi_module/ --poll
- ...
- ...
- ...
- ...
- ------------------------------------------------------------------------------
- test suites.Vnf Instantiation :: The main driver for instantiating ... | PASS |
- 1 critical test, 1 passed, 0 failed
- 1 test total, 1 passed, 0 failed
- ==============================================================================
- test suites | PASS |
- 1 critical test, 1 passed, 0 failed
- 1 test total, 1 passed, 0 failed
- ==============================================================================
- Output: /share/logs/0003_ete_instantiate_vnf/output.xml
- + set +x
- test suite has finished
- Copying Results from pod...
- /tmp/vnf-instantiation /tmp/vnf-instantiation
- a log.html
- a results.json
- a stack_report.json
- a validation-scripts.json
- /tmp/vnf-instantiation
- VNF test results: /tmp/vnfdata.46749/vnf_heat_results.tar.gz
-
-The test suite takes about 10-15 minutes for a simple VNF, and will take longer
-for a more complicated VNF.
+The instructions for setting up and running the validation scripts can be found
+on the `VVP Test Engine GitHub site <https://github.com/onap/vvp-test-engine/tree/frankfurt/ovp_testsuite>`__.
Reporting Results
+++++++++++++++++
-Once the test suite is finished, it will create a directory and tarball in
-``/tmp`` (the name of the directory and file is shown at the end of the stdout
-of the script). There will be a ``results.json`` file in that directory
-that has the ultimate outcome of the test, in the structure shown below.
-
-**Log Files**
-
-The output tar file will have 4 log files in it.
-
-- ``results.json``: This is high-level results file of all of the test steps,
- and is consumed by the OVP portal.
-- ``report.json``: This is the output of the VVP validation scripts.
-- ``stack_report.json``: This is the output from querying OpenStack to validate
- the Heat modules.
-- ``log.html``: This is the Robot test log, and contains each execution step of
- the test case.
-
-If the result is ``"PASS"``, that means the test suite was successful and the
-tarball is ready for submission to the OVP portal.
-
-**results.json**
-
-.. code-block:: json
-
- {
- "vnf_checksum": "afc57604a3b3b7401d5b8648328807b594d7711355a2315095ac57db4c334a50",
- "build_tag": "vnf-validation-7055d30b-9a2e-4ca2-9409-499131cc86db",
- "version": "2019.12",
- "test_date": "2019-09-04 17:50:10.575",
- "duration": 437.002,
- "vnf_type": "heat",
- "testcases_list": [
- {
- "mandatory": "true",
- "name": "onap-vvp.validate.heat",
- "result": "PASS",
- "objective": "onap heat template validation",
- "sub_testcase": [],
- "portal_key_file": "report.json"
- },
- {
- "mandatory": "true",
- "name": "onap-vvp.lifecycle_validate.heat",
- "result": "PASS",
- "objective": "onap vnf lifecycle validation",
- "sub_testcase": [
- {
- "name": "model-and-distribute",
- "result": "PASS"
- },
- {
- "name": "instantiation",
- "result": "PASS"
- }
- ],
- "portal_key_file": "log.html"
- },
- {
- "mandatory": "true",
- "name": "stack_validation",
- "result": "PASS",
- "objective": "onap vnf openstack validation",
- "sub_testcase": [],
- "portal_key_file": "stack_report.json"
- }
- ]
- }
-
-Examples
-++++++++
-
-Example VNFs and setup files have been created as a starting point for your
-validation.
-
-* :download:`Passing Single Volume VNF using VNF API <input-VNF-API-pass-single_module.zip>`
-* :download:`Failing Single Volume VNF using VNF API <input-VNF-API-fail-single_module.zip>`
+Once the test suite passes, the results tarball can be submitted to the
+`OPNFV Verification Program VNF Portal <https://vnf-verified.lfnetworking.org/#/>`__.
Additional Resources
++++++++++++++++++++
- `ONAP VVP Project <https://wiki.onap.org/display/DW/VNF+Validation+Program+Project>`_
-
.. _tosca_vnf_validation:
TOSCA-based VNF Testing