.. | ||
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.