Support Bandwidth limiting QoS support

Registered by Mohankumar

Neutron has supported Bandwidth limiting QoS support since Liberty. Horizon needs to add support for Bandwidth limiting QoS support and their use to expose this functionality.

Neutron bandwidth limiting qos configurations.The main motivation for this implementation is about limiting, prioritizing or guaranteeing speed of traffic . So we can process important user traffic with higher priority and cloud admin can offer different service levels based on the available network bandwidth. Qos policies can be applied per network and port levels upon where cloud admin wants to get applied.

Description :
QoS design defines the following two conceptual resources,

[1] QoS policy
[2] QoS rule (type specific)

Each QoS policy contains zero or more QoS rules. A policy is then applied to a network or a port, making all rules of the policy applied to the corresponding resource.When applied through a network association, policy rules could apply or not to neutron internal ports (like router, dhcp, load balancer, etc..). The QosRule base object provides a default should_apply_to_port method which could be overridden. In the future we may want to have a flag in QoSNetworkPolicyBinding or QosRule to enforce such type of application (for example when limiting all the ingress of routers devices on an external network automatically).

Data Model Impact:

The model consist of two main parts, policies, and rules. Policies are composed of rules. Even if that can look overcomplicated as a start, it will allow the feature to be easily extended without changes to object relationships (QoSPolicy <-> Port / QoSPolicy <-> Network) in the future.

For the case of bandwidth limiting, we have a third model QoSBandwidthLimitRule that extends QoSRule base data model.

New rules could be introduced by adding new submodels to QoSRule.

The nature of this change is wiring in Horizon. The end user should able to create QOS rule using Horizon UI as same neutron supports CLI interface .

Doc Impact
The doc impact of this change will be to the overall openstack documentation regarding domain management.

Blueprint information

Ying Zuo
Beth Elwell
Series goal:
Milestone target:
Started by
Rob Cresswell

Related branches



Gerrit topic:,topic:bp/network-bandwidth-limiting-qos,n,z

Addressed by:
    Adding angular QoS panel in horizon -- ABANDONED

Addressed by:
    WIP - added edit policy options -- ABANDONED

Addressed by:
    Added a create action for qos policy -- ABANDONED

Addressed by:
    added bandwidth limit rule workflow -- ABANDONED

Addressed by:
    WIP-Added action for attach QoS policy to network -- ABANDONED

Addressed by:
    WIP-Added attach/detach qos policy to networks -- ABANDONED

Gerrit topic:,topic:angular-qos-panel,n,z

Addressed by: - merged
    WIP Adds angular QoS panel to Horizon

Gerrit topic:,topic:angular-qos-panel-actions,n,z

Addressed by: - merged
    Add details to network_qos panel

Gerrit topic:,topic:qos-default,n,z

Addressed by: - merged
    QoS panel: default to disabled

Addressed by: WIP Add delete action to network_qos panel

Addressed by: Cleaned up formats for qos panel - merged

[yingzuo - 2017/10/31] Beth, are you still working on this?

[betherly - 2017/11/01] Hi Ying, Yes I am, should have a patch up shortly. Apologies for the delay while focusing on testing.

[yingzuo - 2017/11/5] Great! Thanks Beth.

Gerrit topic:,topic:qos-panel-actions,n,z

Addressed by:
    Add delete action to network_qos panel

No further progress happens for a long time. The target milestone and series are cleared.

Does anyone know the progress of this project?


Work Items

This blueprint contains Public information 
Everyone can see this information.