vmware-nsx/vmware_nsx_tempest
Alex Kang 95fb8acd92 [Tempest]: initial lbaasv2 clients and API tests
Ported LBaasV2 clients and API tests from repo neutron_lbaas.

1. LBaasV2 core network is updated to reflect that nsxv
   requiring subnet attached to exclusive router.
2. Modified to comply with tempest service client standard.
3. bugs opened to trace differences against upstream
   1638148, 1637877, 1638571(p0), 1639223,
   1638601(p0), 1639340, 1641643, 1641652, 1641902

Change-Id: I46d9dec3e8e23b9df6561acecf929fc0fd99686b
2016-04-14 14:27:35 +00:00
..
common Tempest: Adding l2gw test 2016-03-21 19:33:06 +00:00
services [Tempest]: initial lbaasv2 clients and API tests 2016-04-14 14:27:35 +00:00
tests [Tempest]: initial lbaasv2 clients and API tests 2016-04-14 14:27:35 +00:00
__init__.py init release of vmware-nsx tempest tests in tempest external plugin 2016-01-21 10:02:00 -08:00
_i18n.py init release of vmware-nsx tempest tests in tempest external plugin 2016-01-21 10:02:00 -08:00
config.py Merge "Tempest: Adding l2gw test" 2016-03-21 20:57:02 +00:00
plugin.py Add NSXv3 config for tempest 2016-01-27 23:20:31 +00:00
README.rst Files contains test lists for regression test execution 2016-01-29 08:30:32 -08:00

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