From 137ca3bf6f6da44aebcaabfae4d017c28c37fb41 Mon Sep 17 00:00:00 2001 From: Morgan Richomme Date: Fri, 11 Dec 2015 15:06:07 +0100 Subject: First upload of Functest Doc for Brahmaputra Installation and user Guide JIRA: FUNCTEST-112, FUNCTEST-113 Change-Id: I8c0210684187be3102e7b4ad82f59082faeca470 Signed-off-by: Morgan Richomme --- docs/configguide/index.rst | 128 ++++++++++++++++++++++++++++++ docs/userguide/index.rst | 190 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 318 insertions(+) create mode 100644 docs/configguide/index.rst create mode 100644 docs/userguide/index.rst diff --git a/docs/configguide/index.rst b/docs/configguide/index.rst new file mode 100644 index 000000000..47e430d21 --- /dev/null +++ b/docs/configguide/index.rst @@ -0,0 +1,128 @@ +=============================================== +OPNFV FUNCTEST configuration/installation guide +=============================================== + +.. contents:: + +------------ +Introduction +------------ + +** DOCUMENT IS IN PROGRESS FOR BRAHMAPUTRA ** + +.. _prereqs: + +------------- +Prerequisites +------------- + +The installation of the OPNFV solution is out of scope of this document but can be found XXX. +In the rest of the document the OPNFV solution would be considered as the System Under Test (SUT). + +The installation and configuration of the tools needed to perform the tests will be described in the following sections. + +Since Arno SR1, the tools are automatically installed. Manual sourcing of OpenStack credentials is no more required if you are fully integrated in the continuous integration. +A script has been added to automatically retrieve the credentials. +However, if you still install manually functest, you will need to source the rc file on the machine you are running the tests. +More details will be provided in the configuration section. + +.. _pharos: https://wiki.opnfv.org/pharos + +It is recommended to install the different tools on the jump host server as defined in the pharos_ project. + +For functest, the following libraries are needed. You can install them either with yum install or apt-get install, depending on your operating system: + * python-pip + * python-dev + * libffi-dev + * libxml2-dev + * libxslt1-dev + +You will also need some Python modules: + * sudo pip install GitPython + * sudo pip install python-novaclient + * sudo pip install python-neutronclient + * sudo pip install python-glanceclient + * sudo pip install python-keystoneclient + + +The high level architecture can be described as follow:: + + CIMC/Lights+out management Admin Private Public Storage + PXE + + + + + IP_PRIV/24 | | + | | + + | + | | | IP_PUB/24 | + | +-----------------+ | | + | + | | | | | | | + +-----+ Jumpserver | | | | | + | | +---------------------+ | | | + | | | | | | | + | | +----------+ | | | | | + | | | Rally | +---- --------------------------+ | | + | | | | | | | | | + | | | Robot | | | | | | + | | | | | | | | | + | | | vPing | | | | | | + | | | | | | | | | + | | | Tempest | | | | | | + | | +----------+ | | | | | + | | FuncTest +-----------------------------------------+ | + | | | | | | | + | | +--------------------------------------------------+ + | | | | | | | + | +-----------------+ | | | | + | | | | | + | +----------------+ | | | | + | | 1 | | | | | + +----+ +--------------+-+ | | | | + | | | 2 | | | | | + | | | +--------------+-+ | | | | + | | | | 3 | | | | | + | | | | +--------------+-+ | | | | + | | | | | 4 | | | | | + | +-+ | | +--------------+-+ | | | | + | | | | | 5 +---------------+ | | | + | +-+ | | nodes for | | | | | + | | | | deploying +-------------------------+ | | + | +-+ | opnfv | | | | | + | | | SUT +-----------------------------------+ | + | +-+ | | | | | + | | +--------------------------------------------+ + | +----------------+ | | | | + | | | | | + | + + + + + + +.. _tooling_installation: + +------------ +Installation +------------ + +------------- +Configuration +------------- + +----------------- +Integration in CI +----------------- + + + +---------- +References +---------- + +OPNFV main site: opnfvmain_. + +OPNFV functional test page: opnfvfunctest_. + +IRC support chan: #opnfv-testperf + +.. _opnfvmain: http://www.opnfv.org +.. _opnfvfunctest: https://wiki.opnfv.org/opnfv_functional_testing +.. _`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_test.py` : https://git.opnfv.org/cgit/functest/tree/testcases/config_functest.py +.. _`config_functest.yaml` : https://git.opnfv.org/cgit/functest/tree/testcases/config_functest.yaml diff --git a/docs/userguide/index.rst b/docs/userguide/index.rst new file mode 100644 index 000000000..0eabac217 --- /dev/null +++ b/docs/userguide/index.rst @@ -0,0 +1,190 @@ +=========================== +OPNFV FUNCTEST user guide +=========================== + +.. contents:: + + +.. _introduction: + +DOCUMENT IS IN PROGRESS FOR BRAHMAPUTRA + +------------ +Introduction +------------ + +.. _description: + +----------------------------- +Description of the test cases +----------------------------- + +vPing +===== + +The goal of this test can be described as follow:: + + vPing testcase + +-------------+ +-------------+ + | | | | + | | | | + | | Boot VM1 | | + | +------------------>| | + | | | | + | | Get IP VM1 | | + | +------------------>| | + | Tester | | System | + | | Boot VM2 | Under | + | +------------------>| Test | + | | VM2 pings VM1 | | + | | | | + | | Check console log | | + | | If ping: | | + | | exit OK | | + | | else (timeout) | | + | | exit KO | | + | | | | + | | | | + +-------------+ +-------------+ + + +This example, using OpenStack Python clients can be considered as an "Hello World" example and may be modified for future use. + +In SR1, some code has been added in order to push the results (status and duration) into a centralized test result database. + +SDN Controllers +=============== + +OpenDaylight +------------ + +The ODL suite consists in a set of basic tests inherited from ODL project. The suite tests the creation and deletion of network, subnet, port though OpenDaylight and Neutron. + +The list of tests can be described as follow: + * Restconf.basic: Get the controller modules via Restconf + * Neutron.Networks + + * Check OpenStack Networks :: Checking OpenStack Neutron for known networks + * Check OpenDaylight Networks :: Checking OpenDaylight Neutron API + * Create Network :: Create new network in OpenStack + * Check Network :: Check Network created in OpenDaylight + * Neutron.Networks :: Checking Network created in OpenStack are pushed + + * Neutron.Subnets + + * Check OpenStack Subnets :: Checking OpenStack Neutron for known Subnets + * Check OpenDaylight subnets :: Checking OpenDaylight Neutron API + * Create New subnet :: Create new subnet in OpenStack + * Check New subnet :: Check new subnet created in OpenDaylight + * Neutron.Subnets :: Checking Subnets created in OpenStack are pushed + + * Neutron.Ports + + * Check OpenStack ports :: Checking OpenStack Neutron for known ports + * Check OpenDaylight ports :: Checking OpenDaylight Neutron API + * Create New Port :: Create new port in OpenStack + * Check New Port :: Check new subnet created in OpenDaylight + * Neutron.Ports :: Checking Port created in OpenStack are pushed + + * Delete Ports + + * Delete previously created subnet in OpenStack + * Check subnet deleted in OpenDaylight + * Check subnet deleted in OpenStack + + * Delete network + + * Delete previously created network in OpenStack + * Check network deleted in OpenDaylight + * Check network deleted in OpenStack + + +ONOS +---- +TODO + +OpenContrail +------------ + +TODO + + +Tempest +======= + +.. _Tempest: http://docs.openstack.org/developer/tempest/overview.html + +Tempest_ is the OpenStack Integration Test Suite. We use Rally to run Tempest suite. + +The Tempest.conf configuration file is automatically generated by Rally then the Tempest suite is run, each test duration is measured. + +We considered the smoke test suite for Arno. + +The goal of this test is to to check the basic OpenStack functionality on a fresh installation. + +vIMS +==== + +TODO + +Rally bench test suite +====================== + +.. _Rally: https://wiki.openstack.org/wiki/Rally + +Rally bench test suite consist in a suite of light performance tests on some of the OpenStack components. + +The goal of this test suite is to test the different modules of OpenStack and get significant figures that could help us to define telco Cloud KPI. + +The OPNFV scenarios are based on the collection of the existing Rally_ scenarios: + * authenticate + * cinder + * nova + * requests + * glance + * keystone + * neutron + * quotas + + +This test suite provides performance information on VIM (OpenStack) part. + +No SLA were defined for release 1, we just consider whether the tests are passed or failed. + +In the future SLA shall be defined (e.g. accepting booting time for a given image with a given flavour). + +Through its integration in Continuous Integration, the evolution of the performance of these tests shall also be considered. + +Feature projects +================ + +-------------- +Manual testing +-------------- + +------------------ +Automated testing +------------------ + +--------------- +Troubleshooting +--------------- + + + +---------- +References +---------- + +OPNFV main site: opnfvmain_. + +OPNFV functional test page: opnfvfunctest_. + +IRC support chan: #opnfv-testperf + +.. _opnfvmain: http://www.opnfv.org +.. _opnfvfunctest: https://wiki.opnfv.org/opnfv_functional_testing +.. _`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_test.py` : https://git.opnfv.org/cgit/functest/tree/testcases/config_functest.py +.. _`config_functest.yaml` : https://git.opnfv.org/cgit/functest/tree/testcases/config_functest.yaml -- cgit 1.2.3-korg