aboutsummaryrefslogtreecommitdiffstats
path: root/docs/testing
diff options
context:
space:
mode:
Diffstat (limited to 'docs/testing')
-rw-r--r--docs/testing/developer/devguide/index.rst126
-rw-r--r--docs/testing/developer/internship/security_group/index.rst70
-rw-r--r--docs/testing/developer/internship/testapi_evolution/index.rst237
-rw-r--r--docs/testing/developer/internship/unit_tests/index.rst126
-rw-r--r--docs/testing/developer/internship/vnf_catalog/index.rst170
-rw-r--r--docs/testing/user/configguide/ci.rst13
-rw-r--r--docs/testing/user/configguide/configguide.rst621
-rw-r--r--docs/testing/user/configguide/index.rst122
-rw-r--r--docs/testing/user/configguide/intro.rst86
-rw-r--r--docs/testing/user/configguide/prerequisites.rst21
-rw-r--r--docs/testing/user/userguide/index.rst74
-rw-r--r--docs/testing/user/userguide/intro.rst10
-rw-r--r--docs/testing/user/userguide/reporting.rst28
-rw-r--r--docs/testing/user/userguide/runfunctest.rst140
-rw-r--r--docs/testing/user/userguide/test_details.rst355
-rw-r--r--docs/testing/user/userguide/test_overview.rst281
-rw-r--r--docs/testing/user/userguide/test_results.rst178
-rw-r--r--docs/testing/user/userguide/troubleshooting.rst195
18 files changed, 951 insertions, 1902 deletions
diff --git a/docs/testing/developer/devguide/index.rst b/docs/testing/developer/devguide/index.rst
index 19a1bdcb8..da5485ef0 100644
--- a/docs/testing/developer/devguide/index.rst
+++ b/docs/testing/developer/devguide/index.rst
@@ -1,4 +1,3 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. SPDX-License-Identifier: CC-BY-4.0
************************
@@ -6,7 +5,6 @@ Functest Developer Guide
************************
.. toctree::
- :numbered:
:maxdepth: 2
============
@@ -54,10 +52,7 @@ to the different tiers:
* functest-core: https://hub.docker.com/r/opnfv/functest-core/
* functest-healthcheck: https://hub.docker.com/r/opnfv/functest-healthcheck/
* functest-smoke: https://hub.docker.com/r/opnfv/functest-smoke/
- * functest-features: https://hub.docker.com/r/opnfv/functest-features/
- * functest-components: https://hub.docker.com/r/opnfv/functest-components/
* functest-vnf: https://hub.docker.com/r/opnfv/functest-vnf/
- * functest-parser: https://hub.docker.com/r/opnfv/functest-parser/
* functest-restapi: https://hub.docker.com/r/opnfv/functest-restapi/
Standalone functest dockers are maintained for Euphrates but Alpine containers
@@ -84,17 +79,14 @@ Functest internal test cases
The internal test cases in Euphrates are:
- * api_check
* connection_check
- * snaps_health_check
* vping_ssh
* vping_userdata
* odl
- * odl_netvirt
* rally_full
* rally_sanity
- * tempest_smoke_serial
- * tempest_full_parallel
+ * tempest_smoke
+ * tempest_full
* cloudify_ims
By internal, we mean that this particular test cases have been developed and/or
@@ -108,59 +100,22 @@ The structure of this repository is detailed in `[1]`_.
The main internal test cases are in the opnfv_tests subfolder of the
repository, the internal test cases can be grouped by domain:
- * sdn: odl, odl_netvirt, odl_fds
- * openstack: api_check, connection_check, snaps_health_check, vping_ssh, vping_userdata, tempest_*, rally_*
+ * sdn: odl, odl_fds
+ * openstack: connection_check, vping_ssh, vping_userdata, tempest_*, rally_*
* vnf: cloudify_ims
-If you want to create a new test case you will have to create a new folder under
-the testcases directory (See next section for details).
-
-Functest external test cases
-============================
-The external test cases are inherited from other OPNFV projects, especially the
-feature projects.
-
-The external test cases are:
-
- * barometer
- * bgpvpn
- * doctor
- * domino
- * fds
- * parser
- * promise
- * refstack_defcore
- * snaps_smoke
- * functest-odl-sfc
- * orchestra_clearwaterims
- * orchestra_openims
- * vyos_vrouter
- * juju_vepc
-
-External test cases integrated in previous versions but not released in
-Euphrates:
-
- * copper
- * moon
- * netready
- * security_scan
-
-
-The code to run these test cases is hosted in the repository of the project.
-Please note that orchestra test cases are hosted in Functest repository and not
-in orchestra repository. Vyos_vrouter and juju_vepc code is also hosted in
-functest as there are no dedicated projects.
-
+If you want to create a new test case you will have to create a new folder
+under the testcases directory (See next section for details).
Functest framework
==================
Functest is a framework.
-Historically Functest is released as a docker file, including tools, scripts and
-a CLI to prepare the environment and run tests.
-It simplifies the integration of external test suites in CI pipeline and provide
-commodity tools to collect and display results.
+Historically Functest is released as a docker file, including tools, scripts
+and a CLI to prepare the environment and run tests.
+It simplifies the integration of external test suites in CI pipeline and
+provide commodity tools to collect and display results.
Since Colorado, test categories also known as **tiers** have been created to
group similar tests, provide consistent sub-lists and at the end optimize
@@ -171,8 +126,8 @@ The definition of the tiers has been agreed by the testing working group.
The tiers are:
* healthcheck
* smoke
+ * benchmarking
* features
- * components
* vnf
Functest abstraction classes
@@ -214,35 +169,6 @@ Feature, unit and vnf_base inherit from testcase::
+--------------------+ +---------+ +------------------------+ +-----------------+
-Testcase
---------
-.. raw:: html
- :url: http://artifacts.opnfv.org/functest/docs/apidoc/functest.core.testcase.html
-
-Feature
--------
-.. raw:: html
- :url: http://artifacts.opnfv.org/functest/docs/apidoc/functest.core.feature.html
-
-Unit
-----
-.. raw:: html
- :url: http://artifacts.opnfv.org/functest/docs/apidoc/functest.core.unit.html
-
-VNF
----
-.. raw:: html
- :url: http://artifacts.opnfv.org/functest/docs/apidoc/functest.core.vnf.html
-
-Robotframework
---------------
-.. raw:: html
- :url: http://artifacts.opnfv.org/functest/docs/apidoc/functest.core.robotframework.html
-
-
-see `[5]`_ to get code samples
-
-
Functest util classes
=====================
@@ -250,8 +176,8 @@ In order to simplify the creation of test cases, Functest develops also some
functions that are used by internal test cases.
Several features are supported such as logger, configuration management and
Openstack capabilities (tacker,..).
-These functions can be found under <repo>/functest/utils and can be described as
-follows::
+These functions can be found under <repo>/functest/utils and can be described
+as follows::
functest/utils/
|-- config.py
@@ -262,14 +188,11 @@ follows::
|-- openstack_tacker.py
`-- openstack_utils.py
-It is recommended to use the SNAPS-OO library for deploying OpenStack instances.
-SNAPS `[4]`_ is an OPNFV project providing OpenStack utils.
-
TestAPI
=======
Functest is using the Test collection framework and the TestAPI developed by
-the OPNFV community. See `[6]`_ for details.
+the OPNFV community. See `[4]`_ for details.
Reporting
@@ -281,17 +204,10 @@ jinja2 templates `[3]`_.
Dashboard
=========
-Additional dashboarding is managed at the testing group level, see `[7]`_ for
+Additional dashboarding is managed at the testing group level, see `[5]`_ for
details.
-=======
-How TOs
-=======
-
-See How to section on Functest wiki `[8]`_
-
-
==========
References
==========
@@ -300,16 +216,10 @@ _`[1]`: http://artifacts.opnfv.org/functest/docs/configguide/index.html Functest
_`[2]`: http://artifacts.opnfv.org/functest/docs/userguide/index.html functest user guide
-_`[3]`: https://git.opnfv.org/cgit/releng/tree/utils/test/reporting
-
-_`[4]`: https://git.opnfv.org/snaps/
-
-_`[5]` : http://testresults.opnfv.org/functest/framework/index.html
-
-_`[6]`: http://docs.opnfv.org/en/latest/testing/testing-dev.html
+_`[3]`: https://github.com/opnfv/releng-testresults/tree/master/reporting
-_`[7]`: https://opnfv.biterg.io/goto/283dba93ca18e95964f852c63af1d1ba
+_`[4]`: https://wiki.opnfv.org/display/functest/2017+Beijing?preview=%2F11699623%2F11700523%2FTestAPI+-+test+results+collection+service.pptx
-_`[8]`: https://wiki.opnfv.org/pages/viewpage.action?pageId=7768932
+_`[5]`: https://lfanalytics.io/projects/lfn%2Fopnfv/dashboard
IRC support chan: #opnfv-functest
diff --git a/docs/testing/developer/internship/security_group/index.rst b/docs/testing/developer/internship/security_group/index.rst
deleted file mode 100644
index d1cdbdd8f..000000000
--- a/docs/testing/developer/internship/security_group/index.rst
+++ /dev/null
@@ -1,70 +0,0 @@
-=======
-License
-=======
-
-Functest Docs are licensed under a Creative Commons Attribution 4.0
-International License.
-You should have received a copy of the license along with this.
-If not, see <http://creativecommons.org/licenses/by/4.0/>.
-
-==================================
-Functest Security group test cases
-==================================
-
-Author: Girish Sukhatankar
-mentors: D.Blaisonneau, J.Lausuch, M.Richomme
-
-Abstract
-========
-
-
-Version history
-===============
-
-+------------+----------+------------------+------------------------+
-| **Date** | **Ver.** | **Author** | **Comment** |
-| | | | |
-+------------+----------+------------------+------------------------+
-| 2016-??-?? | 0.0.1 | Morgan Richomme | Beginning of the |
-| | | (Orange) | Internship |
-+------------+----------+------------------+------------------------+
-
-
-Overview:
-=========
-
-
-
-
-Problem Statement:
-------------------
-
-
-
-Curation Phase
---------------
-
-
-
-
-
-Schedule:
-=========
-
-
-
-+--------------------------+------------------------------------------+
-| **Date** | **Comment** |
-| | |
-+--------------------------+------------------------------------------+
-| December - January | ........ |
-+--------------------------+------------------------------------------+
-| January - february | ........ |
-+--------------------------+------------------------------------------+
-
-
-References:
-===========
-
-.. _`[1]` : https://wiki.opnfv.org/display/DEV/Intern+Project%3A+Security+groups+test+case+in+Functest
-
diff --git a/docs/testing/developer/internship/testapi_evolution/index.rst b/docs/testing/developer/internship/testapi_evolution/index.rst
deleted file mode 100644
index 3038d0ac6..000000000
--- a/docs/testing/developer/internship/testapi_evolution/index.rst
+++ /dev/null
@@ -1,237 +0,0 @@
-=======
-License
-=======
-
-Functest Docs are licensed under a Creative Commons Attribution 4.0
-International License.
-You should have received a copy of the license along with this.
-If not, see <http://creativecommons.org/licenses/by/4.0/>.
-
-=================
-TestAPI evolution
-=================
-
-Author: Sakala Venkata Krishna Rohit
-Mentors: S. Feng, J.Lausuch, M.Richomme
-
-Abstract
-========
-
-The TestAPI is used by all the test opnfv projects to report results.
-It is also used to declare projects, test cases and labs. A major refactoring
-has been done in Colorado with the introduction of swagger. The TestAPI is defined in Functest
-developer guide. The purpose of this project is to add more features to the TestAPI that automate
-the tasks that are done manually now, though there are tasks other than automation.
-
-Version history
-===============
-
-+------------+----------+------------------+------------------------+
-| **Date** | **Ver.** | **Author** | **Comment** |
-| | | | |
-+------------+----------+------------------+------------------------+
-| 2016-11-14 | 0.0.1 | Morgan Richomme | Beginning of the |
-| | | (Orange) | Internship |
-+------------+----------+------------------+------------------------+
-| 2017-02-17 | 0.0.2 | S.V.K Rohit | End of the Internship |
-| | | (IIIT Hyderabad) | |
-+------------+----------+------------------+------------------------+
-
-Overview:
-=========
-
-The internhip time period was from Nov 14th to Feb 17th. The project prosposal page is here `[1]`_.
-The intern project was assigned to Svk Rohit and was mentored by S. Feng, J.Lausuch, M.Richomme.
-The link to the patches submitted is `[2]`_. The internship was successfully completed and the
-documentation is as follows.
-
-Problem Statement:
-------------------
-
-The problem statement could be divided into pending features that needed to be added into TestAPI
-repo. The following were to be accomplished within the internship time frame.
-
-* **Add verification jenkins job for the TestAPI code**
- The purpose of this job is to verify whehter the unit tests are successful or not with the
- inclusion of the patchset submitted.
-
-* **Automatic update of opnfv/testapi docker image**
- The docker image of TestAPI is hosted in the opnfv docker hub. To ensure that the TestAPI image
- is always updated with the repository, automatic updation of the image is necessary and a job
- is triggered whenever a new patch gets merged.
-
-* **Automation deployment of testresults.opnfv.org/test/ website**
- In the same manner as the docker image of TestAPI is updated, the TestAPI website needs to be
- in sync with the repository code. So, a job has been added to the opnfv jenkins ci for the
- updation of the testresults website.
-
-* **Generate static documentation of TestAPI calls**
- The purpose of this is to give an static/offline view of TestAPI. If someone wants to have a
- look at the Restful APIs of TestAPI, he/she does't need to go to the website, he can download
- a html page and view it anytime.
-
-* **Backup MongoDB of TestAPI**
- The mongoDB needs to be backed up every week. Till now it was done manually, but due to this
- internship, it is now automated using a jenkins job.
-
-* **Add token based authorization to the TestAPI calls**
- The token based authorization was implemented to ensure that only ci_pods could access the
- database. Authentication has been added to only delete/put/post requests.
-
-Curation Phase:
----------------
-
-The curation phase was the first 3 to 4 weeks of the internship. This phase was to get familiar
-with the TestAPI code and functionality and propose the solutions/tools for the tasks mentioned
-above. Swagger codegen was choosen out of the four tools proposed `[3]`_ for generating static
-documentaion.
-
-Also, specific amount of time was spent on the script flow of the jenkins jobs. The automatic
-deployment task involves accessing a remote server from inside the jenkins build. The deployment
-had to be done only after the docker image update is done. For these constraints to satisfy, a
-multijob jenkins job was choosen instead of a freestyle job.
-
-Important Links:
-----------------
-
-* MongoDB Backup Link - `[4]`_
-* Static Documentation - `[5]`_
-* TestAPI Token addition to ci_pods - `[6]`_
-
-Schedule:
-=========
-
-The progress and completion of the tasks is described in the below table.
-
-+--------------------------+------------------------------------------+
-| **Date** | **Comment** |
-| | |
-+--------------------------+------------------------------------------+
-| Nov 14th - Dec 31st | Understand TestAPI code and the |
-| | requirements. |
-+--------------------------+------------------------------------------+
-| Jan 1st - Jan 7th | Add jenkins job to create static |
-| | documentation and write build scripts. |
-+--------------------------+------------------------------------------+
-| Jan 8th - Jan 21st | Add verification jenkins job for unit |
-| | tests. |
-+--------------------------+------------------------------------------+
-| Jan 22nd - Jan 28th | Add jenkins job for mongodb backup |
-| | |
-+--------------------------+------------------------------------------+
-| Jan 29th - Feb 11th | Enable automatic deployment of |
-| | testresults.opnfv.org/test/ |
-+--------------------------+------------------------------------------+
-| Feb 12th - Feb 17th | Add token based authentication |
-| | |
-+--------------------------+------------------------------------------+
-
-FAQ's
-=====
-
-This section lists the problems that I have faced and the understanding that I have acquired during
-the internship. This section may help other developers in solving any errors casused because of the
-code written as a part of this internship.
-
-
-TestAPI
--------
-
-What is the difference between defining data_file as "/etc/.." and "etc/.." in setup.cfg ?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If in the setup.cfg, it is defined as
-
-[files]
-data_files =
-etc/a.conf = etc/a.conf.sample
-
-then it ends up installed in the /usr/etc/. With this configuration, it would be installed
-correctly within a venv. but when it is defined as
-
-[files]
-data_files =
-/etc/a.conf = etc/a.conf.sample
-
-then it ends up installed on the root of the filesystem instead of properly be installed within the
-venv.
-
-Which attribute does swagger-codegen uses as the title in the generation of document generation ?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-It uses the nickname of the api call in swagger as the title in the generation of the document
-generation.
-
-Does swagger-codegen take more than one yaml file as input ?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-No, swagger-codegen only takes one yaml file as input to its jar file. If there more than one yaml
-file, one needs to merge them and give it as an input keeping mind the swagger specs.
-
-
-Jenkins & JJB
--------------
-
-Which scm macro is used for verification jenkins jobs ?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-There are two macros for scm one is git-scm and other git-scm-gerrit. git-scm-gerrit is used for
-verification jenkins job.
-
-Does the virtualenv created in one build script exists in other build scripts too ?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-No, the virtualenv created in one build script only exists in that build script/shell.
-
-What parameters are needed for the scm macros ?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Project and Branch are the two parameters needed for scm macros.
-
-What is the directory inside the jenkins build ?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The directory of the jenkins build is the directory of the repo. `ls $WORKSPACE` command will give
-you all the contents of the directory.
-
-How to include a bash script in jenkins job yaml file ?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-An example might be apt here as an answer.
-
-builders:
- - shell:
- !include-raw: include-raw001-hello-world.sh
-
-
-How do you make a build server run on a specific machine ?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-It can be done by defining a label parameter 'SLAVE_LABEL' or in OPNFV , there are macros for each
-server, one can use those parameter macros.
-Ex: opnfv-build-defaults. Note, if we use macro, then no need to define GIT_BASE, but if one uses
-SLAVE_LABEL, one needs to define a parameter GIT_BASE. This is because macro already has GIT_BASE
-defined.
-
-What job style should be used when there is a situation like one build should trigger other builds
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-or when different build scripts need to be run on different machines ?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-MultiJob style should be used as it has phases where each phase can be taken as a build scipt and
-can have its own parameters by which one can define the SLAVE_LABEL parameter.
-
-References:
-===========
-
-_`[1]` : https://wiki.opnfv.org/display/DEV/Intern+Project%3A+testapi+evolution
-
-_`[2]` : https://gerrit.opnfv.org/gerrit/#/q/status:merged+owner:%22Rohit+Sakala+%253Crohitsakala%2540gmail.com%253E%22
-
-_`[3]` : https://docs.google.com/document/d/1jWwVZ1ZpKgKcOS_zSz2KzX1nwg4BXxzBxcwkesl7krw/edit?usp=sharing
-
-_`[4]` : http://artifacts.opnfv.org/testapibackup.html
-
-_`[5]` : http://artifacts.opnfv.org/releng/docs/testapi.html
-
-_`[6]` : http://artifacts.opnfv.org/functest/docs/devguide/index.html#test-api-authorization
diff --git a/docs/testing/developer/internship/unit_tests/index.rst b/docs/testing/developer/internship/unit_tests/index.rst
deleted file mode 100644
index a117c8609..000000000
--- a/docs/testing/developer/internship/unit_tests/index.rst
+++ /dev/null
@@ -1,126 +0,0 @@
-=======
-License
-=======
-
-Functest Docs are licensed under a Creative Commons Attribution 4.0
-International License.
-You should have received a copy of the license along with this.
-If not, see <http://creativecommons.org/licenses/by/4.0/>.
-
-===================
-Functest Unit tests
-===================
-
-Author: Ashish Kumar
-Mentors: H.Yao, J.Lausuch, M.Richomme
-
-Abstract
-========
-
-
-Version history
-===============
-
-+------------+----------+------------------+------------------------+
-| **Date** | **Ver.** | **Author** | **Comment** |
-| | | | |
-+------------+----------+------------------+------------------------+
-| 2016-11-14 | 0.0.1 | Morgan Richomme | Beginning of the |
-| | | (Orange) | Internship |
-+------------+----------+------------------+------------------------+
-| 2017-03-31 | 0.0.2 | Ashish Kumar | During the |
-| | | (IIIT Hyderabad) | Internship |
-+------------+----------+------------------+------------------------+
-
-
-Overview:
-=========
-Functest project is developing and integrating functional test cases for OPNFV
-and it is part of OPNFV since the beginning. Functest develops its own testcases
-and framework. This framework includes several utility libraries. The Project is
-growing rapidly with more features, tests added as per requirement. It becomes
-the responsibility of every developer to maintain the integrity of code i.e. new
-patch should not break the previous functionality of the project. To automate this
-process of software development, we should write unit tests and add them to CI so
-that when a new patch is ready to merge, we shouldn't allow those which are breaking
-previous unit tests or decreasing the coverage.
-
-
-
-Problem Statement:
-------------------
-The goal of the intership consists in creating unit test suites on Functest code
-with good code coverage (>80%) and integrate it in continuous integration in order
-to consolidate existing code.
-
-
-Curation Phase
---------------
-The curation phase was the first 3 to 4 weeks of the internship. This phase was to get
-familiar with the functest code and functionality and explore the solutions for unit
-testing in other projects and come up with the strategy for writing unit tests in functest.
-
-In this phase we decided,
-- Coverage should be 80%. There are some functions like __init__, getter, setter and other
- private methods for which writing unit test is a tedious job, so we are leaving these methods
- for now.
-- Do method wise testing for every module.
-- Use mock for external or third party services, system calls and other external library calls
- which could impact the behaviour of system during the run of unit test.
-- Add it in jenkins as passing criteria for patches.
-- Write tests in modular way so that it can help to serve as a form of documentation.
-
-
-
-Schedule:
-=========
-+--------------------------+------------------------------------------+
-| **Date** | **Comment** |
-| | |
-+--------------------------+------------------------------------------+
-| Nov 14th - Nov 28th | 1. Learn Functest Project Business |
-| | 2. Set up the development environment |
-| | 3. Run Functest code |
-+--------------------------+------------------------------------------+
-| Nov 28th - Dec.9th | 1. Explore Unit Testing Strategy, |
-| | 2. Learn about Mock in python |
-+--------------------------+------------------------------------------+
-| Dec 12th - Dec 23rd | Implement Unit Tests for CLI |
-| | |
-+--------------------------+------------------------------------------+
-| Dec 26th - Jan 6th | Implement Unit Tests for Utils |
-| | |
-+--------------------------+------------------------------------------+
-| Jan 9th - Jan 20th | Implement Unit Tests for CI |
-| | |
-+--------------------------+------------------------------------------+
-| Jan 23rd - Feb 3rd | Implement Unit Tests for Core |
-| | |
-+--------------------------+------------------------------------------+
-| Feb 6th - Feb 17th | Implement Unit Tests for |
-| | opnfv_tests/openstack/tempest |
-+--------------------------+------------------------------------------+
-| Feb 20th - Mar 3rd | Implement Unit Tests for |
-| | opnfv_tests/openstack/rally |
-+--------------------------+------------------------------------------+
-| Mar 6th - Mar 17th | Implement Unit Tests for |
-| | opnfv_tests/vnf/ims |
-+--------------------------+------------------------------------------+
-| Mar 20th - Mar 31st | Recheck and Increase Coverage for all |
-| | modules > 80% |
-+--------------------------+------------------------------------------+
-| Apr 3rd - Apr 14th | Add CI Gating for unit tests |
-| | |
-+--------------------------+------------------------------------------+
-| Apr 17th - Apr 28th | Use Tox Utility, Documentation |
-| | |
-+--------------------------+------------------------------------------+
-| Apr 28th - End | Bug Fixing |
-| | |
-+--------------------------+------------------------------------------+
-
-
-References:
-===========
-
-.. _`[1]` : https://wiki.opnfv.org/display/DEV/Intern+Project%3A+Functest+unit+tests
diff --git a/docs/testing/developer/internship/vnf_catalog/index.rst b/docs/testing/developer/internship/vnf_catalog/index.rst
deleted file mode 100644
index df7633391..000000000
--- a/docs/testing/developer/internship/vnf_catalog/index.rst
+++ /dev/null
@@ -1,170 +0,0 @@
-=======
-License
-=======
-
-Functest Docs are licensed under a Creative Commons Attribution 4.0
-International License.
-You should have received a copy of the license along with this.
-If not, see <http://creativecommons.org/licenses/by/4.0/>.
-
-=======================
-Open Source VNF Catalog
-=======================
-
-Author: Kumar Rishabh
-Mentors: B.Souville, M.Richomme, J.Lausuch
-
-Abstract
-========
-
-
-
-Version hissory
-===============
-
-+------------+----------+------------------+------------------------+
-| **Date** | **Ver.** | **Author** | **Comment** |
-| | | | |
-+------------+----------+------------------+------------------------+
-| 2016-12-12 | 0.0.1 | Morgan Richomme | Beginning of the |
-| | | (Orange) | Internship |
-+------------+----------+------------------+------------------------+
-
-
-Overview:
-=========
-
-
-This project aims to create an Open Source catalog for reference and
-classification of Virtual Network Functions (VNFs)s available on
-Internet. The classification method proposed will be in sync with the
-requirements of Telcos active in NFV landscape. The project aims to have
-running web platform similar to [1] by the mid of internship (2nd week
-of March). By the penultimate month of internship I aim to have fully
-functional implementation of an Open Source VNF in functest.
-
-
-Problem Statement:
-------------------
-
-OPNFV aims to be the reference platform for development,
-standardization and integration of Open Source NFV components across
-various Open Source Platforms. It mainly deals with the infrastructure
-through the Network Function Virtualization Infrastructure (NFVI) and
-Virtual Infrastructure manager (VIM). The MANO (Management and
-orchestration) stacks have been introduced recently. VNFs are not
-directly in OPNFV scope, however VNFs are needed to test and qualify the
-infrastructure. In this regard having a common curated Open Source
-Reference VNF catalog would be of immense importance to community.
-
-Since major focus of OPNFV is Telcos, a curated platform targeted from
-industry point of view would be very useful. We plan to divide the
-entire project into three major phases(with some iterative improvements
-and overlaps)
-
-
-Curation Phase
---------------
-This phase pertains to studying various Open Source VNFs available and
-classification of them based on certain parameters. The parameters that
-I currently have in mind are:
- * Developer Metrics: These pertain to repo characteristics of VNF under
- study
- * Usage Statistics - Activity, Number of Commits, stars
- * Maturity Statistics - For instance if an NFV community decides code
- coverage is important for them, it shows the NFV community is serious
- about taking the project forward
- * Technical Tagging: These are the tags that pertain to technical
- characteristics of a VNF
- * Broad Use Cases - Whether the VNF fits strictly in IaaS, PaaS or
- SaaS layer or is an hybrid of two/all.
- * Generic Use Cases - This in my opinion is the broadest
- classification category. For instance a VNF could be built with a
- broad idea of powering IOT devices at home or from usage perspective
- of Telco Operators (vFW, vEPC, vIMS, vCDN, vAAA, vCPE,...).`[2]`_
- * Fields of Application
- * Library Status - Whether APIs are standardized, support RESTful
- services.
- * Dependency Forwarding Graph - This is pretty complex tagging
- mechanism. It essentially tries to establish a graph relationship
- between the VNFs (elementary VNFs are used in Service Function
- Chaining chains such as Firewall, DPI, content enrichment,..). In my
- opinion this is useful immensely. This will allow users to go to
- platform and ask a question like - “I have this X tech stack to
- support, Y and Z are my use cases, which NFVs should I use to support
- this.
- * Visitor Score - Based on `[1]`_ I plan to evolve a visitor score for
- the platform. This will allow users to score an NFV on certain
- parameters, may be post comments.
-
-**I plan to use the above three scores and evolve cumulative score which
-will be displayed next to each of the NFV on the platform.**
-
- * Platform building phase - This will involve erecting a Web Platform
- which will be similar to this `[1]`_. I am decently familiar with
- Django and hence I will write the platform in Django. There are two
- action plans that I have in mind right now. Either I can start writing
- the platform simultaneously which will help keep track of my progress
- or I can write the platform after 1.5 - 2 months into the internship.
- Either way I aim to have the Web Platform ready by March 12.
-
- * Functest VNF implementation phase - This is the last phase that will
- involve writing a fully functional implementation of an Open Source VNF
- into Functest. I will undertake this after I am 3 months into the
- internship. I have a decent familiarity with python and hence I think
- it shouldn’t be too difficult. I need to decide how complex the VNFI
- should undertake this exercise for (e.g. AAA such as free radius sounds
- relatively easy, vCDN is much more challenging).
- This will be decided in consent with my mentors.
-
-
-
-
-Schedule:
-=========
-I plan to take this project in 6 months time frame as I want to use it
-as a chance to read more about NFVs in particular and SDN in general
-
-
-+--------------------------+------------------------------------------+
-| **Date** | **Comment** |
-| | |
-+--------------------------+------------------------------------------+
-| December 12 - January 12 | Study the above mentioned metrics |
-| | Decide which of them are important for |
-| | community (and which are not). |
-+--------------------------+------------------------------------------+
-| January 12 - January 27 | Make a database for the above studied |
-| | metrics and evolve it further based on |
-| | Mentors’ input. + associated API |
-+--------------------------+------------------------------------------+
-| January 27 - February 5 | Compile the data collected above and make|
-| | it public. Although I can keep everything|
-| | public from the beginning too. My |
-| | rationale of not making the entire data |
-| | public in initial stage as the errors |
-| | caused by me could be misleading for |
-| | developers. |
-+--------------------------+------------------------------------------+
-| February 5 - March 5 | Erect the Web Platform and release it |
-| | for restricted group for alpha testing. |
-+--------------------------+------------------------------------------+
-| March 5 - March 12 | Make it public. Release it to public for |
-| | beta testing. Fix Bugs. |
-+--------------------------+------------------------------------------+
-| March 12 - April 12 | Start working on implementation of an |
-| | Open Source VNF in Functest. |
-+--------------------------+------------------------------------------+
-| April 12 - May 12 | I will decided what to do here based on |
-| | discussion with mentors. |
-+--------------------------+------------------------------------------+
-
-
-References:
-===========
-
-.. _`[1]` : Openhub: https://www.openhub.net/explore/projects
-
-.. _`[2]` : ETSI NFV White Paper: https://portal.etsi.org/Portals/0/TBpages/NFV/Docs/NFV_White_Paper3.pdf
-
-.. _`[3]` : https://wiki.opnfv.org/display/DEV/Intern+Project%3A+Open+Source+VNF+catalog
diff --git a/docs/testing/user/configguide/ci.rst b/docs/testing/user/configguide/ci.rst
deleted file mode 100644
index f3901d867..000000000
--- a/docs/testing/user/configguide/ci.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-Integration in CI
-=================
-In CI we use the Docker images and execute the appropriate commands within the
-container from Jenkins.
-
-4 steps have been defined::
- * functest-cleanup: clean existing functest dockers on the jumphost
- * functest-daily: run dockers opnfv/functest-* (healthcheck, smoke, features, vnf)
- * functest-store-results: push logs to artifacts
-
-See `[3]`_ for details.
-
-.. _`[3]`: https://git.opnfv.org/releng/tree/jjb/functest/functest-daily-jobs.yml
diff --git a/docs/testing/user/configguide/configguide.rst b/docs/testing/user/configguide/configguide.rst
index d63286475..47c25adb1 100644
--- a/docs/testing/user/configguide/configguide.rst
+++ b/docs/testing/user/configguide/configguide.rst
@@ -1,4 +1,3 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. SPDX-License-Identifier: CC-BY-4.0
Installation and configuration
@@ -10,201 +9,348 @@ the refactoring on dependency management should allow the creation of light and
fully customized docker images.
-Functest Dockers
-----------------
+Functest Dockers for OpenStack deployment
+-----------------------------------------
Docker images are available on the dockerhub:
- * opnfv/functest-core
* opnfv/functest-healthcheck
* opnfv/functest-smoke
- * opnfv/functest-features
- * opnfv/functest-components
+ * opnfv/functest-smoke-cntt
+ * opnfv/functest-benchmarking
+ * opnfv/functest-benchmarking-cntt
* opnfv/functest-vnf
- * opnfv/functest-parser
- * opnfv/functest-restapi
-
-The tag "opnfv-5.0.0" is the official release image in Euphrates, but you can also pull "euphrates"
-tag as it is being maintained by Functest team and might include bugfixes.
-
-The Functest docker container environment can -in principle- be also
-used with non-OPNFV official installers (e.g. 'devstack'), with the
-**disclaimer** that support for such environments is outside of the
-scope and responsibility of the OPNFV project.
Preparing your environment
---------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^
cat env::
- INSTALLER_TYPE=XXX
- INSTALLER_IP=XXX
- EXTERNAL_NETWORK=XXX
- DEPLOY_SCENARIO=XXX
+ DEPLOY_SCENARIO=XXX # if not os-nosdn-nofeature-noha scenario
+ NAMESERVER=XXX # if not 8.8.8.8
+ EXTERNAL_NETWORK=XXX # if not first network with router:external=True
+ DASHBOARD_URL=XXX # else tempest_horizon will be skipped
+ NEW_USER_ROLE=XXX # if not member
+ SDN_CONTROLLER_IP=XXX # if odl scenario
+ VOLUME_DEVICE_NAME=XXX # if not vdb
+ FLAVOR_EXTRA_SPECS=hw:mem_page_size:large # if fdio scenarios
See section on environment variables for details.
-cat openstack.creds::
+cat env_file::
export OS_AUTH_URL=XXX
export OS_USER_DOMAIN_NAME=XXX
export OS_PROJECT_DOMAIN_NAME=XXX
export OS_USERNAME=XXX
- export OS_TENANT_NAME=XXX
export OS_PROJECT_NAME=XXX
export OS_PASSWORD=XXX
- export OS_VOLUME_API_VERSION=XXX
- export OS_IDENTITY_API_VERSION=XXX
- export OS_IMAGE_API_VERSION=XXX
+ export OS_IDENTITY_API_VERSION=3
+ export OS_REGION_NAME=XXX
See section on OpenStack credentials for details.
Create a directory for the different images (attached as a Docker volume)::
- mkdir -p images && wget -q -O- https://git.opnfv.org/functest/plain/functest/ci/download_images.sh?h=stable/euphrates | bash -s -- images && ls -1 images/*
-
- images/CentOS-7-aarch64-GenericCloud.qcow2
- images/CentOS-7-aarch64-GenericCloud.qcow2.xz
- images/CentOS-7-x86_64-GenericCloud.qcow2
- images/cirros-0.4.0-x86_64-disk.img
- images/cirros-0.4.0-x86_64-lxc.tar.gz
- images/cirros-d161201-aarch64-disk.img
- images/cirros-d161201-aarch64-initramfs
- images/cirros-d161201-aarch64-kernel
- images/cloudify-manager-premium-4.0.1.qcow2
- images/img
- images/trusty-server-cloudimg-amd64-disk1.img
+ mkdir -p images && wget -q -O- https://git.opnfv.org/functest/plain/functest/ci/download_images.sh | sh -s -- images && ls -1 images/*
+
+ images/cirros-0.5.1-aarch64-disk.img
+ images/cirros-0.5.1-x86_64-disk.img
+ images/cloudify-docker-manager-community-19.01.24.tar
+ images/Fedora-Cloud-Base-30-1.2.x86_64.qcow2
+ images/shaker-image-1.3.0+stretch.qcow2
images/ubuntu-14.04-server-cloudimg-amd64-disk1.img
images/ubuntu-14.04-server-cloudimg-arm64-uefi1.img
images/ubuntu-16.04-server-cloudimg-amd64-disk1.img
- images/vyos-1.1.7.img
-
+ images/vyos-1.1.8-amd64.qcow2
Testing healthcheck suite
---------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^
Run healthcheck suite::
sudo docker run --env-file env \
- -v $(pwd)/openstack.creds:/home/opnfv/functest/conf/openstack.creds \
- -v $(pwd)/images:/home/opnfv/functest/images \
+ -v $(pwd)/openstack.creds:/home/opnfv/functest/conf/env_file \
+ -v $(pwd)/images:/home/opnfv/functest/images \
opnfv/functest-healthcheck
Results shall be displayed as follows::
- +----------------------------+------------------+---------------------+------------------+----------------+
- | TEST CASE | PROJECT | TIER | DURATION | RESULT |
- +----------------------------+------------------+---------------------+------------------+----------------+
- | connection_check | functest | healthcheck | 00:02 | PASS |
- | api_check | functest | healthcheck | 04:57 | PASS |
- | snaps_health_check | functest | healthcheck | 00:51 | PASS |
- +----------------------------+------------------+---------------------+------------------+----------------+
- NOTE: the duration is a reference and it might vary depending on your SUT.
+ +--------------------------+------------------+---------------------+------------------+----------------+
+ | TEST CASE | PROJECT | TIER | DURATION | RESULT |
+ +--------------------------+------------------+---------------------+------------------+----------------+
+ | connection_check | functest | healthcheck | 00:03 | PASS |
+ | tenantnetwork1 | functest | healthcheck | 00:05 | PASS |
+ | tenantnetwork2 | functest | healthcheck | 00:06 | PASS |
+ | vmready1 | functest | healthcheck | 00:06 | PASS |
+ | vmready2 | functest | healthcheck | 00:08 | PASS |
+ | singlevm1 | functest | healthcheck | 00:32 | PASS |
+ | singlevm2 | functest | healthcheck | 00:37 | PASS |
+ | vping_ssh | functest | healthcheck | 00:46 | PASS |
+ | vping_userdata | functest | healthcheck | 00:39 | PASS |
+ | cinder_test | functest | healthcheck | 01:05 | PASS |
+ | tempest_smoke | functest | healthcheck | 05:39 | PASS |
+ | tempest_horizon | functest | healthcheck | 01:05 | PASS |
+ | odl | functest | healthcheck | 00:00 | SKIP |
+ +--------------------------+------------------+---------------------+------------------+----------------+
+
+NOTE: the duration is a reference and it might vary depending on your SUT.
Testing smoke suite
--------------------
+^^^^^^^^^^^^^^^^^^^
Run smoke suite::
sudo docker run --env-file env \
- -v $(pwd)/openstack.creds:/home/opnfv/functest/conf/openstack.creds \
- -v $(pwd)/images:/home/opnfv/functest/images \
+ -v $(pwd)/openstack.creds:/home/opnfv/functest/conf/env_file \
+ -v $(pwd)/images:/home/opnfv/functest/images \
opnfv/functest-smoke
Results shall be displayed as follows::
- +------------------------------+------------------+---------------+------------------+----------------+
- | TEST CASE | PROJECT | TIER | DURATION | RESULT |
- +------------------------------+------------------+---------------+------------------+----------------+
- | vping_ssh | functest | smoke | 01:19 | PASS |
- | vping_userdata | functest | smoke | 01:56 | PASS |
- | tempest_smoke_serial | functest | smoke | 26:30 | PASS |
- | rally_sanity | functest | smoke | 19:42 | PASS |
- | refstack_defcore | functest | smoke | 22:00 | PASS |
- | snaps_smoke | functest | smoke | 41:14 | PASS |
- | odl | functest | smoke | 00:16 | PASS |
- | odl_netvirt | functest | smoke | 00:00 | SKIP |
- | fds | functest | smoke | 00:00 | SKIP |
- +------------------------------+------------------+---------------+------------------+----------------+
- Note: if the scenario does not support some tests, they are indicated as SKIP.
- See User guide for details.
-
-Testing features suite
-----------------------
-
-Run features suite::
+ +---------------------------+------------------+---------------+------------------+----------------+
+ | TEST CASE | PROJECT | TIER | DURATION | RESULT |
+ +---------------------------+------------------+---------------+------------------+----------------+
+ | tempest_neutron | functest | smoke | 15:30 | PASS |
+ | tempest_cinder | functest | smoke | 02:01 | PASS |
+ | tempest_keystone | functest | smoke | 01:17 | PASS |
+ | tempest_heat | functest | smoke | 22:14 | PASS |
+ | tempest_telemetry | functest | smoke | 00:00 | SKIP |
+ | rally_sanity | functest | smoke | 17:24 | PASS |
+ | refstack_compute | functest | smoke | 07:03 | PASS |
+ | refstack_object | functest | smoke | 02:09 | PASS |
+ | refstack_platform | functest | smoke | 07:31 | PASS |
+ | tempest_full | functest | smoke | 41:52 | PASS |
+ | tempest_scenario | functest | smoke | 08:42 | PASS |
+ | tempest_slow | functest | smoke | 43:42 | PASS |
+ | patrole_admin | functest | smoke | 21:06 | PASS |
+ | patrole_member | functest | smoke | 21:23 | PASS |
+ | patrole_reader | functest | smoke | 21:56 | PASS |
+ | tempest_barbican | functest | smoke | 02:30 | PASS |
+ | tempest_octavia | functest | smoke | 00:00 | SKIP |
+ | tempest_cyborg | functest | smoke | 00:00 | SKIP |
+ +---------------------------+------------------+---------------+------------------+----------------+
+
+Note: if the scenario does not support some tests, they are indicated as SKIP.
+See User guide for details.
+
+Testing smoke CNTT suite
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+Run smoke-cntt suite::
sudo docker run --env-file env \
- -v $(pwd)/openstack.creds:/home/opnfv/functest/conf/openstack.creds \
- -v $(pwd)/images:/home/opnfv/functest/images \
- opnfv/functest-features
+ -v $(pwd)/openstack.creds:/home/opnfv/functest/conf/env_file \
+ -v $(pwd)/images:/home/opnfv/functest/images \
+ opnfv/functest-smoke-cntt
Results shall be displayed as follows::
- +---------------------------+--------------------------+------------------+------------------+----------------+
- | TEST CASE | PROJECT | TIER | DURATION | RESULT |
- +---------------------------+--------------------------+------------------+------------------+----------------+
- | promise | promise | features | 00:00 | SKIP |
- | bgpvpn | sdnvpn | features | 00:00 | SKIP |
- | security_scan | securityscanning | features | 00:00 | SKIP |
- | functest-odl-sfc | sfc | features | 00:00 | SKIP |
- | domino-multinode | domino | features | 00:00 | SKIP |
- | barometercollectd | barometer | features | 00:00 | SKIP |
- +---------------------------+--------------------------+------------------+------------------+----------------+
- Note: if the scenario does not support some tests, they are indicated as SKIP.
- See User guide for details.
+ +-------------------------------+------------------+---------------+------------------+----------------+
+ | TEST CASE | PROJECT | TIER | DURATION | RESULT |
+ +-------------------------------+------------------+---------------+------------------+----------------+
+ | tempest_neutron_cntt | functest | smoke | 11:35 | PASS |
+ | tempest_cinder_cntt | functest | smoke | 01:58 | PASS |
+ | tempest_keystone_cntt | functest | smoke | 01:13 | PASS |
+ | tempest_heat_cntt | functest | smoke | 22:32 | PASS |
+ | rally_sanity_cntt | functest | smoke | 17:16 | PASS |
+ | tempest_full_cntt | functest | smoke | 41:13 | PASS |
+ | tempest_scenario_cntt | functest | smoke | 08:57 | PASS |
+ | tempest_slow_cntt | functest | smoke | 35:58 | PASS |
+ +-------------------------------+------------------+---------------+------------------+----------------+
-Testing components suite
-------------------------
+Testing benchmarking suite
+^^^^^^^^^^^^^^^^^^^^^^^^^^
-Run components suite::
+Run benchmarking suite::
sudo docker run --env-file env \
- -v $(pwd)/openstack.creds:/home/opnfv/functest/conf/openstack.creds \
- -v $(pwd)/images:/home/opnfv/functest/images \
- opnfv/functest-components
+ -v $(pwd)/openstack.creds:/home/opnfv/functest/conf/env_file \
+ -v $(pwd)/images:/home/opnfv/functest/images \
+ opnfv/functest-benchmarking
Results shall be displayed as follows::
- +-------------------------------+------------------+--------------------+------------------+----------------+
- | TEST CASE | PROJECT | TIER | DURATION | RESULT |
- +-------------------------------+------------------+--------------------+------------------+----------------+
- | tempest_full_parallel | functest | components | 102:48 | PASS |
- | rally_full | functest | components | 160:58 | PASS |
- +-------------------------------+------------------+--------------------+------------------+----------------+
+ +--------------------+------------------+----------------------+------------------+----------------+
+ | TEST CASE | PROJECT | TIER | DURATION | RESULT |
+ +--------------------+------------------+----------------------+------------------+----------------+
+ | rally_full | functest | benchmarking | 93:03 | PASS |
+ | rally_jobs | functest | benchmarking | 27:05 | PASS |
+ | vmtp | functest | benchmarking | 17:56 | PASS |
+ | shaker | functest | benchmarking | 24:02 | PASS |
+ +--------------------+------------------+----------------------+------------------+----------------+
+
+Note: if the scenario does not support some tests, they are indicated as SKIP.
+See User guide for details.
+
+Testing benchmarking CNTT suite
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Run benchmarking-cntt suite::
+
+ sudo docker run --env-file env \
+ -v $(pwd)/openstack.creds:/home/opnfv/functest/conf/env_file \
+ -v $(pwd)/images:/home/opnfv/functest/images \
+ opnfv/functest-benchmarking-cntt
+
+Results shall be displayed as follows::
+
+ +-------------------------+------------------+----------------------+------------------+----------------+
+ | TEST CASE | PROJECT | TIER | DURATION | RESULT |
+ +-------------------------+------------------+----------------------+------------------+----------------+
+ | rally_full_cntt | functest | benchmarking | 89:52 | PASS |
+ | rally_jobs_cntt | functest | benchmarking | 19:39 | PASS |
+ | vmtp | functest | benchmarking | 16:59 | PASS |
+ | shaker | functest | benchmarking | 23:43 | PASS |
+ +-------------------------+------------------+----------------------+------------------+----------------+
Testing vnf suite
------------------
+^^^^^^^^^^^^^^^^^
Run vnf suite::
-sudo docker run --env-file env \
- -v $(pwd)/openstack.creds:/home/opnfv/functest/conf/openstack.creds \
- -v $(pwd)/images:/home/opnfv/functest/images \
- opnfv/functest-vnf
+ sudo docker run --env-file env \
+ -v $(pwd)/openstack.creds:/home/opnfv/functest/conf/env_file \
+ -v $(pwd)/images:/home/opnfv/functest/images \
+ opnfv/functest-vnf
+
+Results shall be displayed as follows::
+
+ +----------------------+------------------+--------------+------------------+----------------+
+ | TEST CASE | PROJECT | TIER | DURATION | RESULT |
+ +----------------------+------------------+--------------+------------------+----------------+
+ | cloudify | functest | vnf | 05:08 | PASS |
+ | cloudify_ims | functest | vnf | 24:46 | PASS |
+ | heat_ims | functest | vnf | 33:12 | PASS |
+ | vyos_vrouter | functest | vnf | 15:53 | PASS |
+ | juju_epc | functest | vnf | 27:52 | PASS |
+ +----------------------+------------------+--------------+------------------+----------------+
+
+Functest Dockers for Kubernetes deployment
+------------------------------------------
+Docker images are available on the dockerhub:
+
+ * opnfv/functest-kubernetes-healthcheck
+ * opnfv/functest-kubernetes-smoke
+ * opnfv/functest-kubernetes-security
+ * opnfv/functest-kubernetes-benchmarking
+ * opnfv/functest-kubernetes-cnf
+
+Preparing your environment
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+cat env::
+
+ DEPLOY_SCENARIO=k8s-XXX
+
+Testing healthcheck suite
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Run healthcheck suite::
+
+ sudo docker run -it --env-file env \
+ -v $(pwd)/config:/root/.kube/config \
+ opnfv/functest-kubernetes-healthcheck
+
+A config file in the current dir 'config' is also required, which should be
+volume mapped to ~/.kube/config inside kubernetes container.
+
+Results shall be displayed as follows::
+
+ +-------------------+------------------+---------------------+------------------+----------------+
+ | TEST CASE | PROJECT | TIER | DURATION | RESULT |
+ +-------------------+------------------+---------------------+------------------+----------------+
+ | k8s_quick | functest | healthcheck | 00:18 | PASS |
+ | k8s_smoke | functest | healthcheck | 01:14 | PASS |
+ +-------------------+------------------+---------------------+------------------+----------------+
+
+Testing smoke suite
+^^^^^^^^^^^^^^^^^^^
+
+Run smoke suite::
+
+ sudo docker run -it --env-file env \
+ -v $(pwd)/config:/root/.kube/config \
+ opnfv/functest-kubernetes-smoke
+
+Results shall be displayed as follows::
+
+ +---------------------------+------------------+---------------+------------------+----------------+
+ | TEST CASE | PROJECT | TIER | DURATION | RESULT |
+ +---------------------------+------------------+---------------+------------------+----------------+
+ | k8s_conformance | functest | smoke | 94:26 | PASS |
+ | xrally_kubernetes | functest | smoke | 13:05 | PASS |
+ +---------------------------+------------------+---------------+------------------+----------------+
+
+Testing security suite
+^^^^^^^^^^^^^^^^^^^^^^
+
+Run smoke suite::
+
+ sudo docker run -it --env-file env \
+ -v $(pwd)/config:/root/.kube/config \
+ opnfv/functest-kubernetes-security
+
+Results shall be displayed as follows::
+
+ +---------------------------+------------------+------------------+------------------+----------------+
+ | TEST CASE | PROJECT | TIER | DURATION | RESULT |
+ +---------------------------+------------------+------------------+------------------+----------------+
+ | kube_hunter | functest | security | 00:19 | PASS |
+ | kube_bench_master | functest | security | 00:02 | PASS |
+ | kube_bench_node | functest | security | 00:01 | PASS |
+ +---------------------------+------------------+------------------+------------------+----------------+
+
+Testing benchmarking suite
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Run benchmarking suite::
+
+ sudo docker run -it --env-file env \
+ -v $(pwd)/config:/root/.kube/config \
+ opnfv/functest-kubernetes-benchmarking
Results shall be displayed as follows::
- +---------------------------------+------------------+--------------+------------------+----------------+
- | TEST CASE | PROJECT | TIER | DURATION | RESULT |
- +---------------------------------+------------------+--------------+------------------+----------------+
- | cloudify_ims | functest | vnf | 21:25 | PASS |
- | orchestra_openims | functest | vnf | 11:02 | FAIL |
- | orchestra_clearwaterims | functest | vnf | 09:13 | FAIL |
- +---------------------------------+------------------+--------------+------------------+----------------+
+ +--------------------------------+------------------+----------------------+------------------+----------------+
+ | TEST CASE | PROJECT | TIER | DURATION | RESULT |
+ +--------------------------------+------------------+----------------------+------------------+----------------+
+ | xrally_kubernetes_full | functest | benchmarking | 34:16 | PASS |
+ +--------------------------------+------------------+----------------------+------------------+----------------+
+
+Testing cnf suite
+^^^^^^^^^^^^^^^^^
+Run cnf suite::
+
+ sudo docker run -it --env-file env \
+ -v $(pwd)/config:/root/.kube/config \
+ opnfv/functest-kubernetes-cnf
+
+Results shall be displayed as follows::
+
+ +-------------------------+------------------+--------------+------------------+----------------+
+ | TEST CASE | PROJECT | TIER | DURATION | RESULT |
+ +-------------------------+------------------+--------------+------------------+----------------+
+ | k8s_vims | functest | cnf | 09:06 | PASS |
+ | helm_vims | functest | cnf | 08:54 | PASS |
+ | cnf_conformance | functest | cnf | 02:00 | PASS |
+ +-------------------------+------------------+--------------+------------------+----------------+
Environment variables
=====================
-Several environement variables may be specified:
- * INSTALLER_TYPE=(apex|compass|daisy|fuel|joid)
+Several environment variables may be specified:
+
* INSTALLER_IP=<Specific IP Address>
* DEPLOY_SCENARIO=<vim>-<controller>-<nfv_feature>-<ha_mode>
+ * NAMESERVER=XXX # if not 8.8.8.8
+ * VOLUME_DEVICE_NAME=XXX # if not vdb
+ * EXTERNAL_NETWORK=XXX # if not first network with router:external=True
+ * NEW_USER_ROLE=XXX # if not member
-
-INSTALLER IP may be required by some test cases like SFC or Barometer in order
-to access the installer node and the deployment.
+INSTALLER_IP is required by Barometer in order to access the installer node and
+the deployment.
The format for the DEPLOY_SCENARIO env variable can be described as follows:
* vim: (os|k8s) = OpenStack or Kubernetes
@@ -221,8 +367,8 @@ release note.
**NOTE:** The scenario name is mainly used to automatically detect
if a test suite is runnable or not (e.g. it will prevent ODL test suite to be
-run on 'nosdn' scenarios). If not set, Functest will try to run the default test
-cases that might not include SDN controller or a specific feature
+run on 'nosdn' scenarios). If not set, Functest will try to run the default
+test cases that might not include SDN controller or a specific feature.
**NOTE:** An HA scenario means that 3 OpenStack controller nodes are
deployed. It does not necessarily mean that the whole system is HA. See
@@ -234,9 +380,9 @@ to the Functest Docker Container, using the -e
only relevant to Jenkins CI invoked testing and **should not be used**
when performing manual test scenarios:
- * NODE_NAME = <Test POD Name>
- * BUILD_TAG = <Jenkins Build Tag>
- * CI_DEBUG = <DebugTraceValue>
+ * INSTALLER_TYPE=(apex|compass|daisy|fuel)
+ * NODE_NAME=<Test POD Name>
+ * BUILD_TAG=<Jenkins Build Tag>
where:
@@ -256,11 +402,6 @@ where:
which are independently pushed to the results database
from different Jenkins jobs.
DO NOT USE THIS OPTION IN MANUAL TEST SCENARIOS.
- * <DebugTraceValue> = "true" or "false"
- Default = "false", if not specified
- If "true" is specified, then additional debug trace
- text can be sent to the test results file / log files
- and also to the standard console output.
Openstack credentials
@@ -268,7 +409,7 @@ Openstack credentials
OpenStack credentials are mandatory and must be provided to Functest.
When running the command "functest env prepare", the framework will
automatically look for the Openstack credentials file
-"/home/opnfv/functest/conf/openstack.creds" and will exit with
+"/home/opnfv/functest/conf/env_file" and will exit with
error if it is not present or is empty.
There are 2 ways to provide that file:
@@ -276,7 +417,7 @@ There are 2 ways to provide that file:
* by using a Docker volume with -v option when creating the Docker container.
This is referred to in docker documentation as "Bind Mounting".
See the usage of this parameter in the following chapter.
- * or creating manually the file '/home/opnfv/functest/conf/openstack.creds'
+ * or creating manually the file '/home/opnfv/functest/conf/env_file'
inside the running container and pasting the credentials in it. Consult
your installer guide for further details. This is however not
instructed in this document.
@@ -317,194 +458,6 @@ be::
export OS_INSECURE=true
-Functest docker container directory structure
-=============================================
-Inside the Functest docker container, the following directory structure
-should now be in place::
-
- `--
- |- home
- | |-- opnfv
- | | `- functest
- | | |-- conf
- | | `-- results
- | `-- repos
- | `-- vnfs
- |- src
- | |-- tempest
- | |-- vims-test
- | |-- odl_test
- | `-- fds
- `- usr
- `- lib
- `- python2.7
- `- site-packages
- `- functest
- |-- ...
-
-Underneath the '/home/opnfv/functest' directory, the Functest docker container
-includes two main directories:
-
- * The **conf** directory stores configuration files (e.g. the
- OpenStack creds are stored in path '/home/opnfv/functest/conf/openstack.creds'),
- * the **results** directory stores some temporary result log files
-
-src and repos directories are used to host third party code used for the tests.
-
-The structure of functest repo can be described as follows::
-
- |-- INFO
- |-- LICENSE
- |-- api
- | `-- apidoc
- |-- build.sh
- |-- commons
- |-- docker
- | |-- components
- | |-- core
- | |-- features
- | |-- healthcheck
- | |-- smoke
- | |-- vnf
- | |-- parser
- | |-- restapi
- | |-- thirdparty-requirements.txt
- |-- docs
- | |-- com
- | |-- images
- | |-- release
- | | `-- release-notes
- | |-- results
- | | testing
- | | |-- developer
- | | `-- user
- | | |-- configguide
- | | `-- userguide
- `-- functest
- |-- api
- | |-- base.py
- | |-- server.py
- | |-- urls.py
- | |-- common
- | | |-- api_utils.py
- | | |-- thread.py
- | `-- resources
- | `-- v1
- | |-- creds.py
- | |-- envs.py
- | |-- testcases.py
- | |-- tiers.py
- | |-- tasks.py
- | `-- database
- | |-- db.py
- | `-- v1
- | |-- handlers.py
- | |-- models.py
- | `-- swagger
- |-- ci
- │   |-- check_deployment.py
- │   |-- config_aarch64_patch.yaml
- │   |-- config_functest.yaml
- │   |-- config_patch.yaml
- │   |-- download_images.sh
- │   |-- logging.ini
- │   |-- rally_aarch64_patch.conf
- │   |-- run_tests.py
- │   |-- testcases.yaml
- │   |-- tier_builder.py
- │   |-- tier_handler.py
- |-- cli
- │   |-- cli_base.py
- │   |-- commands
- │   │   |-- cli_env.py
- │   │   |-- cli_os.py
- │   │   |-- cli_testcase.py
- │   │   |-- cli_tier.py
- │   |-- functest-complete.sh
- |-- core
- │   |-- feature.py
- │   |-- robotframework.py
- │   |-- testcase.py
- │   |-- unit.py
- │   |-- vnf.py
- |-- energy
- │   |-- energy.py
- |-- opnfv_tests
- │   `-- openstack
- │      |-- rally
- │      |-- refstack_client
- │      |-- snaps
- │      |-- tempest
- │      |-- vping
- │   `-- sdn
- │   │   `-- odl
- │   `-- vnf
- │   |-- ims
- │   `-- router
- |-- tests
- │   `-- unit
- │   |-- ci
- │   |-- cli
- │   |-- core
- │   |-- energy
- │   |-- features
- │   |-- odl
- │   |-- openstack
- │   |-- opnfv_tests
- │   |-- test_utils.py
- │   |-- utils
- │   `-- vnf
- |-- utils
- | |-- config.py
- | |-- constants.py
- | |-- decorators.py
- | |-- env.py
- | |-- functest_utils.py
- | |-- functest_vacation.py
- | |-- openstack_clean.py
- | |-- openstack_tacker.py
- | `-- openstack_utils.py
- |-- requirements.txt
- |-- setup.cfg
- |-- setup.py
- |-- test-requirements.txt
- |-- tox.ini
- |-- upper-constraints.txt
-
- (Note: All *.pyc files removed from above list for brevity...)
-
-We may distinguish several directories, the first level has 5 directories:
-
-* **api**: This directory is dedicated to the API (framework) documentations.
-* **commons**: This directory is dedicated for storage of traffic profile or
- any other test inputs that could be reused by any test project.
-* **docker**: This directory includes the needed files and tools to
- build the Functest Docker images.
-* **docs**: This directory includes documentation: Release Notes,
- User Guide, Configuration Guide and Developer Guide.
-* **functest**: This directory contains all the code needed to run
- functest internal cases and OPNFV onboarded feature or VNF test cases.
-
-Functest directory has 7 sub-directories, which is located under
-/usr/lib/python2.7/site-packages/functest:
- * **api**: This directory is dedicated for the internal Functest API.
- * **ci**: This directory contains test structure definition files
- (e.g <filename>.yaml) and bash shell/python scripts used to
- configure and execute Functional tests. The test execution script
- can be executed under the control of Jenkins CI jobs.
- * **cli**: This directory holds the python based Functest CLI utility
- source code, which is based on the Python 'click' framework.
- * **core**: This directory holds the python based Functest core
- source code. Three abstraction classes have been created to ease
- the integration of internal, feature or vnf cases.
- * **opnfv_tests**: This directory includes the scripts required by
- Functest internal test cases and other feature projects test cases.
- * **tests**: This directory includes the functest unit tests.
- * **utils**: this directory holds Python source code for some general
- purpose helper utilities, which testers can also re-use in their
- own test code. See for an example the Openstack helper utility:
- 'openstack_utils.py'.
-
Logs
====
@@ -512,7 +465,7 @@ By default all the logs are put un /home/opnfv/functest/results/functest.log.
If you want to have more logs in console, you may edit the logging.ini file
manually.
Connect on the docker then edit the file located in
-/usr/lib/python2.7/site-packages/functest/ci/logging.ini
+/usr/lib/python3.8/site-packages/xtesting/ci/logging.ini
Change wconsole to console in the desired module to get more traces.
@@ -522,7 +475,8 @@ Configuration
You may also directly modify the python code or the configuration file (e.g.
testcases.yaml used to declare test constraints) under
-/usr/lib/python2.7/site-packages/functest
+/usr/lib/python3.8/site-packages/xtesting and
+/usr/lib/python3.8/site-packages/functest
Tips
@@ -580,7 +534,7 @@ and credentials are working as expected.
Once the credentials are there inside the container, they should be
sourced before running any Openstack commands::
- source /home/opnfv/functest/conf/openstack.creds
+ source /home/opnfv/functest/conf/env_file
After this, try to run any OpenStack command to see if you get any
output, for instance::
@@ -614,6 +568,8 @@ If the OpenStack command still does not show anything or complains
about connectivity issues, it could be due to an incorrect url given to
the OS_AUTH_URL environment variable. Check the deployment settings.
+.. _`Proxy support`:
+
Proxy support
-------------
If your Jumphost node is operating behind a http proxy, then there are
@@ -623,7 +579,7 @@ succeed:
#. Initial installation of docker engine First, try following the
official Docker documentation for Proxy settings. Some issues were
experienced on CentOS 7 based Jumphost. Some tips are documented
- in section: `Docker Installation on CentOS behind http proxy`_
+ in section: :ref:`Docker Installation on CentOS behind http proxy`
below.
If that is the case, make sure the resolv.conf and the needed
@@ -631,14 +587,14 @@ http_proxy and https_proxy environment variables, as well as the
'no_proxy' environment variable are set correctly::
# Make double sure that the 'no_proxy=...' line in the
- # 'openstack.creds' file is commented out first. Otherwise, the
+ # 'env_file' file is commented out first. Otherwise, the
# values set into the 'no_proxy' environment variable below will
# be ovewrwritten, each time the command
- # 'source ~/functest/conf/openstack.creds' is issued.
+ # 'source ~/functest/conf/env_file' is issued.
cd ~/functest/conf/
- sed -i 's/export no_proxy/#export no_proxy/' openstack.creds
- source ./openstack.creds
+ sed -i 's/export no_proxy/#export no_proxy/' env_file
+ source ./env_file
# Next calculate some IP addresses for which http_proxy
# usage should be excluded:
@@ -669,7 +625,7 @@ docker container::
Note: In a Jumphost node based on the CentOS family OS, the **nc**
commands might not work. You can use the **curl** command instead.
- curl http://www.opnfv.org:80
+ curl https://www.opnfv.org/
<HTML><HEAD><meta http-equiv="content-type"
.
@@ -686,6 +642,8 @@ commands might not work. You can use the **curl** command instead.
(Ignore the content. If command returns a valid HTML page, it proves
the connection.)
+.. _`Docker Installation on CentOS behind http proxy`:
+
Docker Installation on CentOS behind http proxy
-----------------------------------------------
This section is applicable for CentOS family OS on Jumphost which
@@ -725,11 +683,10 @@ and install the **docker-engine**. The instructions conclude with a
work with the above pre-requisite actions.
-.. _`[4]`: http://docs.opnfv.org/en/latest/submodules/functest/docs/testing/user/configguide/index.html
.. _`dockerdocs`: https://docs.docker.com/
.. _`Proxy`: https://docs.docker.com/engine/admin/systemd/#http-proxy
.. _`Install Docker on CentOS`: https://docs.docker.com/engine/installation/linux/centos/
.. _`Functest User Guide`: http://docs.opnfv.org/en/stable-danube/submodules/functest/docs/testing/user/userguide/index.html
-.. _`images/CentOS-7-x86_64-GenericCloud.qcow2` http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
-.. _`images/cirros-0.4.0-x86_64-disk.img` https://cloud-images.ubuntu.com/releases/14.04/release/ubuntu-14.04-server-cloudimg-amd64-disk1.img
-.. _`images/ubuntu-14.04-server-cloudimg-amd64-disk1.img` https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2
+.. _`images/CentOS-7-x86_64-GenericCloud.qcow2`: https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2
+.. _`images/cirros-0.5.1-x86_64-disk.img`: http://download.cirros-cloud.net/0.5.1/cirros-0.5.1-x86_64-disk.img
+.. _`images/ubuntu-14.04-server-cloudimg-amd64-disk1.img`: https://cloud-images.ubuntu.com/releases/14.04/release/ubuntu-14.04-server-cloudimg-amd64-disk1.img
diff --git a/docs/testing/user/configguide/index.rst b/docs/testing/user/configguide/index.rst
index fd997344b..e5963435e 100644
--- a/docs/testing/user/configguide/index.rst
+++ b/docs/testing/user/configguide/index.rst
@@ -1,130 +1,22 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
+.. SPDX-License-Identifier: CC-BY-4.0
+.. _functest-install-guide:
***************************
Functest Installation Guide
***************************
.. toctree::
- :numbered:
:maxdepth: 2
-
-Introduction
-============
-This document describes how to install and configure Functest in OPNFV.
-
-High level architecture
------------------------
-
-The high level architecture of Functest within OPNFV can be described as
-follows::
-
- CIMC/Lights+out management Admin Mgmt/API Public Storage Private
- PXE
- + + + + + +
- | | | | | |
- | +----------------------------+ | | | | |
- | | | | | | | |
- +-----+ Jumphost | | | | | |
- | | | | | | | |
- | | +--------------------+ | | | | | |
- | | | | | | | | | |
- | | | Tools | +----------------+ | | |
- | | | - Rally | | | | | | |
- | | | - Robot | | | | | | |
- | | | - RefStack | | | | | | |
- | | | | |-------------------------+ | |
- | | | Testcases | | | | | | |
- | | | - VIM | | | | | | |
- | | | | | | | | | |
- | | | - SDN Controller | | | | | | |
- | | | | | | | | | |
- | | | - Features | | | | | | |
- | | | | | | | | | |
- | | | - VNF | | | | | | |
- | | | | | | | | | |
- | | +--------------------+ | | | | | |
- | | Functest Docker + | | | | |
- | | | | | | | |
- | | | | | | | |
- | | | | | | | |
- | +----------------------------+ | | | | |
- | | | | | |
- | +----------------+ | | | | |
- | | 1 | | | | | |
- +----+ +--------------+-+ | | | | |
- | | | 2 | | | | | |
- | | | +--------------+-+ | | | | |
- | | | | 3 | | | | | |
- | | | | +--------------+-+ | | | | |
- | | | | | 4 | | | | | |
- | +-+ | | +--------------+-+ | | | | |
- | | | | | 5 +-------------+ | | | |
- | +-+ | | nodes for | | | | | |
- | | | | deploying +---------------------+ | | |
- | +-+ | OPNFV | | | | | |
- | | | +------------------------------+ | |
- | +-+ SUT | | | | | |
- | | +--------------------------------------+ |
- | | | | | | | |
- | | +----------------------------------------------+
- | +----------------+ | | | | |
- | | | | | |
- + + + + + +
- SUT = System Under Test
-
-Note connectivity to management network is not needed for most of the testcases.
-But it may be needed for some specific snaps tests.
-
-All the libraries and dependencies needed by all of the Functest tools are
-pre-installed into the Docker images. This allows running Functest on any
-platform.
-
-The automated mechanisms inside the Functest Docker containers will:
-
- * Prepare the environment according to the System Under Test (SUT)
- * Perform the appropriate functional tests
- * Push the test results into the OPNFV test result database (optional)
-
-The OpenStack credentials file must be provided to the container.
-
-These Docker images can be integrated into CI or deployed independently.
-
-Please note that the Functest Docker images have been designed for OPNFV,
-however, it would be possible to adapt them to any OpenStack based VIM +
-controller environment, since most of the test cases are integrated from
-upstream communities.
-
-The functional test cases are described in the Functest User Guide `[2]`_
-
-.. include:: ./prerequisites.rst
-
-.. include:: ./configguide.rst
-
-.. include:: ./ci.rst
-
+ intro.rst
+ prerequisites.rst
+ configguide.rst
References
==========
-`[1]`_ : Keystone and public end point constraint
-
-`[2]`_ : Functest User guide
-
-`[3]`_ : Functest Jenkins jobs
-
-`[4]`_ : Functest Configuration guide
-
-`[5]`_ : OPNFV main site
-
-`[6]`_ : Functest wiki page
+`[1]`_ : Functest Jenkins jobs
IRC support channel: #opnfv-functest
-.. _`[1]`: https://ask.openstack.org/en/question/68144/keystone-unable-to-use-the-public-endpoint/
-.. _`[2]`: http://docs.opnfv.org/en/latest/submodules/functest/docs/testing/user/userguide/index.html
-.. _`[3]`: https://git.opnfv.org/releng/tree/jjb/functest/functest-daily-jobs.yml
-.. _`[4]`: http://docs.opnfv.org/en/latest/submodules/functest/docs/testing/user/configguide/index.html
-.. _`[5]`: http://www.opnfv.org
-.. _`[6]`: https://wiki.opnfv.org/functest
+.. _`[1]`: https://github.com/opnfv/releng/blob/master/jjb/functest/functest.yaml
diff --git a/docs/testing/user/configguide/intro.rst b/docs/testing/user/configguide/intro.rst
new file mode 100644
index 000000000..02329995c
--- /dev/null
+++ b/docs/testing/user/configguide/intro.rst
@@ -0,0 +1,86 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
+Introduction
+============
+This document describes how to install and configure Functest in OPNFV.
+
+High level architecture
+-----------------------
+
+The high level architecture of Functest within OPNFV can be described as
+follows::
+
+ CIMC/Lights+out management Admin Mgmt/API Public Storage Private
+ PXE
+ + + + + + +
+ | | | | | |
+ | +----------------------------+ | | | | |
+ | | | | | | | |
+ +-----+ Jumphost | | | | | |
+ | | | | | | | |
+ | | +--------------------+ | | | | | |
+ | | | | | | | | | |
+ | | | Tools | +----------------+ | | |
+ | | | - Rally | | | | | | |
+ | | | - Robot | | | | | | |
+ | | | - RefStack | | | | | | |
+ | | | | |-------------------------+ | |
+ | | | Testcases | | | | | | |
+ | | | - VIM | | | | | | |
+ | | | | | | | | | |
+ | | | - SDN Controller | | | | | | |
+ | | | | | | | | | |
+ | | | - Features | | | | | | |
+ | | | | | | | | | |
+ | | | - VNF | | | | | | |
+ | | | | | | | | | |
+ | | +--------------------+ | | | | | |
+ | | Functest Docker + | | | | |
+ | | | | | | | |
+ | | | | | | | |
+ | | | | | | | |
+ | +----------------------------+ | | | | |
+ | | | | | |
+ | +----------------+ | | | | |
+ | | 1 | | | | | |
+ +----+ +--------------+-+ | | | | |
+ | | | 2 | | | | | |
+ | | | +--------------+-+ | | | | |
+ | | | | 3 | | | | | |
+ | | | | +--------------+-+ | | | | |
+ | | | | | 4 | | | | | |
+ | +-+ | | +--------------+-+ | | | | |
+ | | | | | 5 +-------------+ | | | |
+ | +-+ | | nodes for | | | | | |
+ | | | | deploying +---------------------+ | | |
+ | +-+ | OPNFV | | | | | |
+ | | | +------------------------------+ | |
+ | +-+ SUT | | | | | |
+ | | +--------------------------------------+ |
+ | | | | | | | |
+ | | +----------------------------------------------+
+ | +----------------+ | | | | |
+ | | | | | |
+ + + + + + +
+ SUT = System Under Test
+
+All the libraries and dependencies needed by all of the Functest tools are
+pre-installed into the Docker images. This allows running Functest on any
+platform.
+
+The automated mechanisms inside the Functest Docker containers will:
+
+ * Prepare the environment according to the System Under Test (SUT)
+ * Perform the appropriate functional tests
+ * Push the test results into the OPNFV test result database (optional)
+
+The OpenStack credentials file must be provided to the container.
+
+These Docker images can be integrated into CI or deployed independently.
+
+Please note that the Functest Docker images have been designed for OPNFV,
+however, it would be possible to adapt them to any OpenStack based VIM +
+controller environment, since most of the test cases are integrated from
+upstream communities.
+
+The functional test cases are described in the :ref:`functest-userguide`
diff --git a/docs/testing/user/configguide/prerequisites.rst b/docs/testing/user/configguide/prerequisites.rst
index 8289803bb..dab4a9e6b 100644
--- a/docs/testing/user/configguide/prerequisites.rst
+++ b/docs/testing/user/configguide/prerequisites.rst
@@ -1,7 +1,9 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
Prerequisites
=============
The OPNFV deployment is out of the scope of this document but it can be
-found in http://docs.opnfv.org.
+found in https://docs.opnfv.org/en/stable-hunter/.
The OPNFV platform is considered as the SUT in this document.
Several prerequisites are needed for Functest:
@@ -12,12 +14,6 @@ Several prerequisites are needed for Functest:
#. An admin/management network created on the SUT
#. Connectivity from the Jumphost to the SUT public/external network
-Some specific SNAPS tests may require a connectivity from the Jumphost to the
-SUT admin/management network but most of the test cases do not. This requirement
-can be changed by overriding the 'interface' attribute (OS_INTERFACE) value
-to 'public' in the credentials file. Another means to circumvent this issue
-would be to change the 'snaps.use_keystone' value from True to False.
-
WARNING: Connectivity from Jumphost is essential and it is of paramount
importance to make sure it is working before even considering to install
and run Functest. Make also sure you understand how your networking is
@@ -29,7 +25,7 @@ deployment has been triggered previously, but it could be any server
with proper connectivity to the SUT.
NOTE: If your Jumphost is operating behind a company http proxy and/or
-firewall, please consult first the section `Proxy Support`_, towards
+firewall, please consult first the section :ref:`Proxy support`, towards
the end of this document. The section details some tips/tricks which
*may* be of help in a proxified environment.
@@ -44,8 +40,8 @@ commands below are offered as a short reference.
*Tip:* For running docker containers behind the proxy, you need first
some extra configuration which is described in section
-`Docker Installation on CentOS behind http proxy`_. You should follow
-that section before installing the docker engine.
+:ref:`Docker Installation on CentOS behind http proxy`. You should follow that
+section before installing the docker engine.
Docker installation needs to be done as root user. You may use other
userid's to create and run the actual containers later if so desired.
@@ -96,7 +92,4 @@ should thus be known. Ensure you can reach each node in the SUT, from the
Jumphost using the 'ping' command using the respective IP address on the
public/external network for each node in the SUT. The details of how to
determine the needed IP addresses for each node in the SUT may vary according
-to the used installer and are therefore ommitted here.
-
-.. _`[1]`: https://ask.openstack.org/en/question/68144/keystone-unable-to-use-the-public-endpoint/
-.. _`[4]`: http://docs.opnfv.org/en/latest/submodules/functest/docs/testing/user/configguide/index.html
+to the used installer and are therefore omitted here.
diff --git a/docs/testing/user/userguide/index.rst b/docs/testing/user/userguide/index.rst
index 66dfd3e7b..1e73cd622 100644
--- a/docs/testing/user/userguide/index.rst
+++ b/docs/testing/user/userguide/index.rst
@@ -1,8 +1,7 @@
-.. _functest-userguide:
-
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. SPDX-License-Identifier: CC-BY-4.0
+.. _functest-userguide:
+
*******************
Functest User Guide
*******************
@@ -10,39 +9,17 @@ Functest User Guide
.. toctree::
:maxdepth: 2
-
-
-Introduction
-============
-
-The goal of this document is to describe the OPNFV Functest test cases and to
-provide a procedure to execute them.
-
-**IMPORTANT**: It is assumed here that Functest has been properly deployed
-following the installation guide procedure `[1]`_.
-
-.. include:: ./test_overview.rst
-
-.. include:: ./test_details.rst
-
-.. include:: ./runfunctest.rst
-
-.. include:: ./test_results.rst
-
-.. include:: ./reporting.rst
-
-.. figure:: ../../../images/functest-reporting-status.png
- :align: center
- :alt: Functest reporting portal Fuel status page
-
-.. include:: ./troubleshooting.rst
+ intro.rst
+ test_overview.rst
+ test_details.rst
+ test_results.rst
+ reporting.rst
+ troubleshooting.rst
References
==========
-`[1]`_: Functest configuration guide
-
`[2]`_: OpenStack Tempest documentation
`[3]`_: Rally documentation
@@ -51,7 +28,7 @@ References
`[5]`_: Clearwater vIMS blueprint
-`[6]`_: NIST web site
+`[6]`_: Security Content Automation Protocol
`[7]`_: OpenSCAP web site
@@ -63,17 +40,13 @@ References
`[11]`_: Robot Framework web site
-`[12]`_: Functest User guide
-
-`[13]`_: SNAPS wiki
+`[13]`_: SNAPS
`[14]`_: vRouter
`[15]`_: Testing OpenStack Tempest part 1
-`[16]`_: Running Functest through internal REST API
-
-`[17]`_: OPNFV Test API
+`[16]`_: OPNFV Test API
`OPNFV main site`_: OPNFV official web site
@@ -81,26 +54,23 @@ References
IRC support chan: #opnfv-functest
-.. _`[1]`: http://docs.opnfv.org/en/latest/submodules/functest/docs/testing/user/configguide/index.html
-.. _`[2]`: http://docs.openstack.org/developer/tempest/overview.html
-.. _`[3]`: https://rally.readthedocs.org/en/latest/index.html
-.. _`[4]`: http://events.linuxfoundation.org/sites/events/files/slides/Functest%20in%20Depth_0.pdf
+.. _`[2]`: https://docs.openstack.org/tempest/latest/
+.. _`[3]`: https://rally.readthedocs.io/en/latest/index.html
+.. _`[4]`: https://events.static.linuxfound.org/sites/events/files/slides/Functest%20in%20Depth_0.pdf
.. _`[5]`: https://github.com/Orange-OpenSource/opnfv-cloudify-clearwater/blob/master/openstack-blueprint.yaml
-.. _`[6]`: https://scap.nist.gov/
+.. _`[6]`: https://en.wikipedia.org/wiki/Security_Content_Automation_Protocol
.. _`[7]`: https://github.com/OpenSCAP/openscap
.. _`[8]`: https://github.com/openstack/refstack-client
-.. _`[9]`: https://github.com/openstack/defcore
+.. _`[9]`: https://github.com/openstack/interop
.. _`[10]`: https://github.com/openstack/interop/blob/master/2016.08/procedure.rst
-.. _`[11]`: http://robotframework.org/
-.. _`[12]`: http://docs.opnfv.org/en/latest/submodules/functest/docs/testing/user/userguide/index.html
-.. _`[13]`: https://wiki.opnfv.org/display/PROJ/SNAPS-OO
+.. _`[11]`: https://robotframework.org/
+.. _`[13]`: https://git.opnfv.org/snaps/
.. _`[14]`: https://github.com/oolorg/opnfv-functest-vrouter
.. _`[15]`: https://aptira.com/testing-openstack-tempest-part-1/
-.. _`[16]`: https://wiki.opnfv.org/display/functest/Running+test+cases+via+new+Functest+REST+API
-.. _`[17]`: http://docs.opnfv.org/en/latest/testing/testing-dev.html
-.. _`OPNFV main site`: http://www.opnfv.org
-.. _`Functest page`: https://wiki.opnfv.org/functest
+.. _`[16]`: http://testresults.opnfv.org/test/
+.. _`OPNFV main site`: https://www.opnfv.org/
+.. _`Functest page`: https://github.com/opnfv/functest/
.. _`OpenRC`: http://docs.openstack.org/user-guide/common/cli_set_environment_variables_using_openstack_rc.html
.. _`Rally installation procedure`: https://rally.readthedocs.org/en/latest/tutorial/step_0_installation.html
-.. _`config_functest.yaml` : https://git.opnfv.org/cgit/functest/tree/functest/ci/config_functest.yaml
+.. _`config_functest.yaml` : https://github.com/opnfv/functest/blob/master/functest/ci/config_functest.yaml
.. _`Functest reporting`: http://testresults.opnfv.org/reporting/master/functest/status-apex.html
diff --git a/docs/testing/user/userguide/intro.rst b/docs/testing/user/userguide/intro.rst
new file mode 100644
index 000000000..c001afb2f
--- /dev/null
+++ b/docs/testing/user/userguide/intro.rst
@@ -0,0 +1,10 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
+Introduction
+============
+
+The goal of this document is to describe the OPNFV Functest test cases and to
+provide a procedure to execute them.
+
+**IMPORTANT**: It is assumed here that Functest has been properly deployed
+following the installation guide procedure :ref:`functest-install-guide`.
diff --git a/docs/testing/user/userguide/reporting.rst b/docs/testing/user/userguide/reporting.rst
index 88f5e865a..8fad55d33 100644
--- a/docs/testing/user/userguide/reporting.rst
+++ b/docs/testing/user/userguide/reporting.rst
@@ -1,4 +1,3 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
Test reporting
@@ -26,7 +25,7 @@ and features) corresponding to this scenario.
+---------------------+---------+---------+---------+---------+
| vPing_userdata | X | X | X | X |
+---------------------+---------+---------+---------+---------+
- | tempest_smoke_serial| X | X | X | X |
+ | tempest_smoke | X | X | X | X |
+---------------------+---------+---------+---------+---------+
| rally_sanity | X | X | X | X |
+---------------------+---------+---------+---------+---------+
@@ -42,12 +41,14 @@ and features) corresponding to this scenario.
+---------------------+---------+---------+---------+---------+
| copper | X | | | X |
+---------------------+---------+---------+---------+---------+
- src: os-odl_l2-nofeature-ha Colorado (see release note for the last matrix version)
+
+ src: os-odl_l2-nofeature-ha Colorado (see release note for the last matrix
+ version)
All the testcases (X) listed in the table are runnable on os-odl_l2-nofeature
scenarios.
Please note that other test cases (e.g. sfc_odl, bgpvpn) need ODL configuration
-addons and, as a consequence, specific scenario.
+add-ons and, as a consequence, specific scenario.
There are not considered as runnable on the generic odl_l2 scenario.
@@ -69,16 +70,20 @@ scoring. In fact the success criteria are not always easy to define and may
require specific hardware configuration.
Please also note that all the test cases have the same "weight" for the score
-calculation whatever the complexity of the test case. Concretely a vping has the
-same weith than the 200 tempst tests.
+calculation whatever the complexity of the test case. Concretely a vping has
+the same weight than the 200 tempest tests.
Moreover some installers support more features than others. The more cases your
scenario is dealing with, the most difficult to rich a good scoring.
Therefore the scoring provides 3 types of indicators:
- * the richness of the scenario: if the target scoring is high, it means that the scenario includes lots of features
- * the maturity: if the percentage (scoring/target scoring * 100) is high, it means that all the tests are PASS
- * the stability: as the number of iteration is included in the calculation, the pecentage can be high only if the scenario is run regularly (at least more than 4 iterations over the last 10 days in CI)
+ * the richness of the scenario: if the target scoring is high, it means that
+ the scenario includes lots of features
+ * the maturity: if the percentage (scoring/target scoring * 100) is high, it
+ means that all the tests are PASS
+ * the stability: as the number of iteration is included in the calculation,
+ the percentage can be high only if the scenario is run regularly (at least
+ more than 4 iterations over the last 10 days in CI)
In any case, the scoring is used to give feedback to the other projects and
does not represent an absolute value of the scenario.
@@ -86,5 +91,8 @@ does not represent an absolute value of the scenario.
See `reporting page`_ for details. For the status, click on the version,
Functest then the Status menu.
-
.. _`reporting page`: http://testresults.opnfv.org/reporting/
+
+.. figure:: ../../../images/functest-reporting-status.png
+ :align: center
+ :alt: Functest reporting portal Fuel status page
diff --git a/docs/testing/user/userguide/runfunctest.rst b/docs/testing/user/userguide/runfunctest.rst
deleted file mode 100644
index 89580e564..000000000
--- a/docs/testing/user/userguide/runfunctest.rst
+++ /dev/null
@@ -1,140 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-
-Executing Functest suites
-=========================
-
-As mentioned in the configuration guide `[1]`_, Alpine docker containers have
-been introduced in Euphrates.
-Tier containers have been created.
-Assuming that you pulled the container and your environement is ready, you can
-simply run the tiers by typing (e.g. with functest-healthcheck)::
-
- sudo docker run --env-file env \
- -v $(pwd)/openstack.creds:/home/opnfv/functest/conf/openstack.creds \
- -v $(pwd)/images:/home/opnfv/functest/images \
- opnfv/functest-healthcheck
-
-You should get::
-
- +----------------------------+------------------+---------------------+------------------+----------------+
- | TEST CASE | PROJECT | TIER | DURATION | RESULT |
- +----------------------------+------------------+---------------------+------------------+----------------+
- | connection_check | functest | healthcheck | 00:02 | PASS |
- | api_check | functest | healthcheck | 03:19 | PASS |
- | snaps_health_check | functest | healthcheck | 00:46 | PASS |
- +----------------------------+------------------+---------------------+------------------+----------------+
-
-You can run functest-healcheck, functest-smoke, functest-features,
-functest-components and functest-vnf.
-
-The result tables show the results by test case, it can be::
-
- * PASS
- * FAIL
- * SKIP: if the scenario/installer does not support the test case
-
-
-Manual run
-==========
-If you want to run the test step by step, you may add docker option then run the
-different commands within the docker.
-
-Considering the healthcheck example, running functest manaully means::
-
- sudo docker run -ti --env-file env \
- -v $(pwd)/openstack.creds:/home/opnfv/functest/conf/openstack.creds \
- -v $(pwd)/images:/home/opnfv/functest/images \
- opnfv/functest-healthcheck /bin/bash
-
-The docker prompt shall be returned. Then within the docker run the following
-commands::
-
- $ source /home/opnfv/functest/conf/openstack.creds
-
-Tier
-----
-Each Alpine container provided on the docker hub matches with a tier.
-The following commands are available::
-
- # functest tier list
- - 0. healthcheck:
- ['connection_check', 'api_check', 'snaps_health_check']
- # functest tier show healthcheck
- +---------------------+---------------+--------------------------+-------------------------------------------------+------------------------------------+
- | TIERS | ORDER | CI LOOP | DESCRIPTION | TESTCASES |
- +---------------------+---------------+--------------------------+-------------------------------------------------+------------------------------------+
- | healthcheck | 0 | (daily)|(weekly) | First tier to be executed to verify the | connection_check api_check |
- | | | | basic operations in the VIM. | snaps_health_check |
- +---------------------+---------------+--------------------------+-------------------------------------------------+------------------------------------+
-
-To run all the cases of the tier, type::
-
- # functest tier run healthcheck
-
-Testcase
---------
-Testcases can be listed, shown and run though the CLI::
-
- # functest testcase list
- connection_check
- api_check
- snaps_health_check
- # functest testcase show api_check
- +-------------------+--------------------------------------------------+------------------+---------------------------+
- | TEST CASE | DESCRIPTION | CRITERIA | DEPENDENCY |
- +-------------------+--------------------------------------------------+------------------+---------------------------+
- | api_check | This test case verifies the retrieval of | 100 | ^((?!netvirt).)*$ |
- | | OpenStack clients: Keystone, Glance, | | |
- | | Neutron and Nova and may perform some | | |
- | | simple queries. When the config value of | | |
- | | snaps.use_keystone is True, functest | | |
- | | must have access to the cloud's private | | |
- | | network. | | |
- +-------------------+--------------------------------------------------+------------------+---------------------------+
- # functest testcase run connection_check
- ...
- # functest run all
-
-You can also type run_tests -t all to run all the tests.
-
-Note the list of test cases depend on the installer and the scenario.
-
-
-Reporting results to the test Database
-======================================
-In OPNFV CI we collect all the results from CI. A test APi shall be available
-as well as a test database `[17]`_.
-
-Functest internal API
-=====================
-
-An internal API has been introduced in Euphrates. The goal is to trigger
-Functest operations through an API in addition of the CLI.
-This could be considered as a first step towards a pseudo micro services
-approach where the different test projects could expose and consume APIs to the
-other test projects.
-
-In Euphrates the main method of the APIs are:
-
- * Show credentials
- * Update openrc file
- * Show environment
- * Update hosts info for domain name
- * Prepare environment
- * List all testcases
- * Show a testcase
- * Run a testcase
- * List all tiers
- * Show a tier
- * List all testcases within given tier
- * Get the result of the specified task
- * Get the log of the specified task
-
-See `[16]`_ to get examples on how to use the API.
-
-
-.. _`[1]`: http://docs.opnfv.org/en/latest/submodules/functest/docs/testing/user/configguide/index.html
-.. _`[16]`: https://wiki.opnfv.org/display/functest/Running+test+cases+via+new+Functest+REST+API
-.. _`[17]`: http://docs.opnfv.org/en/latest/testing/testing-dev.html
diff --git a/docs/testing/user/userguide/test_details.rst b/docs/testing/user/userguide/test_details.rst
index 97c4688cc..98247d488 100644
--- a/docs/testing/user/userguide/test_details.rst
+++ b/docs/testing/user/userguide/test_details.rst
@@ -1,8 +1,7 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
+.. SPDX-License-Identifier: CC-BY-4.0
-
-The different test cases are described in the remaining sections of this document.
+The different test cases are described in the remaining sections of this
+document.
VIM (Virtualized Infrastructure Manager)
----------------------------------------
@@ -25,20 +24,10 @@ The tests are:
* *connection_check*
- * *api_check*
- * *snaps_health_check*
-Connection_check consists in 9 test cases (test duration < 5s) checking the
+Connection_check consists in test cases (test duration < 5s) checking the
connectivity with Glance, Keystone, Neutron, Nova and the external network.
-Api_check verifies the retrieval of OpenStack clients: Keystone, Glance,
-Neutron and Nova and may perform some simple queries. When the config value of
-snaps.use_keystone is True, functest must have access to the cloud's private
-network. This suite consists in 49 tests (test duration < 2 minutes).
-
-Snaps_health_check creates a VM with a single port with an IPv4 address that
-is assigned by DHCP and then validates the expected IP with the actual.
-
Self-obviously, successful completion of the 'healthcheck' testcase is a
necessary pre-requisite for the execution of all other test Tiers.
@@ -59,8 +48,8 @@ Given the script **ping.sh**::
The goal of this test is to establish an SSH connection using a floating IP
-on the Public/External network and verify that 2 instances can talk over a Private
-Tenant network::
+on the Public/External network and verify that 2 instances can talk over a
+Private Tenant network::
vPing_ssh test case
+-------------+ +-------------+
@@ -105,7 +94,8 @@ vPing_userdata
This test case is similar to vPing_ssh but without the use of Floating IPs
and the Public/External network to transfer the ping script.
-Instead, it uses Nova metadata service to pass it to the instance at booting time.
+Instead, it uses Nova metadata service to pass it to the instance at booting
+time.
As vPing_ssh, it checks that 2 instances can talk to
each other on a Private Tenant network::
@@ -158,17 +148,32 @@ updates the appropriate parameters into the configuration file.
When the Tempest suite is executed, each test duration is measured and the full
console output is stored to a *log* file for further analysis.
-The Tempest testcases are distributed across two
+The Tempest testcases are distributed across three
Tiers:
- * Smoke Tier - Test Case 'tempest_smoke_serial'
- * Components Tier - Test case 'tempest_full_parallel'
+ * Smoke Tier - Test Case 'tempest_smoke'
+ * Components Tier - Test case 'tempest_full'
+ * Neutron Trunk Port - Test case 'neutron_trunk'
+ * OpenStack interop testcases - Test case 'refstack_defcore'
+ * Testing and verifying RBAC policy enforcement - Test case 'patrole'
+
+NOTE: Test case 'tempest_smoke' executes a defined set of tempest smoke
+tests. Test case 'tempest_full' executes all defined Tempest tests.
+
+NOTE: The 'neutron_trunk' test set allows to connect a VM to multiple VLAN
+separated networks using a single NIC. The feature neutron trunk ports have
+been supported by Apex, Fuel and Compass, so the tempest testcases have been
+integrated normally.
-NOTE: Test case 'tempest_smoke_serial' executes a defined set of tempest smoke
-tests with a single thread (i.e. serial mode). Test case 'tempest_full_parallel'
-executes all defined Tempest tests using several concurrent threads
-(i.e. parallel mode). The number of threads activated corresponds to the number
-of available logical CPUs.
+NOTE: Rally is also used to run Openstack Interop testcases `[9]`_, which focus
+on testing interoperability between OpenStack clouds.
+
+NOTE: Patrole is a tempest plugin for testing and verifying RBAC policy
+enforcement. It runs Tempest-based API tests using specified RBAC roles, thus
+allowing deployments to verify that only intended roles have access to those
+APIs. Patrole currently offers testing for the following OpenStack services:
+Nova, Neutron, Glance, Cinder and Keystone. Currently in functest, only neutron
+and glance are tested.
The goal of the Tempest test suite is to check the basic functionalities of the
different OpenStack components on an OPNFV fresh installation, using the
@@ -182,10 +187,11 @@ Rally `[3]`_ is a benchmarking tool that answers the question:
*How does OpenStack work at scale?*
-The goal of this test suite is to benchmark all the different OpenStack modules and
-get significant figures that could help to define Telco Cloud KPIs.
+The goal of this test suite is to benchmark all the different OpenStack modules
+and get significant figures that could help to define Telco Cloud KPIs.
-The OPNFV Rally scenarios are based on the collection of the actual Rally scenarios:
+The OPNFV Rally scenarios are based on the collection of the actual Rally
+scenarios:
* authenticate
* cinder
@@ -195,7 +201,6 @@ The OPNFV Rally scenarios are based on the collection of the actual Rally scenar
* neutron
* nova
* quotas
- * ceilometer
A basic SLA (stop test on errors) has been implemented.
@@ -208,104 +213,6 @@ NOTE: Test case 'rally_sanity' executes a limited number of Rally smoke test
cases. Test case 'rally_full' executes the full defined set of Rally tests.
-Refstack-client to run OpenStack interop testcases
---------------------------------------------------
-
-Refstack-client `[8]`_ is a command line utility that allows you to
-execute Tempest test runs based on configurations you specify.
-It is the official tool to run Openstack Interop (previously known as Defcore)
-testcases `[9]`_, which focus on testing interoperability between OpenStack
-clouds.
-
-Refstack-client is integrated in Functest, consumed by Dovetail, which
-intends to define and provide a set of OPNFV related validation criteria
-that will provide input for the evaluation of the use of OPNFV trademarks.
-This progress is under the guideline of Compliance Verification Program(CVP).
-
-Running methods
-^^^^^^^^^^^^^^^
-
-Two running methods are provided after refstack-client integrated into
-Functest, Functest command line and manually, respectively.
-
-By default, for Defcore test cases run by Functest command line,
-are run followed with automatically generated
-configuration file, i.e., refstack_tempest.conf. In some circumstances,
-the automatic configuration file may not quite satisfied with the SUT,
-Functest also inherits the refstack-client command line and provides a way
-for users to set its configuration file according to its own SUT manually.
-
-*command line*
-
-Inside the Functest container, first to prepare Functest environment:
-
-::
-
- functest env prepare
-
-then to run default defcore testcases by using refstack-client:
-
-::
-
- functest testcase run refstack_defcore
-
-In OPNFV Continuous Integration(CI) system, the command line method is used.
-
-*manually*
-
-Prepare the tempest configuration file and the testcases want to run with the SUT,
-run the testcases with:
-
-::
-
- ./refstack-client test -c <Path of the tempest configuration file to use> -v --test-list <Path or URL of test list>
-
-using help for more information:
-
-::
-
- ./refstack-client --help
- ./refstack-client test --help
-
-Reference tempest configuration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-*command line method*
-
-When command line method is used, the default tempest configuration file
-is generated by Rally.
-
-*manually*
-
-When running manually is used, recommended way to generate tempest configuration
-file is:
-
-::
-
- cd /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/refstack_client
- python tempest_conf.py
-
-a file called tempest.conf is stored in the current path by default, users can do
-some adjustment according to the SUT:
-
-::
-
- vim refstack_tempest.conf
-
-a reference article can be used `[15]`_.
-
-
-snaps_smoke
-------------
-
-This test case contains tests that setup and destroy environments with VMs with
-and without Floating IPs with a newly created user and project. Set the config
-value snaps.use_floating_ips (True|False) to toggle this functionality.
-Please note that When the configuration value of snaps.use_keystone is True, Functest must have access
-the cloud's private network.
-This suite consists in 38 tests (test duration < 10 minutes)
-
-
SDN Controllers
---------------
@@ -320,31 +227,40 @@ OpenDaylight and Neutron.
The list of tests can be described as follows:
* Basic Restconf test cases
+
* Connect to Restconf URL
* Check the HTTP code status
* Neutron Reachability test cases
+
* Get the complete list of neutron resources (networks, subnets, ports)
* Neutron Network test cases
+
* Check OpenStack networks
* Check OpenDaylight networks
- * Create a new network via OpenStack and check the HTTP status code returned by Neutron
+ * Create a new network via OpenStack and check the HTTP status code returned
+ by Neutron
* Check that the network has also been successfully created in OpenDaylight
* Neutron Subnet test cases
+
* Check OpenStack subnets
* Check OpenDaylight subnets
- * Create a new subnet via OpenStack and check the HTTP status code returned by Neutron
+ * Create a new subnet via OpenStack and check the HTTP status code returned
+ by Neutron
* Check that the subnet has also been successfully created in OpenDaylight
* Neutron Port test cases
+
* Check OpenStack Neutron for known ports
* Check OpenDaylight ports
- * Create a new port via OpenStack and check the HTTP status code returned by Neutron
+ * Create a new port via OpenStack and check the HTTP status code returned by
+ Neutron
* Check that the new port has also been successfully created in OpenDaylight
* Delete operations
+
* Delete the port previously created via OpenStack
* Check that the port has been also successfully deleted in OpenDaylight
* Delete previously subnet created via OpenStack
@@ -356,49 +272,6 @@ Note: the checks in OpenDaylight are based on the returned HTTP status
code returned by OpenDaylight.
-Features
---------
-
-Functest has been supporting several feature projects since Brahpamutra:
-
-
-+-----------------+---------+----------+--------+-----------+
-| Test | Brahma | Colorado | Danube | Euphrates |
-+=================+=========+==========+========+===========+
-| barometer | | | X | X |
-+-----------------+---------+----------+--------+-----------+
-| bgpvpn | | X | X | X |
-+-----------------+---------+----------+--------+-----------+
-| copper | | X | | |
-+-----------------+---------+----------+--------+-----------+
-| doctor | X | X | X | X |
-+-----------------+---------+----------+--------+-----------+
-| domino | | X | X | X |
-+-----------------+---------+----------+--------+-----------+
-| fds | | | X | X |
-+-----------------+---------+----------+--------+-----------+
-| moon | | X | | |
-+-----------------+---------+----------+--------+-----------+
-| multisite | | X | X | |
-+-----------------+---------+----------+--------+-----------+
-| netready | | | X | |
-+-----------------+---------+----------+--------+-----------+
-| odl_sfc | | X | X | X |
-+-----------------+---------+----------+--------+-----------+
-| opera | | | X | |
-+-----------------+---------+----------+--------+-----------+
-| orchestra | | | X | X |
-+-----------------+---------+----------+--------+-----------+
-| parser | | | X | X |
-+-----------------+---------+----------+--------+-----------+
-| promise | X | X | X | X |
-+-----------------+---------+----------+--------+-----------+
-| security_scan | | X | X | |
-+-----------------+---------+----------+--------+-----------+
-
-Please refer to the dedicated feature user guides for details.
-
-
VNF
---
@@ -409,9 +282,9 @@ The IP Multimedia Subsystem or IP Multimedia Core Network Subsystem (IMS) is an
architectural framework for delivering IP multimedia services.
vIMS has been integrated in Functest to demonstrate the capability to deploy a
-relatively complex NFV scenario on the OPNFV platform. The deployment of a complete
-functional VNF allows the test of most of the essential functions needed for a
-NFV platform.
+relatively complex NFV scenario on the OPNFV platform. The deployment of a
+complete functional VNF allows the test of most of the essential functions
+needed for a NFV platform.
The goal of this test suite consists of:
@@ -422,48 +295,31 @@ The goal of this test suite consists of:
The Clearwater architecture is described as follows:
-.. figure:: ../../../images/clearwater-architecture.png
+.. figure:: ../../../images/clearwater-architecture-v2.png
:align: center
:alt: vIMS architecture
+heat_ims
+^^^^^^^^
+The IP Multimedia Subsystem or IP Multimedia Core Network Subsystem (IMS) is an
+architectural framework for delivering IP multimedia services.
-cloudify_ims_perf
-^^^^^^^^^^^^^^^^^
-This testcase extends the cloudify_ims test case.
-The first part is similar but the testing part is different.
-The testing part consists in automating a realistic signaling load on the vIMS
-using an Ixia loader (proprietary tools)
- - You need to have access to an Ixia licence server defined in the configuration
- file and have ixia image locally.
-
-This test case is available but not declared in testcases.yaml. The declaration
-of the testcase is simple, connect to your functest-vnf docker, add the following
-section in /usr/lib/python2.7/site-packacges/functest/ci/testcases.yaml::
-
- -
- case_name: cloudify_ims_perf
- project_name: functest
- criteria: 80
- blocking: false
- description: >-
- Stress tests based on Cloudify. Ixia loader images and access to Ixia
- server license.
- dependencies:
- installer: ''
- scenario: 'os-nosdn-nofeature-ha'
- run:
- module: 'functest.opnfv_tests.vnf.ims.cloudify_ims_perf'
- class: 'CloudifyImsPerf'
-
-orchestra_openims
-^^^^^^^^^^^^^^^^^
-Orchestra test case deals with the deployment of OpenIMS with OpenBaton
-orchestrator.
+vIMS has been integrated in Functest to demonstrate the capability to deploy a
+relatively complex NFV scenario on the OPNFV platform. The deployment of a
+complete functional VNF allows the test of most of the essential functions
+needed for a NFV platform.
-orchestra_clearwaterims
-^^^^^^^^^^^^^^^^^^^^^^^
-Orchestra test case deals with the deployment of Clearwater vIMS with OpenBaton
-orchestrator.
+The goal of this test suite consists of:
+
+* deploy a Clearwater vIMS (IP Multimedia Subsystem) VNF using
+ OpenStack Heat orchestrator based on a HOT template defined in `[17]`_
+* run suite of signaling tests on top of this VNF
+
+The Clearwater architecture is described as follows:
+
+.. figure:: ../../../images/clearwater-architecture-v2.png
+ :align: center
+ :alt: vIMS architecture
vyos-vrouter
^^^^^^^^^^^^
@@ -484,14 +340,73 @@ The Workflow is as follows:
The vyos-vrouter architecture is described in `[14]`_
+juju_epc
+^^^^^^^^
+The Evolved Packet Core (EPC) is the main component of the System Architecture
+Evolution (SAE) which forms the core of the 3GPP LTE specification.
+
+vEPC has been integrated in Functest to demonstrate the capability to deploy a
+complex mobility-specific NFV scenario on the OPNFV platform. The OAI EPC
+supports most of the essential functions defined by the 3GPP Technical Specs;
+hence the successful execution of functional tests on the OAI EPC provides a
+good endorsement of the underlying NFV platform.
+
+This integration also includes ABot, a Test Orchestration system that enables
+test scenarios to be defined in high-level DSL. ABot is also deployed as a
+VM on the OPNFV platform; and this provides an example of the automation
+driver and the Test VNF being both deployed as separate VNFs on the underlying
+OPNFV platform.
+
+The Workflow is as follows:
+ * Deploy Orchestrator
+ Deploy Juju controller using Bootstrap command.
+ * Deploy VNF
+ Deploy ABot orchestrator and OAI EPC as Juju charms.
+ Configuration of ABot and OAI EPC components is handled through
+ built-in Juju relations.
+ * Test VNF
+ Execution of ABot feature files triggered by Juju actions.
+ This executes a suite of LTE signalling tests on the OAI EPC.
+ * Reporting
+ ABot test results are parsed accordingly and pushed to Functest Db.
+
+Details of the ABot test orchestration tool may be found in `[15]`_
+
+Kubernetes (K8s)
+----------------
+
+Kubernetes testing relies on sets of tests, which are part of the Kubernetes
+source tree, such as the Kubernetes End-to-End (e2e) tests `[16]`_.
+
+The kubernetes testcases are distributed across various Tiers:
+
+ * Healthcheck Tier
+
+ * k8s_smoke Test Case: Creates a Guestbook application that contains redis
+ server, 2 instances of redis slave, frontend application, frontend service
+ and redis master service and redis slave service. Using frontend service,
+ the test will write an entry into the guestbook application which will
+ store the entry into the backend redis database. Application flow MUST
+ work as expected and the data written MUST be available to read.
+
+ * Smoke Tier
+
+ * k8s_conformance Test Case: Runs a series of k8s e2e tests expected to
+ pass on any Kubernetes cluster. It is a subset of tests necessary to
+ demonstrate conformance grows with each release. Conformance is thus
+ considered versioned, with backwards compatibility guarantees and are
+ designed to be run with no cloud provider configured.
+
-.. _`[2]`: http://docs.openstack.org/developer/tempest/overview.html
-.. _`[3]`: https://rally.readthedocs.org/en/latest/index.html
+.. _`[2]`: https://docs.openstack.org/tempest/latest/
+.. _`[3]`: https://rally.readthedocs.io/en/latest/index.html
.. _`[5]`: https://github.com/Orange-OpenSource/opnfv-cloudify-clearwater/blob/master/openstack-blueprint.yaml
.. _`[8]`: https://github.com/openstack/refstack-client
+.. _`[9]`: https://github.com/openstack/interop
.. _`[10]`: https://github.com/openstack/interop/blob/master/2016.08/procedure.rst
-.. _`[11]`: http://robotframework.org/
-.. _`[12]`: http://docs.opnfv.org/en/latest/submodules/functest/docs/testing/user/userguide/index.html
-.. _`[13]`: https://wiki.opnfv.org/display/PROJ/SNAPS-OO
+.. _`[11]`: https://robotframework.org/
+.. _`[13]`: https://git.opnfv.org/snaps/
.. _`[14]`: https://github.com/oolorg/opnfv-functest-vrouter
-.. _`[15]`: https://aptira.com/testing-openstack-tempest-part-1/
+.. _`[15]`: https://github.com/RebacaInc/abot_charm
+.. _`[16]`: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-testing/e2e-tests.md
+.. _`[17]`: https://github.com/Metaswitch/clearwater-heat/blob/release-129/clearwater.yaml
diff --git a/docs/testing/user/userguide/test_overview.rst b/docs/testing/user/userguide/test_overview.rst
index a22a5067f..bc3e79dcb 100644
--- a/docs/testing/user/userguide/test_overview.rst
+++ b/docs/testing/user/userguide/test_overview.rst
@@ -1,5 +1,4 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
+.. SPDX-License-Identifier: CC-BY-4.0
Overview of the Functest suites
===============================
@@ -9,158 +8,114 @@ In the Continuous Integration pipeline, it is launched after an OPNFV fresh
installation to validate and verify the basic functions of the
infrastructure.
-The current list of test suites can be distributed over 4 main domains:
+The current list of test suites can be distributed over 5 main domains:
* VIM (Virtualised Infrastructure Manager)
* Controllers (i.e. SDN Controllers)
- * Features
* VNF (Virtual Network Functions)
+ * Kubernetes
Functest test suites are also distributed in the OPNFV testing categories:
-healthcheck, smoke, features, components, performance, VNF, Stress tests.
+healthcheck, smoke, benchmarking, VNF, Stress tests.
-All the Healthcheck and smoke tests of a given scenario must be succesful to
+All the Healthcheck and smoke tests of a given scenario must be successful to
validate the scenario for the release.
-+-------------+---------------+----------------+----------------------------------+
-| Domain | Tier | Test case | Comments |
-+=============+===============+================+==================================+
-| VIM | healthcheck | connection | Check OpenStack connectivity |
-| | | _check | through SNAPS framework |
-| | +----------------+----------------------------------+
-| | | api_check | Check OpenStack API through |
-| | | | SNAPS framework |
-| | +----------------+----------------------------------+
-| | | snaps_health | basic instance creation, check |
-| | | \_check | DHCP |
-| +---------------+----------------+----------------------------------+
-| | smoke | vping_ssh | NFV "Hello World" using an SSH |
-| | | | connection to a destination VM |
-| | | | over a created floating IP |
-| | | | address on the SUT Public / |
-| | | | External network. Using the SSH |
-| | | | connection a test script is then |
-| | | | copied to the destination |
-| | | | VM and then executed via SSH. |
-| | | | The script will ping another |
-| | | | VM on a specified IP address over|
-| | | | the SUT Private Tenant network |
-| | +----------------+----------------------------------+
-| | | vping_userdata | Uses Ping with given userdata |
-| | | | to test intra-VM connectivity |
-| | | | over the SUT Private Tenant |
-| | | | network. The correct operation |
-| | | | of the NOVA Metadata service is |
-| | | | also verified in this test |
-| | +----------------+----------------------------------+
-| | | tempest_smoke | Generate and run a relevant |
-| | | \_serial | Tempest Test Suite in smoke mode.|
-| | | | The generated test set is |
-| | | | dependent on the OpenStack |
-| | | | deployment environment |
-| | +----------------+----------------------------------+
-| | | rally_sanity | Run a subset of the OpenStack |
-| | | | Rally Test Suite in smoke mode |
-| | +----------------+----------------------------------+
-| | | snaps_smoke | Run the SNAPS-OO integration |
-| | | | tests |
-| | +----------------+----------------------------------+
-| | | refstack | Reference RefStack suite |
-| | | \_defcore | tempest selection for NFV |
-| +---------------+----------------+----------------------------------+
-| | components | tempest_full | Generate and run a full set of |
-| | | \_parallel | the OpenStack Tempest Test Suite.|
-| | | | See the OpenStack reference test |
-| | | | suite `[2]`_. The generated |
-| | | | test set is dependent on the |
-| | | | OpenStack deployment environment |
-| | +----------------+----------------------------------+
-| | | rally_full | Run the OpenStack testing tool |
-| | | | benchmarking OpenStack modules |
-| | | | See the Rally documents `[3]`_ |
-+-------------+---------------+----------------+----------------------------------+
-| Controllers | smoke | odl | Opendaylight Test suite |
-| | | | Limited test suite to check the |
-| | | | basic neutron (Layer 2) |
-| | | | operations mainly based on |
-| | | | upstream testcases. See below |
-| | | | for details |
-| | +----------------+----------------------------------+
-| | | odl_netvirt | Test Suite for the OpenDaylight |
-| | | | SDN Controller when the NetVirt |
-| | | | features are installed. It |
-| | | | integrates some test suites from |
-| | | | upstream using Robot as the test |
-| | | | framework |
-+-------------+---------------+----------------+----------------------------------+
-| Features | features | bgpvpn | Implementation of the OpenStack |
-| | | | bgpvpn API from the SDNVPN |
-| | | | feature project. It allows for |
-| | | | the creation of BGP VPNs. |
-| | | | See `SDNVPN User Guide`_ for |
-| | | | details |
-| | +----------------+----------------------------------+
-| | | doctor | Doctor platform, as of Colorado |
-| | | | release, provides the three |
-| | | | features: |
-| | | | * Immediate Notification |
-| | | | * Consistent resource state |
-| | | | awareness for compute host down |
-| | | | * Valid compute host status |
-| | | | given to VM owner |
-| | | | See `Doctor User Guide`_ for |
-| | | | details |
-| | +----------------+----------------------------------+
-| | | odl-sfc | SFC testing for odl scenarios |
-| | | | See `SFC User Guide`_ for details|
-| | +----------------+----------------------------------+
-| | | parser | Parser is an integration project |
-| | | | which aims to provide |
-| | | | placement/deployment templates |
-| | | | translation for OPNFV platform, |
-| | | | including TOSCA -> HOT, POLICY ->|
-| | | | TOSCA and YANG -> TOSCA. it |
-| | | | deals with a fake vRNC. |
-| | | | See `Parser User Guide`_ for |
-| | | | details |
-| | +----------------+----------------------------------+
-| | | fds | Test Suite for the OpenDaylight |
-| | | | SDN Controller when the GBP |
-| | | | features are installed. It |
-| | | | integrates some test suites from |
-| | | | upstream using Robot as the test |
-| | | | framework |
-+-------------+---------------+----------------+----------------------------------+
-| VNF | vnf | cloudify_ims | Example of a real VNF deployment |
-| | | | to show the NFV capabilities of |
-| | | | the platform. The IP Multimedia |
-| | | | Subsytem is a typical Telco test |
-| | | | case, referenced by ETSI. |
-| | | | It provides a fully functional |
-| | | | VoIP System |
-| | +----------------+----------------------------------+
-| | | orchestra | OpenIMS deployment using |
-| | | \_openims | Openbaton orchestrator |
-| | +----------------+----------------------------------+
-| | | orchestra | Cleawater IMS deployment using |
-| | | \_cleawaterims | Openbaton orchestrator |
-| | +----------------+----------------------------------+
-| | | vyos_vrouter | vRouter testing |
-| | +----------------+----------------------------------+
-| | | cloudify_ims | Based on cloudify_ims test case |
-| | | perf | cloudify_ims_perf substitutes |
-| | | | the signaling test suite by an |
-| | | | automatic deployment of an Ixia |
-| | | | loader and generic SIP stress |
-| | | | tests. |
-| | | | This work has been initiated |
-| | | | during the plugfest and allows |
-| | | | realistic load tests on top of |
-| | | | cloudify_ims. Please note that |
-| | | | this test is available but not |
-| | | | declared in testcases.yaml as it |
-| | | | requires access to proprietary |
-| | | | resources (Ixia loader) |
-+-------------+---------------+----------------+----------------------------------+
++-------------+---------------+------------+----------------------------------+
+| Domain | Tier | Test case | Comments |
++=============+===============+============+==================================+
+| VIM | healthcheck | connection | Check OpenStack connectivity |
+| | | \_check | |
+| +---------------+------------+----------------------------------+
+| | smoke | vping_ssh | NFV "Hello World" using an SSH |
+| | | | connection to a destination VM |
+| | | | over a created floating IP |
+| | | | address on the SUT Public / |
+| | | | External network. Using the SSH |
+| | | | connection a test script is then |
+| | | | copied to the destination |
+| | | | VM and then executed via SSH. |
+| | | | The script will ping another |
+| | | | VM on a specified IP address over|
+| | | | the SUT Private Tenant network |
+| | +------------+----------------------------------+
+| | | vping | Uses Ping with given userdata |
+| | | \_userdata | to test intra-VM connectivity |
+| | | | over the SUT Private Tenant |
+| | | | network. The correct operation |
+| | | | of the NOVA Metadata service is |
+| | | | also verified in this test |
+| | +------------+----------------------------------+
+| | | tempest | Generate and run a relevant |
+| |               | \_smoke | Tempest Test Suite in smoke mode.|
+| | | | The generated test set is |
+| | | | dependent on the OpenStack |
+| | | | deployment environment |
+| | +------------+----------------------------------+
+| | | rally | Run a subset of the OpenStack |
+| |  | \_sanity | Rally Test Suite in smoke mode |
+| | +------------+----------------------------------+
+| | | refstack | Reference RefStack suite |
+| | | \_defcore | tempest selection for NFV |
+| | +------------+----------------------------------+
+| | | patrole | Patrole is a tempest plugin for |
+| | | | testing and verifying RBAC policy|
+| | | | enforcement, which offers testing|
+| | | | for the following OpenStack |
+| | | | services: Nova, Neutron, Glance, |
+| | | | Cinder and Keystone |
+| +---------------+------------+----------------------------------+
+| | | neutron | The neutron trunk port testcases |
+| | | \_trunk | have been introduced and they are|
+| | | | supported by installers : |
+| | | | Apex, Fuel and Compass. |
+| +---------------+------------+----------------------------------+
+| | components | tempest | Generate and run a full set of |
+| | | \_full | the OpenStack Tempest Test Suite.|
+| | | \_parallel | See the OpenStack reference test |
+| | | | suite `[2]`_. The generated |
+| | | | test set is dependent on the |
+| | | | OpenStack deployment environment |
+| | +------------+----------------------------------+
+| | | rally_full | Run the OpenStack testing tool |
+| | | | benchmarking OpenStack modules |
+| | | | See the Rally documents `[3]`_ |
++-------------+---------------+------------+----------------------------------+
+| Controllers | smoke | odl | Opendaylight Test suite |
+| | | | Limited test suite to check the |
+| | | | basic neutron (Layer 2) |
+| | | | operations mainly based on |
+| | | | upstream testcases. See below |
+| | | | for details |
++-------------+---------------+------------+----------------------------------+
+| VNF | vnf | cloudify | Example of a real VNF deployment |
+| | | \_ims | to show the NFV capabilities of |
+| | | | the platform. The IP Multimedia |
+| | | | Subsystem is a typical Telco test|
+| | | | case, referenced by ETSI. |
+| | | | It provides a fully functional |
+| | | | VoIP System |
+| | +------------+----------------------------------+
+| | | vyos | vRouter testing |
+| | | \_vrouter | |
+| | +------------+----------------------------------+
+| | | juju_epc | Validates deployment of a complex|
+| | | | mobility VNF on OPNFV Platform. |
+| | | | Uses Juju for deploying the OAI |
+| | | | EPC and ABot for defining test |
+| | | | scenarios using high-level DSL. |
+| | | | VNF tests reference 3GPP |
+| | | | Technical Specs and are executed |
+| | | | through protocol drivers provided|
+| | | | by ABot. |
++-------------+---------------+------------+----------------------------------+
+| Kubernetes | healthcheck | k8s_smoke | Test a running Kubernetes |
+| | | | cluster and ensure it satisfies |
+| | | | minimal functional requirements |
+| +---------------+------------+----------------------------------+
+| | smoke | k8s\_ | Run a subset of Kubernetes |
+| | | conformance| End-to-End tests, expected to |
+| | | | pass on any Kubernetes cluster |
++-------------+---------------+------------+----------------------------------+
As shown in the above table, Functest is structured into different 'domains',
@@ -169,29 +124,30 @@ As shown in the above table, Functest is structured into different 'domains',
Test cases also have an implicit execution order. For example, if the early
'healthcheck' Tier testcase fails, or if there are any failures in the 'smoke'
-Tier testcases, there is little point to launch a full testcase execution round.
+Tier testcases, there is little point to launch a full testcase execution
+round.
In Danube, we merged smoke and sdn controller tiers in smoke tier.
An overview of the Functest Structural Concept is depicted graphically below:
-.. figure:: ../../../images/concepts_mapping_final.png
+.. figure:: ../../../images/concepts_mapping_fraser.png
:align: center
:alt: Functest Concepts Structure
Some of the test cases are developed by Functest team members, whereas others
are integrated from upstream communities or other OPNFV projects. For example,
-`Tempest <http://docs.openstack.org/developer/tempest/overview.html>`_ is the
+`Tempest <https://docs.openstack.org/tempest/latest/>`_ is the
OpenStack integration test suite and Functest is in charge of the selection,
integration and automation of those tests that fit suitably to OPNFV.
-The Tempest test suite is the default OpenStack smoke test suite but no new test
-cases have been created in OPNFV Functest.
+The Tempest test suite is the default OpenStack smoke test suite but no new
+test cases have been created in OPNFV Functest.
The results produced by the tests run from CI are pushed and collected into a
-NoSQL database. The goal is to populate the database with results from different
-sources and scenarios and to show them on a `Functest Dashboard`_. A screenshot
-of a live Functest Dashboard is shown below:
+NoSQL database. The goal is to populate the database with results from
+different sources and scenarios and to show them on a `Functest Dashboard`_. A
+screenshot of a live Functest Dashboard is shown below:
.. figure:: ../../../images/FunctestDashboardEuphrates.png
:align: center
@@ -217,12 +173,11 @@ combinations (which may change from one version to another):
Most of the tests are runnable by any combination, but some tests might have
restrictions imposed by the utilized installers or due to the available
-deployed features. The system uses the environment variables (INSTALLER_TYPE and
-DEPLOY_SCENARIO) to automatically determine the valid test cases, for each given
-environment.
+deployed services. The system uses the environment variables to automatically
+determine the valid test cases, for each given environment.
A convenience Functest CLI utility is also available to simplify setting up the
-Functest evironment, management of the OpenStack environment (e.g. resource
+Functest environment, management of the OpenStack environment (e.g. resource
clean-up) and for executing tests.
The Functest CLI organised the testcase into logical Tiers, which contain in
turn one or more testcases. The CLI allows execution of a single specified
@@ -230,10 +185,6 @@ testcase, all test cases in a specified Tier, or the special case of execution
of **ALL** testcases. The Functest CLI is introduced in more details in next
section.
-.. _`[2]`: http://docs.openstack.org/developer/tempest/overview.html
-.. _`[3]`: https://rally.readthedocs.org/en/latest/index.html
-.. _`Doctor User Guide`: http://artifacts.opnfv.org/doctor/colorado/userguide/index.html
-.. _`SDNVPN User Guide`: http://artifacts.opnfv.org/sdnvpn/colorado/docs/userguide/index.html
-.. _`Parser User Guide`: http://artifacts.opnfv.org/parser/colorado/docs/userguide/index.html
-.. _`Functest Dashboard`: http://testresults.opnfv.org/kibana_dashboards/
-.. _`SFC User Guide`: http://artifacts.opnfv.org/sfc/colorado/userguide/index.html
+.. _`[2]`: https://docs.openstack.org/tempest/latest/
+.. _`[3]`: https://rally.readthedocs.io/en/latest/index.html
+.. _`Functest Dashboard`: http://testresults.opnfv.org/
diff --git a/docs/testing/user/userguide/test_results.rst b/docs/testing/user/userguide/test_results.rst
index 3941ba0a1..10f87d8ec 100644
--- a/docs/testing/user/userguide/test_results.rst
+++ b/docs/testing/user/userguide/test_results.rst
@@ -1,3 +1,5 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
Test results
============
@@ -8,40 +10,154 @@ In manual mode test results are displayed in the console and result files
are put in /home/opnfv/functest/results.
If you want additional logs, you may configure the logging.ini under
-/usr/lib/python2.7/site-packages/functest/ci.
+/usr/lib/python3.8/site-packages/xtesting/ci.
Automated testing
---------------
+-----------------
+
+In automated mode, tests are run within split Alpine containers, and test
+results are displayed in jenkins logs. The result summary is provided at the
+end of each suite and can be described as follow.
+
+Healthcheck suite::
+
+ +--------------------------+------------------+---------------------+------------------+----------------+
+ | TEST CASE | PROJECT | TIER | DURATION | RESULT |
+ +--------------------------+------------------+---------------------+------------------+----------------+
+ | connection_check | functest | healthcheck | 00:03 | PASS |
+ | tenantnetwork1 | functest | healthcheck | 00:05 | PASS |
+ | tenantnetwork2 | functest | healthcheck | 00:06 | PASS |
+ | vmready1 | functest | healthcheck | 00:06 | PASS |
+ | vmready2 | functest | healthcheck | 00:08 | PASS |
+ | singlevm1 | functest | healthcheck | 00:32 | PASS |
+ | singlevm2 | functest | healthcheck | 00:37 | PASS |
+ | vping_ssh | functest | healthcheck | 00:46 | PASS |
+ | vping_userdata | functest | healthcheck | 00:39 | PASS |
+ | cinder_test | functest | healthcheck | 01:05 | PASS |
+ | tempest_smoke | functest | healthcheck | 05:39 | PASS |
+ | tempest_horizon | functest | healthcheck | 01:05 | PASS |
+ | odl | functest | healthcheck | 00:00 | SKIP |
+ +--------------------------+------------------+---------------------+------------------+----------------+
+
+Smoke suite::
+
+ +---------------------------+------------------+---------------+------------------+----------------+
+ | TEST CASE | PROJECT | TIER | DURATION | RESULT |
+ +---------------------------+------------------+---------------+------------------+----------------+
+ | tempest_neutron | functest | smoke | 15:30 | PASS |
+ | tempest_cinder | functest | smoke | 02:01 | PASS |
+ | tempest_keystone | functest | smoke | 01:17 | PASS |
+ | tempest_heat | functest | smoke | 22:14 | PASS |
+ | tempest_telemetry | functest | smoke | 00:00 | SKIP |
+ | rally_sanity | functest | smoke | 17:24 | PASS |
+ | refstack_compute | functest | smoke | 07:03 | PASS |
+ | refstack_object | functest | smoke | 02:09 | PASS |
+ | refstack_platform | functest | smoke | 07:31 | PASS |
+ | tempest_full | functest | smoke | 41:52 | PASS |
+ | tempest_scenario | functest | smoke | 08:42 | PASS |
+ | tempest_slow | functest | smoke | 43:42 | PASS |
+ | patrole_admin | functest | smoke | 21:06 | PASS |
+ | patrole_member | functest | smoke | 21:23 | PASS |
+ | patrole_reader | functest | smoke | 21:56 | PASS |
+ | tempest_barbican | functest | smoke | 02:30 | PASS |
+ | tempest_octavia | functest | smoke | 00:00 | SKIP |
+ | tempest_cyborg | functest | smoke | 00:00 | SKIP |
+ +---------------------------+------------------+---------------+------------------+----------------+
+
+Smoke CNTT suite::
+
+ +-------------------------------+------------------+---------------+------------------+----------------+
+ | TEST CASE | PROJECT | TIER | DURATION | RESULT |
+ +-------------------------------+------------------+---------------+------------------+----------------+
+ | tempest_neutron_cntt | functest | smoke | 11:35 | PASS |
+ | tempest_cinder_cntt | functest | smoke | 01:58 | PASS |
+ | tempest_keystone_cntt | functest | smoke | 01:13 | PASS |
+ | tempest_heat_cntt | functest | smoke | 22:32 | PASS |
+ | rally_sanity_cntt | functest | smoke | 17:16 | PASS |
+ | tempest_full_cntt | functest | smoke | 41:13 | PASS |
+ | tempest_scenario_cntt | functest | smoke | 08:57 | PASS |
+ | tempest_slow_cntt | functest | smoke | 35:58 | PASS |
+ +-------------------------------+------------------+---------------+------------------+----------------+
+
+Benchmarking suite::
+
+ +--------------------+------------------+----------------------+------------------+----------------+
+ | TEST CASE | PROJECT | TIER | DURATION | RESULT |
+ +--------------------+------------------+----------------------+------------------+----------------+
+ | rally_full | functest | benchmarking | 93:03 | PASS |
+ | rally_jobs | functest | benchmarking | 27:05 | PASS |
+ | vmtp | functest | benchmarking | 17:56 | PASS |
+ | shaker | functest | benchmarking | 24:02 | PASS |
+ +--------------------+------------------+----------------------+------------------+----------------+
+
+Benchmarking CNTT suite::
+
+ +-------------------------+------------------+----------------------+------------------+----------------+
+ | TEST CASE | PROJECT | TIER | DURATION | RESULT |
+ +-------------------------+------------------+----------------------+------------------+----------------+
+ | rally_full_cntt | functest | benchmarking | 89:52 | PASS |
+ | rally_jobs_cntt | functest | benchmarking | 19:39 | PASS |
+ | vmtp | functest | benchmarking | 16:59 | PASS |
+ | shaker | functest | benchmarking | 23:43 | PASS |
+ +-------------------------+------------------+----------------------+------------------+----------------+
+
+Vnf suite::
+
+ +----------------------+------------------+--------------+------------------+----------------+
+ | TEST CASE | PROJECT | TIER | DURATION | RESULT |
+ +----------------------+------------------+--------------+------------------+----------------+
+ | cloudify | functest | vnf | 05:08 | PASS |
+ | cloudify_ims | functest | vnf | 24:46 | PASS |
+ | heat_ims | functest | vnf | 33:12 | PASS |
+ | vyos_vrouter | functest | vnf | 15:53 | PASS |
+ | juju_epc | functest | vnf | 27:52 | PASS |
+ +----------------------+------------------+--------------+------------------+----------------+
+
+Kubernetes healthcheck suite::
+
+ +-------------------+------------------+---------------------+------------------+----------------+
+ | TEST CASE | PROJECT | TIER | DURATION | RESULT |
+ +-------------------+------------------+---------------------+------------------+----------------+
+ | k8s_quick | functest | healthcheck | 00:18 | PASS |
+ | k8s_smoke | functest | healthcheck | 01:14 | PASS |
+ +-------------------+------------------+---------------------+------------------+----------------+
+
+Kubernetes smoke suite::
+
+ +---------------------------+------------------+---------------+------------------+----------------+
+ | TEST CASE | PROJECT | TIER | DURATION | RESULT |
+ +---------------------------+------------------+---------------+------------------+----------------+
+ | k8s_conformance | functest | smoke | 94:26 | PASS |
+ | xrally_kubernetes | functest | smoke | 13:05 | PASS |
+ +---------------------------+------------------+---------------+------------------+----------------+
+
+Kubernetes security suite::
+
+ +---------------------------+------------------+------------------+------------------+----------------+
+ | TEST CASE | PROJECT | TIER | DURATION | RESULT |
+ +---------------------------+------------------+------------------+------------------+----------------+
+ | kube_hunter | functest | security | 00:19 | PASS |
+ | kube_bench_master | functest | security | 00:02 | PASS |
+ | kube_bench_node | functest | security | 00:01 | PASS |
+ +---------------------------+------------------+------------------+------------------+----------------+
+
+Kubernetes benchmarking suite::
+
+ +--------------------------------+------------------+----------------------+------------------+----------------+
+ | TEST CASE | PROJECT | TIER | DURATION | RESULT |
+ +--------------------------------+------------------+----------------------+------------------+----------------+
+ | xrally_kubernetes_full | functest | benchmarking | 34:16 | PASS |
+ +--------------------------------+------------------+----------------------+------------------+----------------+
+
+Kubernetes cnf suite::
-In automated mode, test results are displayed in jenkins logs, a summary is provided
-at the end of the job and can be described as follow::
-
- +-------------------------+----------------------------------------------------------+
- | ENV VAR | VALUE |
- +-------------------------+----------------------------------------------------------+
- | INSTALLER_TYPE | daisy |
- | DEPLOY_SCENARIO | os-nosdn-nofeature-ha |
- | BUILD_TAG | jenkins-functest-daisy-baremetal-daily-master-67 |
- | CI_LOOP | daily |
- +-------------------------+----------------------------------------------------------+
-
- +------------------------------+------------------+---------------------+------------------+----------------+
- | TEST CASE | PROJECT | TIER | DURATION | RESULT |
- +------------------------------+------------------+---------------------+------------------+----------------+
- | connection_check | functest | healthcheck | 00:08 | PASS |
- | api_check | functest | healthcheck | 04:22 | PASS |
- | snaps_health_check | functest | healthcheck | 00:35 | PASS |
- | vping_ssh | functest | smoke | 00:54 | PASS |
- | vping_userdata | functest | smoke | 00:27 | PASS |
- | tempest_smoke_serial | functest | smoke | 19:39 | FAIL |
- | rally_sanity | functest | smoke | 15:16 | PASS |
- | refstack_defcore | functest | smoke | 15:55 | PASS |
- | snaps_smoke | functest | smoke | 26:45 | FAIL |
- | cloudify_ims | functest | vnf | 23:56 | PASS |
- | orchestra_openims | orchestra | vnf | 15:07 | PASS |
- | orchestra_clearwaterims | orchestra | vnf | 19:10 | PASS |
- | vyos_vrouter | functest | vnf | 00:00 | SKIP |
- +------------------------------+------------------+---------------------+------------------+----------------+
+ +-------------------------+------------------+--------------+------------------+----------------+
+ | TEST CASE | PROJECT | TIER | DURATION | RESULT |
+ +-------------------------+------------------+--------------+------------------+----------------+
+ | k8s_vims | functest | cnf | 09:06 | PASS |
+ | helm_vims | functest | cnf | 08:54 | PASS |
+ | cnf_conformance | functest | cnf | 02:00 | PASS |
+ +-------------------------+------------------+--------------+------------------+----------------+
Results are automatically pushed to the test results database, some additional
result files are pushed to OPNFV artifact web sites.
diff --git a/docs/testing/user/userguide/troubleshooting.rst b/docs/testing/user/userguide/troubleshooting.rst
index 1e342b653..d857ed4c4 100644
--- a/docs/testing/user/userguide/troubleshooting.rst
+++ b/docs/testing/user/userguide/troubleshooting.rst
@@ -1,5 +1,4 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
+.. SPDX-License-Identifier: CC-BY-4.0
Troubleshooting
===============
@@ -15,19 +14,18 @@ credentials::
or::
- source /home/opnfv/functest/conf/openstack.creds
+ source /home/opnfv/functest/conf/env_file
VIM
---
This section covers the test cases related to the VIM (healthcheck, vping_ssh,
-vping_userdata, tempest_smoke_serial, tempest_full_parallel, rally_sanity,
-rally_full).
+vping_userdata, tempest_smoke, tempest_full, rally_sanity, rally_full).
vPing common
^^^^^^^^^^^^
-For both vPing test cases (**vPing_ssh**, and **vPing_userdata**), the first steps are
-similar:
+For both vPing test cases (**vPing_ssh**, and **vPing_userdata**), the first
+steps are similar:
* Create Glance image
* Create Network
@@ -37,15 +35,17 @@ similar:
After these actions, the test cases differ and will be explained in their
respective section.
-These test cases can be run inside the container, using new Functest CLI as follows::
+These test cases can be run inside the container, using new Functest CLI as
+follows::
- $ functest testcase run vping_ssh
- $ functest testcase run vping_userdata
+ $ run_tests -t vping_ssh
+ $ run_tests -t vping_userdata
The Functest CLI is designed to route a call to the corresponding internal
-python scripts, located in paths
-/usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/vping/vping_ssh.py
-and /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/vping/vping_userdata.py
+python scripts, located in paths::
+
+ /usr/lib/python3.8/site-packages/functest/opnfv_tests/openstack/vping/vping_ssh.py
+ /usr/lib/python3.8/site-packages/functest/opnfv_tests/openstack/vping/vping_userdata.py
Notes:
@@ -73,10 +73,11 @@ Some of the common errors that can appear in this test case are::
vPing_ssh- ERROR - There has been a problem when creating the neutron network....
-This means that there has been some problems with Neutron, even before creating the
-instances. Try to create manually a Neutron network and a Subnet to see if that works.
-The debug messages will also help to see when it failed (subnet and router creation).
-Example of Neutron commands (using 10.6.0.0/24 range for example)::
+This means that there has been some problems with Neutron, even before creating
+the instances. Try to create manually a Neutron network and a Subnet to see if
+that works. The debug messages will also help to see when it failed (subnet and
+router creation). Example of Neutron commands (using 10.6.0.0/24 range for
+example)::
neutron net-create net-test
neutron subnet-create --name subnet-test --allocation-pool start=10.6.0.2,end=10.6.0.100 \
@@ -85,7 +86,8 @@ Example of Neutron commands (using 10.6.0.0/24 range for example)::
neutron router-interface-add <ROUTER_ID> test_subnet
neutron router-gateway-set <ROUTER_ID> <EXT_NET_NAME>
-Another related error can occur while creating the Security Groups for the instances::
+Another related error can occur while creating the Security Groups for the
+instances::
vPing_ssh- ERROR - Failed to create the security group...
@@ -100,9 +102,9 @@ In this case, proceed to create it manually. These are some hints::
--protocol tcp --port-range-min 80 --port-range-max 80 --remote-ip-prefix 0.0.0.0/0
The next step is to create the instances. The image used is located in
-*/home/opnfv/functest/data/cirros-0.4.0-x86_64-disk.img* and a Glance image is created
-with the name **functest-vping**. If booting the instances fails (i.e. the status
-is not **ACTIVE**), you can check why it failed by doing::
+*/home/opnfv/functest/data/cirros-0.5.1-x86_64-disk.img* and a Glance image is
+created with the name **functest-vping**. If booting the instances fails (i.e.
+the status is not **ACTIVE**), you can check why it failed by doing::
nova list
nova show <INSTANCE_ID>
@@ -113,7 +115,8 @@ It might show some messages about the booting failure. To try that manually::
This will spawn a VM using the network created previously manually.
In all the OPNFV tested scenarios from CI, it never has been a problem with the
-previous actions. Further possible problems are explained in the following sections.
+previous actions. Further possible problems are explained in the following
+sections.
vPing_SSH
@@ -122,7 +125,7 @@ This test case creates a floating IP on the external network and assigns it to
the second instance **opnfv-vping-2**. The purpose of this is to establish
a SSH connection to that instance and SCP a script that will ping the first
instance. This script is located in the repository under
-/usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/vping/ping.sh
+/usr/lib/python3.8/site-packages/functest/opnfv_tests/openstack/vping/ping.sh
and takes an IP as a parameter. When the SCP is completed, the test will do a
SSH call to that script inside the second instance. Some problems can happen
here::
@@ -130,8 +133,8 @@ here::
vPing_ssh- ERROR - Cannot establish connection to IP xxx.xxx.xxx.xxx. Aborting
If this is displayed, stop the test or wait for it to finish, if you have used
-the special method of test invocation with specific supression of OpenStack
-resource clean-up, as explained earler. It means that the Container can not
+the special method of test invocation with specific suppression of OpenStack
+resource clean-up, as explained earlier. It means that the Container can not
reach the Public/External IP assigned to the instance **opnfv-vping-2**. There
are many possible reasons, and they really depend on the chosen scenario. For
most of the ODL-L3 and ONOS scenarios this has been noticed and it is a known
@@ -143,19 +146,21 @@ from the DHCP agent. It can be checked by doing::
nova console-log opnfv-vping-2
If the message *Sending discover* and *No lease, failing* is shown, it probably
-means that the Neutron dhcp-agent failed to assign an IP or even that it was not
-responding. At this point it does not make sense to try to ping the floating IP.
+means that the Neutron dhcp-agent failed to assign an IP or even that it was
+not responding. At this point it does not make sense to try to ping the
+floating IP.
-If the instance got an IP properly, try to ping manually the VM from the container::
+If the instance got an IP properly, try to ping manually the VM from the
+container::
nova list
<grab the public IP>
ping <public IP>
-If the ping does not return anything, try to ping from the Host where the Docker
-container is running. If that solves the problem, check the iptable rules because
-there might be some rules rejecting ICMP or TCP traffic coming/going from/to the
-container.
+If the ping does not return anything, try to ping from the Host where the
+Docker container is running. If that solves the problem, check the iptables
+rules because there might be some rules rejecting ICMP or TCP traffic
+coming/going from/to the container.
At this point, if the ping does not work either, try to reproduce the test
manually with the steps described above in the vPing common section with the
@@ -176,7 +181,8 @@ vPing_userdata
This test case does not create any floating IP neither establishes an SSH
connection. Instead, it uses nova-metadata service when creating an instance
to pass the same script as before (ping.sh) but as 1-line text. This script
-will be executed automatically when the second instance **opnfv-vping-2** is booted.
+will be executed automatically when the second instance **opnfv-vping-2** is
+booted.
The only known problem here for this test to fail is mainly the lack of support
of cloud-init (nova-metadata service). Check the console of the instance::
@@ -219,79 +225,69 @@ In the upstream OpenStack CI all the Tempest test cases are supposed to pass.
If some test cases fail in an OPNFV deployment, the reason is very probably one
of the following
-+-----------------------------+-----------------------------------------------------+
-| Error | Details |
-+=============================+=====================================================+
-| Resources required for test | Such resources could be e.g. an external network |
-| case execution are missing | and access to the management subnet (adminURL) from |
-| | the Functest docker container. |
-+-----------------------------+-----------------------------------------------------+
-| OpenStack components or | Check running services in the controller and compute|
-| services are missing or not | nodes (e.g. with "systemctl" or "service" commands).|
-| configured properly | Configuration parameters can be verified from the |
-| | related .conf files located under '/etc/<component>'|
-| | directories. |
-+-----------------------------+-----------------------------------------------------+
-| Some resources required for | The tempest.conf file, automatically generated by |
-| execution test cases are | Rally in Functest, does not contain all the needed |
-| missing | parameters or some parameters are not set properly. |
-| | The tempest.conf file is located in directory |
-| | 'root/.rally/verification/verifier-<UUID> |
-| | /for-deployment-<UUID>' |
-| | in the Functest Docker container. Use the "rally |
-| | deployment list" command in order to check the UUID |
-| | the UUID of the current deployment. |
-+-----------------------------+-----------------------------------------------------+
++----------------------------+------------------------------------------------+
+| Error | Details |
++============================+================================================+
+| Resources required for | Such resources could be e.g. an external |
+| testcase execution are | network and access to the management subnet |
+| missing | (adminURL) from the Functest docker container. |
++----------------------------+------------------------------------------------+
+| OpenStack components or | Check running services in the controller and |
+| services are missing or | compute nodes (e.g. with "systemctl" or |
+| not configured properly | "service" commands). |
+| | Configuration parameters can be verified from |
+| | the related .conf files located under |
+| | '/etc/<component>' directories. |
++----------------------------+------------------------------------------------+
+| Some resources required | The tempest.conf file, automatically generated |
+| for execution test cases | by Rally in Functest, does not contain all the |
+| are missing | needed parameters or some parameters are not |
+| | set properly. |
+| | The tempest.conf file is located in directory |
+| | 'root/.rally/verification/verifier-<UUID> |
+| | /for-deployment-<UUID>' |
+| | in the Functest Docker container. Use the |
+| | "rally deployment list" command in order to |
+| | check the UUID of the current deployment. |
++----------------------------+------------------------------------------------+
When some Tempest test case fails, captured traceback and possibly also the
-related REST API requests/responses are output to the console. More detailed debug
-information can be found from tempest.log file stored into related Rally deployment
-folder.
+related REST API requests/responses are output to the console. More detailed
+debug information can be found from tempest.log file stored into related Rally
+deployment folder.
Functest offers a possibility to test a customized list of Tempest test cases.
-To enable that, add a new entry in docker/components/testcases.yaml on the "components" container
-with the following content::
-
- -
- case_name: tempest_custom
- project_name: functest
- criteria: 100
- blocking: false
- description: >-
- The test case allows running a customized list of tempest
- test cases
- dependencies:
- installer: ''
- scenario: ''
- run:
- module: 'functest.opnfv_tests.openstack.tempest.tempest'
- class: 'TempestCustom'
-
-Also, a list of the Tempest test cases must be provided to the container or modify
-the existing one in
-/usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt
-
-Example of custom list of tests 'my-custom-tempest-tests.txt'::
-
- tempest.scenario.test_server_basic_ops.TestServerBasicOps.test_server_basic_ops[compute,id-7fff3fb3-91d8-4fd0-bd7d-0204f1f180ba,network,smoke]
- tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops[compute,id-f323b3ba-82f8-4db7-8ea6-6a895869ec49,network,smoke]
+To enable that, add a new entry in docker/smoke/testcases.yaml on the
+"smoke" container with the following content::
+
+ -
+ case_name: tempest_custom
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ The test case allows running a customized list of tempest
+ test cases
+ run:
+ name: tempest_common
+ args:
+ mode: "tempest.scenario.test_server_basic_ops.TestServerBasicOps.test_server_basic_ops|\
+ tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops"
This is an example of running a customized list of Tempest tests in Functest::
sudo docker run --env-file env \
- -v $(pwd)/openstack.creds:/home/opnfv/functest/conf/openstack.creds \
+ -v $(pwd)/openstack.creds:/home/opnfv/functest/conf/env_file \
-v $(pwd)/images:/home/opnfv/functest/images \
- -v $(pwd)/my-custom-testcases.yaml:/usr/lib/python2.7/site-packages/functest/ci/testcases.yaml \
- -v $(pwd)/my-custom-tempest-tests.txt:/usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt \
- opnfv/functest-components run_tests -t tempest_custom
-
+ -v $(pwd)/my-custom-testcases.yaml:/usr/lib/python3.8/site-packages/xtesting/ci/testcases.yaml \
+ opnfv/functest-smoke run_tests -t tempest_custom
Rally
^^^^^
-The same error causes which were mentioned above for Tempest test cases, may also
-lead to errors in Rally as well.
+The same error causes which were mentioned above for Tempest test cases, may
+also lead to errors in Rally as well.
Possible scenarios are:
* authenticate
@@ -301,18 +297,19 @@ Possible scenarios are:
* keystone
* neutron
* nova
- * ceilometer
* quotas
* vm
-To know more about what those scenarios are doing, they are defined in directory:
-/usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/rally/scenario
-For more info about Rally scenario definition please refer to the Rally official
-documentation. `[3]`_
+To know more about what those scenarios are doing, they are defined in
+directory:
+/usr/lib/python3.8/site-packages/functest/opnfv_tests/openstack/rally/scenario
+For more info about Rally scenario definition please refer to the Rally
+official documentation. `[3]`_
To check any possible problems with Rally, the logs are stored under
*/home/opnfv/functest/results/rally/* in the Functest Docker container.
+.. _`[3]`: https://rally.readthedocs.io/en/latest/index.html
Controllers
-----------
@@ -372,7 +369,7 @@ described in the following table:
| the VM | the vIMS VNF installation fails |
+-----------------------------------+------------------------------------+
-Please note that this test case requires resources (8 VM (2Go) + 1 VM (4Go)), it
-is there fore not recommended to run it on a light configuration.
+Please note that this test case requires resources (8 VM (2Go) + 1 VM (4Go)),
+it is there fore not recommended to run it on a light configuration.
.. _`OPNFV Functest Developer Guide`: http://artifacts.opnfv.org/functest/docs/testing_developer_devguide/index.html#