
All changed methods are clearly internal methods of Tempest, and the Tempest commit 64e6b4457c748f74bfb4fbf3860ab65b65ae9beb has removed the internal methods and now the gate issue happens. This patch makes this project to use better ones instead. Change-Id: I89283365517eea73d931f574e047b8af45e2b9f8 Related-Bug: #1667824
Welcome!
vmware_nsx_tempest is a plugin module to openstack tempest project.
If you are not familiar with tempest, please refer to:
https://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 successfully 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.