As bug 1568706 uncovered, we were using zuul-cloner in our gate jobs; this was preventing our translation from syncing. After digging into this issue a number of changes in this associated logic were found to not be in sync with neutron. This patch updates out tox/tools logic to follow that of neutron. In addition this patch fixes any pylint checks that were failing to make pep8 pass. IMPORTANT: Please review closely, not only to the tools/tox updates but also to the ignored pylint checks in the code. We only want to disable checks where appropriate. Change-Id: I6c5fee3ca3073ad079eac1636cc3b9ec45926a68 Closes-Bug: #1568706
|5 years ago|
|common||6 years ago|
|services||5 years ago|
|tests||5 years ago|
|README.rst||5 years ago|
|__init__.py||6 years ago|
|_i18n.py||6 years ago|
|config.py||5 years ago|
|plugin.py||6 years ago|
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:
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.
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/
$ pip show vmware-nsx
You should observe the following statements:
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.
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.