neutron/doc/source/devref
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
..
images Update fullstack multinode simulation image 2015-08-12 13:55:21 -04:00
advanced_services.rst devref: updated documentation for advanced services 2015-02-23 13:47:05 -05:00
alembic_migrations.rst Support for independent alembic branches in sub-projects 2015-08-12 23:50:58 -04:00
api_extensions.rst Developer documentation 2014-02-26 11:03:46 -05:00
api_layer.rst API layer documentation 2014-03-13 00:43:07 -04:00
callbacks.rst Improve callback registry devref documentation and usability 2015-08-12 10:15:07 -07:00
client_command_extensions.rst Consistent layout and headings for devref 2015-08-09 21:46:57 -04:00
contribute.rst Consistent layout and headings for devref 2015-08-09 21:46:57 -04:00
db_layer.rst Support for independent alembic branches in sub-projects 2015-08-12 23:50:58 -04:00
development.environment.rst Consistent layout and headings for devref 2015-08-09 21:46:57 -04:00
dns_order.rst Keep dns nameserver order consistency 2015-07-29 17:13:44 +08:00
fullstack_testing.rst Update fullstack multinode simulation image 2015-08-12 13:55:21 -04:00
index.rst Merge remote-tracking branch 'origin/feature/qos' into merge-branch 2015-08-17 15:16:55 +02:00
l2_agents.rst Add documentation for SRIOV NIC agent (previously missing) 2015-07-20 17:49:40 +00:00
layer3.rst devref: don't link to nonlocal images 2015-02-23 18:48:11 +00:00
linuxbridge_agent.rst Add documentation for Linux Bridge (previously missing) 2015-06-28 20:46:04 -07:00
neutron_api.rst Consistent layout and headings for devref 2015-08-09 21:46:57 -04:00
openvswitch_agent.rst Merge "Fixed the only sphinx warning in docs" 2015-06-18 19:48:39 +00:00
oslo-incubator.rst devref: updated documentation for oslo-incubator 2015-02-23 18:47:53 +00:00
plugin-api.rst Developer documentation 2014-02-26 11:03:46 -05:00
quality_of_service.rst Merge "SR-IOV: Add Agent QoS driver to support bandwidth limit" into feature/qos 2015-08-12 19:12:11 +00:00
rpc_api.rst Adopt rpc_api devref to new oslo_messaging namespace 2015-02-07 10:56:34 +01:00
rpc_callbacks.rst neutron.api.rpc.callbacks interface rework 2015-08-08 10:24:20 +02:00
security_group_api.rst Reflect project moves from stackforge to openstack. 2015-06-14 16:13:01 -04:00
services_and_agents.rst devref: added guidelines to maintain service entry points 2015-02-25 17:47:49 +01:00
sriov_nic_agent.rst Add documentation for SRIOV NIC agent (previously missing) 2015-07-20 17:49:40 +00:00
sub_projects.rst Fix docs job 2015-08-12 13:29:50 -04:00
testing_coverage.rst Add testing coverage .rst, missing test infrastructure to-dos 2015-08-10 20:37:23 -04:00