neutron/neutron/tests/unit
Ihar Hrachyshka 70727ba781 Merge remote-tracking branch 'origin/feature/qos' into merge-branch
Note to reviewers: gerrit diff for merge patches is very limited, and
leaving comments in global section won't scale, so please comment here:

https://etherpad.openstack.org/p/qos-merge-back-review

This merge commit introduces QoS feature into Liberty release of
Neutron.

The feature is documented in: doc/source/devref/quality_of_service.rst
included with the merge patch.

It includes:

- QoS API service plugin with QoS policy and QoS bandwidth limit
  (egress) rule support;
- core plugin mechanism to determine supported rule types, with its ML2
  implementation;
- new agent extension manager;
- QoS agent extension with pluggable backend QoS drivers (Open vSwitch
  and SR-IOV support is included).

To extend network and port core resources with qos_policy_id attribute,
a new ML2 extension driver (qos) was introduced that relies on the QoS
core resource extension (the idea is that eventually we'll get a core
resource extension manager that can be directly reused by core plugins).

Agent-server interaction is based on:

- get_device_details() method that is extended with qos_policy_id;
- a new push/pull mechanism that allows agents and servers to
  communicate using oslo.versionedobjects based objects sent on the
  wire.

The merge includes the following types of test coverage:

- unit tests;
- functional tests for OVS agent, QoS agent extension, and low level
  ovs_lib changes;
- API tests to cover port/network qos_policy_id attribute and new QoS
  resources.

The client changes can be found at:

* https://review.openstack.org/189655
* https://review.openstack.org/198277

The team also prepared fullstack test but it needs to wait for client
merge before it can pass in the gate:

* https://review.openstack.org/202492

Gerrit does not show diff for merge changes that did not result in any
conflict, so to facilitate review, rely on the following steps:

- fetch the patch locally
- git fetch origin
- git diff origin/master...

This merge also disables qos extension API tests until the service is
enabled in master gate.

Local changes apart from conflicts:
- updated down_revision for qos migration to reflect master expand head;
- disabled qos API tests with gate_hook.sh until we have it enabled in
  master gate;
- bumped oslo.versionedobjects requirement to reflect what is in
  openstack/requirements' global-requirements.txt

DocImpact
APIImpact
Partially-Implements: blueprint quantum-qos-api
Partially-Implements: blueprint ml2-qos
Partially-Implements: blueprint ml2-qos-ovs-bwlimiting
Partially-Implements: blueprint ml2-sriov-qos-with-bwlimiting
Change-Id: I92916d0e391791187e9a25ff172fb4b3504857b1
2015-08-17 15:16:55 +02:00
..
agent Merge remote-tracking branch 'origin/feature/qos' into merge-branch 2015-08-17 15:16:55 +02:00
api Merge remote-tracking branch 'origin/feature/qos' into merge-branch 2015-08-17 15:16:55 +02:00
callbacks Improve callback registry devref documentation and usability 2015-08-12 10:15:07 -07:00
cmd Adding a cleanup for 'qlbaas-' namespaces in netns_cleanup 2015-07-21 13:52:57 +03:00
common SR-IOV: Convert max rate from kbps to Mbps 2015-08-11 14:58:13 +02:00
core_extensions QoS core extension: fixed dict extension when QoS policy is unset 2015-08-08 15:44:27 +02:00
db Merge remote-tracking branch 'origin/feature/qos' into merge-branch 2015-08-17 15:16:55 +02:00
debug Reorganize unit test tree 2015-04-06 23:28:31 +00:00
extensions Merge "Python 3: encode unicode response bodies" 2015-08-13 08:01:29 +00:00
hacking Restructure agent code in preparation for decomp 2015-06-26 15:06:49 +00:00
ipam Remove unnecessary executable permission 2015-08-01 05:16:32 +00:00
notifiers Merge "Revert "Revert "Add VIF_DELETED notification event to Nova""" 2015-08-12 18:05:47 +00:00
objects Fix get_objects to allow filtering 2015-08-09 14:57:52 +03:00
plugins Merge remote-tracking branch 'origin/feature/qos' into merge-branch 2015-08-17 15:16:55 +02:00
quota Add plural names for quota resources 2015-07-28 11:55:04 -07:00
scheduler Merge "Fix: Skip rescheduling networks if no DHCP agents available" 2015-08-11 20:31:29 +00:00
services Propagate notifications to agent consumers callbacks 2015-08-08 10:41:32 +02:00
tests Merge "Different approach to indicate failure on SystemExit" 2015-07-16 06:57:16 +00:00
__init__.py oslo: migrate to namespace-less import paths 2015-02-05 15:09:32 +01:00
_test_extension_portbindings.py Context: Remove logic for read_deleted and deprecate it 2015-06-09 13:50:03 -07:00
database_stubs.py Migrate to oslo.log 2015-03-12 11:22:56 +01:00
dummy_plugin.py Remove lingering traces of q_ 2015-07-07 17:04:44 -04:00
extension_stubs.py Remove get_namespace from API extensions 2015-06-15 09:17:32 -04:00
test_auth.py oslo: migrate to namespace-less import paths 2015-02-05 15:09:32 +01:00
test_context.py Python 3: fix test_context 2015-07-27 16:57:08 +02:00
test_manager.py Flavor Framework implementation 2015-07-16 09:07:41 -07:00
test_policy.py Rename a test method in test_policy.py 2015-08-07 13:50:00 +09:00
test_service.py Refactor TestRpcWorker and TestWorkerService 2015-06-16 15:49:48 +03:00
test_wsgi.py Python 3: encode unicode response bodies 2015-08-11 00:33:06 +02:00
testlib_api.py Improve fixture usage. 2015-07-01 14:53:48 +12:00