]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commit
Introduce mechanism to determine supported qos rule types for a plugin
authorIhar Hrachyshka <ihrachys@redhat.com>
Thu, 11 Jun 2015 06:11:08 +0000 (08:11 +0200)
committerJohn Schwarz <jschwarz@redhat.com>
Mon, 27 Jul 2015 13:48:48 +0000 (16:48 +0300)
commit12f7abd3982d3580abdb9055c650bdad50900cf4
treea435b79d4d21ee82dfcd875441d72d6c432ef644
parentb9996c08a281490d71e83eaee4d080fab8413cc2
Introduce mechanism to determine supported qos rule types for a plugin

Every plugin that supports some of QoS rules will define a property
called supported_qos_rule_types of list type.

For ml2, determine supported qos rule types as a subset of rule types
supported by all drivers. (In the future, we may expand the list to
include all types supported by at least one of enabled drivers. This
would require synchronized work with nova scheduler though.)

For ml2, tests are limited, and should be expanded to check that common
subset of qos rules is calculated properly when intersection != the list
of each plugins. For now, it's enough since we don't have more than one
rule type planned for Liberty.

Added API test for the resource.

Partially-Implements: blueprint ml2-qos
Co-Authored-By: Irena Berezovsky <irenab.dev@gmail.com>
Co-Authored-By: John Schwarz <jschwarz@redhat.com>
Change-Id: I0d18ae256877a129e203110003fcadd1d63590b4
19 files changed:
doc/source/devref/quality_of_service.rst
neutron/extensions/qos.py
neutron/objects/base.py
neutron/objects/qos/policy.py
neutron/objects/qos/rule.py
neutron/objects/qos/rule_type.py [new file with mode: 0644]
neutron/plugins/ml2/drivers/linuxbridge/mech_driver/mech_linuxbridge.py
neutron/plugins/ml2/drivers/openvswitch/agent/extension_drivers/qos_driver.py
neutron/plugins/ml2/drivers/openvswitch/mech_driver/mech_openvswitch.py
neutron/plugins/ml2/managers.py
neutron/plugins/ml2/plugin.py
neutron/services/qos/qos_consts.py [new file with mode: 0644]
neutron/services/qos/qos_plugin.py
neutron/tests/api/test_qos.py
neutron/tests/tempest/services/network/json/network_client.py
neutron/tests/unit/objects/qos/test_rule_type.py [new file with mode: 0644]
neutron/tests/unit/objects/test_base.py
neutron/tests/unit/plugins/ml2/drivers/openvswitch/agent/extension_drivers/test_qos_driver.py
neutron/tests/unit/plugins/ml2/test_plugin.py