OpenStack Networking (Neutron)
Go to file
Maru Newby 501df939a5 Add support for retargetable functional api testing
This patch introduces the concept of a 'retargetable' functional api
test.  Such a test targets an abstract client class, and by varying
the implementation of the client, the test can target multiple
backends.

The test added by this patch (test_network_lifecycle) can be run
against the programmatic plugin api (for configured plugins) via both
tox -e functional and tox -e dsvm-functional.  The latter env is used
by the gating neutron-dsvm-functional job.

The test can also be run against a live Neutron service via 'tox -e api'
which will soon be run as part of the check queue by the
neutron-dsvm-api job [1].  Running this tox env requires
devstack-deployed Neutron and Tempest.

The intention is to refactor the existing plugin tests
(e.g. NeutronDbPluginV2TestCase) to use this model.  Functional tests
don't have to isolate functionality - they just need to exercise it -
so fewer tests will be required.  The new tests will be able to target
plugins directly rather than through the wsgi stack, so execution time
will be decreased.  The refactored tests should be easier to maintain
and take less time to run.

Perhaps best of all, since the same tests will be able to target a
deployed service in the neutron-dsvm-api job, the deployed behaviour
of api changes will finally be able to gate merges to the Neutron
tree.

Notable parts of the change:

- tests/api
  - base_v2 -      defines the client interface (BaseNeutronClient)
                   and the base class (BaseTestApi) for the
                   retargetable test (test_network_lifecycle)

  - test_v2_rest - implements the client interface for the tempest
                   rest client and configures the retargetable test
                   with scenarios for json serialization

- tests/functional/api
  - test_v2_plugin - implements the client interface for the
                     programmatic plugin api and configures the
                     retargetable test with scenarios targeting the
                     linuxbridge and openvswitch plugins

- tests/unit
  - refactor bits of the existing plugin tests for reuse

1: https://review.openstack.org/#/c/82226/

Implements: bp retargetable-functional-testing
Change-Id: Ib5470040c0fa91ec143f38d273e1e259b3adfb2e
2015-01-06 02:37:59 +00:00
bin Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
doc Move DB TestModelsMigrations from unit to functional 2014-12-18 22:41:05 -05:00
etc Merge "Eventlet green threads not released back to pool" 2014-12-30 08:28:47 +00:00
neutron Add support for retargetable functional api testing 2015-01-06 02:37:59 +00:00
rally-jobs Update rally-jobs files 2014-11-24 23:21:11 +04:00
tools Clean-up sanity checks done via shell scripts 2014-12-23 16:25:06 -08:00
.coveragerc fix some missing change from quantum to neutron 2013-07-08 12:11:04 +08:00
.gitignore Add support for retargetable functional api testing 2015-01-06 02:37:59 +00:00
.gitreview Rename quantum to neutron in .gitreview. 2013-07-06 12:25:09 -04:00
.mailmap Add mailmap entry 2014-05-16 13:40:04 -04:00
.pylintrc Enable pylint checks for "anomalous" string escapes 2014-12-23 14:53:02 +11:00
.testr.conf Add an explicit tox job for functional tests 2014-02-05 17:11:52 +00:00
babel.cfg Use babel to generate translation file 2013-01-24 00:20:32 +08:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:37 +00:00
HACKING.rst test_dhcp_agent: Fix no-op tests 2014-12-02 12:13:08 +09:00
LICENSE Adding Apache Version 2.0 license file. This is the official license agreement under which Quantum code is available to 2011-08-08 12:31:04 -07:00
MANIFEST.in Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
openstack-common.conf Merge "Have L3 agent catch the correct exception" 2014-12-15 16:25:12 +00:00
README.rst Updated the README.rst 2014-12-02 14:33:30 -06:00
requirements.txt Retry on unassigned ofport instead of treating it as a failure 2014-12-29 15:12:52 -07:00
run_tests.sh run_tests.sh OS X script fixes 2014-11-20 17:56:19 -07:00
setup.cfg Merge "Backward compatibility for advanced services" 2014-12-18 20:18:05 +00:00
setup.py Updated from global requirements 2014-04-30 02:41:29 +00:00
test-requirements.txt Move DB TestModelsMigrations from unit to functional 2014-12-18 22:41:05 -05:00
TESTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:37 +00:00
tox.ini Add support for retargetable functional api testing 2015-01-06 02:37:59 +00:00

Welcome!

You have come across a cloud computing network fabric controller. It has identified itself as "Neutron." It aims to tame your (cloud) networking!

External Resources:

The homepage for Neutron is: http://launchpad.net/neutron. Use this site for asking for help, and filing bugs. Code is available on git.openstack.org at <http://git.openstack.org/cgit/openstack/neutron>.

The latest and most in-depth documentation on how to use Neutron is available at: <http://docs.openstack.org>. This includes:

Neutron Administrator Guide

http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html

Neutron API Reference:

http://docs.openstack.org/api/openstack-network/2.0/content/

Current Neutron developer documentation is available at:

http://wiki.openstack.org/NeutronDevelopment

For help on usage and hacking of Neutron, please send mail to <mailto:openstack-dev@lists.openstack.org>.

For information on how to contribute to Neutron, please see the contents of the CONTRIBUTING.rst file.