Improved validation mechanism for QoS rules with port types

Registered by Armando Migliaccio

Currently neutron API can return what rules are supported, in the context of ML2: by returning the minimum subset of rules supported by all mechanism drivers.

Mechanism drivers in ML2 plugin can specify a list of QoS rule types which are supported. For example openvswitch mech_driver will report "bandwidth_limit_rule" (which is only for egress traffic in fact) and "dscp_marking" rule.

There are two problems with such simple check:

 - if rules are created or policy is applied to port there is no validation at all. It means that for example policy with dscp_marking rule can be applied to port bound with linuxbridge or sriov mech_drivers without any errors.

 - there is no possibility that mechanism driver will support some rules only with specific parameters. For example bandwidth_limit_rule could have parameter "direction" with values "ingress" and "egress" and some of mechanism drivers could only supports bandwidth limit with direction=egress.

We propose changes to how supported rule types are calculated and how validation works.

Blueprint information

Status:
Complete
Approver:
Miguel Angel Ajo
Priority:
Low
Drafter:
Slawek Kaplonski
Direction:
Approved
Assignee:
Slawek Kaplonski
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
milestone icon pike-3
Started by
Ihar Hrachyshka
Completed by
Ihar Hrachyshka

Related branches

Sprints

Whiteboard

Nov-16-2016(mangelajo): Still waiting on QoS driver refactor (moved to https://review.openstack.org/#/c/396651/ )

Oct-27-2016(mangelajo): Waiting on QoS driver refactor ( https://review.openstack.org/351858 )

Sep-08-2016(armax): deferred to Ocata

July-29-2006(armax): spec approved, code in progress.

https://review.openstack.org/#/c/319694/

Gerrit topic: https://review.openstack.org/#q,topic:poc-qos-rules-parameters-filtering-validate-method,n,z

Addressed by: https://review.openstack.org/319694 (abandoned)
    Improve validation of supported QoS rules

Addressed by: https://review.openstack.org/#/c/426946/
    [WIP] Improve validation of supported QoS rules - this one is based on new QoS driver instead of notification driver

Gerrit topic: https://review.openstack.org/#q,topic:bug/1586056,n,z

Addressed by: https://review.openstack.org/426946
    [WIP] Improve validation of supported QoS rules

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.