vmware-nsx/vmware_nsx_tempest
Tong Liu f5b16d60fa Tempest: Add micro-segmentation scenario test
The purpose of this scenario test is to test micro-segmentation use
case which is one of the most important features of NSX. In the test,
two-tier application web and app networks are created, and security
group rules are defined based on this use case. Verify that VMs on
these networks have the correct behaviors as expected.

Change-Id: I1a669f489031e23a4b280ee0ba9ea859c830ecfd
2016-05-20 17:13:15 +00:00
..
common Tempest: Added L2GW API tests 2016-04-19 20:01:47 +00:00
services Tempest: lbaasv2 scenario http round-robin operation test 2016-05-16 15:51:01 -07:00
tests Tempest: Add micro-segmentation scenario test 2016-05-20 17:13:15 +00:00
README.rst Files contains test lists for regression test execution 2016-01-29 08:30:32 -08: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 Tempest: Added L2GW API tests 2016-04-19 20:01:47 +00:00
plugin.py Add NSXv3 config for tempest 2016-01-27 23:20:31 +00:00

README.rst

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.