From 8821cb26ccb6161e2d3e32ee2f7f572f1d6cb73a Mon Sep 17 00:00:00 2001 From: brucetcisco Date: Thu, 1 Mar 2018 14:33:28 -0600 Subject: Dovetail integration documentation Issue-ID: VNFSDK-220 Change-Id: Ib45cab8a0773b861214b9fdd88ee1d99c1ed3990 Signed-off-by: brucetcisco --- docs/files/Dovetail.rst | 220 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 220 insertions(+) create mode 100644 docs/files/Dovetail.rst (limited to 'docs/files/Dovetail.rst') diff --git a/docs/files/Dovetail.rst b/docs/files/Dovetail.rst new file mode 100644 index 0000000..2d09de6 --- /dev/null +++ b/docs/files/Dovetail.rst @@ -0,0 +1,220 @@ +.. Dovetail Integeration documentation master file, created by + sphinx-quickstart on Fri Feb 23 11:49:11 2018. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to Dovetail Integration's documentation! +================================================= + +Contents: + +.. toctree:: + :maxdepth: 2 + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` + +User Stories +============ + +1. An ONAP User wants to ensure that VNFs which appear in the VNF + Marketplace can be on-boarded with the Service Design & Creation tool + without errors. + +2. An ONAP User would like to be able to run VNF Certification tests on + demand using a common user interface independent of the test being + run. + +3. An ONAP Certification Authority wants a central repository in which + to examine the results of tests run by ONAP Users + +4. An ONAP Certification Authority wants to be able to determine that + VNF certification tests run by ONAP Users were executed properly. + +5. An ONAP VNF Test Developer wants a consistent environment in which to + develop tests. + +OPNFV Dovetail Description +========================== + +The Open Platform for NFV (OPNFV) is a collaborative project under the +Linux Foundation that is transforming global networks through open +source Network Functions Virtualization (NFV). OPNFV focuses on +developing test suites for Open Source implementations of the NFV +infrastructure components such as those specified in the ETSI Mano +architecture. Areas of focus in OPNFV include: Virtualized +Infrastructure Managers (VIM) such as OpenStack and Software Defined +Networking Controllers (SDNC) such as Open Daylight. + +The OPNFV Dovetail project is responsible for the testing framework in +OPNFV. The Dovetail testing framework is currently used by all of the +active OPNFV projects. Dovetail has been through ~3 OPNFV release cycles +and has been hardened in the process. The Dovetail community includes +~15 companies and ~20 active developers. + +The Dovetail test framework includes the following features which make +it ideal as the test framework for VNF certification testing: + +1. Provides a Generic Test Framework + +.. + + While the Dovetail project is currently being used in OPNFV as the + test framework for NFV infrastructure testing, there is nothing that + limits the Dovetail test framework to NFV infrastructure testing. + This allows the same test framework to be used across multiple NFV + initiatives (OPNFV and ONAP) and across multiple (NFV infrastructure + and VNF certification) test suites. + +2. Separates the Vendor and Certification Authority environment + +.. + + Dovetail uses an authenticated REST interface which is used by the + test environment to report test results to the test repository. This + allows the test repository to be located in a different + administrative domain than the test runtime environment. + +3. Separates the test environment from the test framework environment + + Dovetail launches tests in a Docker container. This provides some + isolation of the test environment from the test framework + environment. + +Figure 1 below illustrates the Dovetail test framework architecture. + +.. image:: ./image1.png + +Figure 1: OPNFV Dovetail Test Framework Architecture + +Implementation Overview +======================= + +OPNFV Dovetail will be integrated into the ONAP VNF Marketplace. The +ONAP VNF Marketplace is an ONAP application which displays all VNFs that +are available in an ONAP instantiation for incorporation into an ONAP +Network Service. Dovetail will be integrated into the VNF Marketplace +ingest flow and will also be available as a general service which can be +used to run additional VNF certification tests after the VNF Package has +been uploaded to the VNF Marketplace. + +The VNF Marketplace ingest flow performs basic tests on a VNF package +before it is uploaded into the ONAP VNF Marketplace. Tests which fall +into this category will be incorporated into the ONAP VNF Package +Validation test suite. + +The Dovetail client will also be available as a service in the VNF +Marketplace. The Dovetail client is an interactive application which +allows additional VNF Certification tests to be run on a VNF after the +VNF Package has been uploaded to the VNF Marketplace. The Dovetail +client will indicate which certification tests have been successfully +run on each VNF in the VNF Marketplace. VNF Vendors that are interested +in obtaining additional certifications for VNFs that have been uploaded +in the marketplace will have the ability to work with Certification Test +suppliers to obtain and run advanced certification tests. Figure 2 +illustrates how the VNF Certification Framework is being integrated into +ONAP. + +.. image:: ./image2.png + +Figure 2: ONAP VNF Certification Framework + +Figure 2 illustrates the flow that is used to execute the VNF Package On +Boarding test suite as part of the VNF ingest flow of the ONAP VNF +Marketplace. + +1. Initiate Upload + +.. + + The VNF Vendor initiates a VNF upload request to the ONAP VNF + Marketplace. This API call includes a reference to the VNF Package + the vendor wants to upload. + +2. Download testing client + +.. + + The VNF Marketplace executes the VNF Package On Boarding test suite + as part of the VNF ingest flow. The first step in this process is to + instantiate the Dovetail testing client. The Dovetail client is + instantiated with a parameter which specifies the name of the test + suite that Dovetail will execute. In this case Dovetail will execute + the VNF Package On Boarding test suite. + +3. Start Testing Flow + +.. + + Dovetail creates a Docker container for the test environment for + each test in the test suite. The VNF Package On Boarding test suite + includes tests which examine the contents of the contents of the VNF + package, examine the orchestration template, and examine the VM + image(s) of the VNF. Tests which use ONAP services will send + asynchronous requests to the service via the ONAP Micro Services + bus. + +4. Check Progress + +.. + + Tests may check the status of ONAP services which are instantiated + asynchronously. + +5. Examine VNF + +.. + + ONAP services used by the VNF Package On Boarding test suite may + need to access components of the VNF package for validate their + content. + +6. Report Certification Results Back + +.. + + As each test progresses, results are reported back through the + Dovetail framework to the certification database. In this case, the + certification database is local to the ONAP VNF Marketplace. + + If all of the tests in the VNF Package On Boarding test suite + complete successfully, then the VNF Package and its contents are + stored in the VNF Marketplace where they can be used for further + ONAP VNF On Boarding processes. + +Implementation Details +====================== + +Introduce a new test module under VNFSDK +---------------------------------------- + +A new test module ‘VnfTest’ will be added as a subproject in VNF-SDK. + +This project will be similar to ‘Yardstick’ in the way it defines and +runs tests. + +Dovetail to support new type +---------------------------- + +A new test framework type will be introduced to dovetail – +“VNFTest\ **”.** + +Dovetail will handle the new type in the same way yardstick/functest +types are handled. + +When dovetail needs to fetch the “VnfTest” docker image, it will consult +with configuration for determining the exact image name and version. + +The “VnfTest” framework is expected to support the same APIs and format +currently used between dovetail and yardstick/functest. + +.. |image0| image:: image1.png + :width: 6.5in + :height: 6.03611in +.. |image1| image:: image2.png + :width: 6.5in + :height: 3.65625in -- cgit 1.2.3-korg