70727ba781
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 |
||
---|---|---|
.. | ||
init.d | ||
neutron | ||
api-paste.ini | ||
dhcp_agent.ini | ||
l3_agent.ini | ||
metadata_agent.ini | ||
metering_agent.ini | ||
neutron.conf | ||
policy.json | ||
rootwrap.conf |