
NSX-v at VIO-2.5 release supports external network with multiple subnets. However, this feature requires network admin to configure the physcial router to route the 2nd subnet CIDR to the OS environment. In our QA environment, we are not able to configure physical router to route the 2nd subnet, this test can only be executed at devstack environment. And ONLY DO: 1. PING to servers' floating-ip 2. SSH sever using its floating-ip 3. From server it can ping other server's private address. For VIO or other environments, you need to have the right to change physcial router, and change tempest.conf accoridingly. 3 tests in this module, so run this test sequencially. Change-Id: I5fc0d137f5b95101bf7b9485a2ca03e61d13d766
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.