86bd86d76f
Id518a6d87d0949737cd1c50cb6a83149b85e5f85 removes the class variable from tempest - 'default_params_with_timeout_values' This was kept in tempest only to be used for baremetal tests. Each Temepst plugin should either have their own config options for build timeout etc or use the default one. Currently this commit makes use of timeout and other values from config which are stable. Change-Id: I8d010afe20db890636433a17193029a123a0a136 |
||
---|---|---|
.. | ||
common | ||
doc | ||
services | ||
tests | ||
__init__.py | ||
_i18n.py | ||
config.py | ||
plugin.py | ||
README.rst |
Welcome!
vmware_nsx_tempest is a plugin module to openstack tempest project.
If you are not familiar with tempest, please refer to:
http://docs.openstack.org/developer/tempest
It is implemented with tempest external plugin. The official design sepcification is at:
https://review.openstack.org/#/c/184992/
Overview
vmware_nsx_tempest hosts vmware_nsx's functional api and scenario tests.
All vmware_nsx_tempest tests are in "master" branch. For this reason, it is recommended to have your own developer version of vmware-nsx repo installed outside the devstack folder, /opt/stack/.
For example at /opt/devtest folder. In doing so, you can install editable vmware-nsx repo under tempest VENV environemnt.
Installation:
On your own development folder, for example /opt/devtest/, install your own tempest development env at /opt/devtest/os-tempest/:
$ cd /opt/devtest $ git clone https://github.com/openstack/tempest os-tempest
Install virtualenv with the following command:
$ cd /opt/devtest/os-tempest $ ./run_tempest.sh -u not_exist_tests
Install vmware-nsx master branch at /opt/devtest/vmware-nsx:
$ cd /opt/devtest $ git clone https://github.com/openstack/vmware-nsx
Install vmware_nsx_tempest in your tempest development environment:
$ cd /opt/devtest/os-tempest $ source .venv/bin/activate $ pip install -e /opt/devtest/vmware-nsx/
Run command:
$ pip show vmware-nsx
You should observe the following statements:
Location: /opt/devtest/vmware-nsx
and under section of Entry-points:
[tempest.test_plugins] vmware-nsx-tempest-plugin = vmware_nsx_tempest.plugin:VMwareNsxTempestPlugin
Validate installed vmware_nsx_tempest succesfully do:
$ cd /opt/devtest/os-tempest $ tools/with_venv.sh testr list-tests vmware_nsx_tempest.*l2_gateway
Your installation failed, if no tests are shown.
Execution:
vmware_nsx_tempest tests are tempest tests, you need to run from tempest directory. For example, to run only l2-gateway tests:
$ cd /opt/devtest/os-tempest
$ ./run_tempest.sh -t vmware_nsx_tempest.*test_l2_gateway
$ ./run_tempest.sh -d vmware_nsx_tempest.tests.nsxv.api.test_l2_gateway_connection.L2GatewayConnectionTest.test_csuld_single_device_interface_vlan
TechNote on vmware_nsx_tempest:
vmware_nsx_tempest is a plugin to tempest, not neutron, nor vmware_nsx.
It is defined by tempest.test_plugins.
Modules within vmware_nsx_tempest can not see resources defined by vmware_nsx. Commands like following are not acceptable, unless vmware_nsx is installed in your tempest environment:
from vmware_nsx._i18n import _LE
import vmware_nsx.shell.admin.plugins.common.utils as admin_utils
TechNote on logging:
tempest repo itself does not enforce LOG complying to _i18n. So for tempest tests for vmware-nsx, that is vmware_nsx_tempest, use LOG.debug() command.
However, if you need to log other than debug level, please do:
from vmware_nsx_tempest._i18n import _LI
from vmware_nsx_tempest._i18n import _LE
from vmware_nsx_tempest._i18n import _LW
Customize it depending on the log level your scripts will use.