cf38354175
Due to a recent upstream change, tempest project switched to using in-tree tempest lib instead of tempest_lib. We need to change our NSX tempest plugin test to use in-tree tempest lib too. Upstream change: https://review.openstack.org/#/c/284911 Fixes-Bug: #1552453 Change-Id: I522d234d948f5b7a6f70dec69c98c44eb5d7582f |
||
---|---|---|
.. | ||
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:
It is implemented with tempest external plugin. The official design sepcification is at:
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 cd os-tempest python tools/install_venv.py
# 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 to 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
- and 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.