[RFE] Allow instance-ingress bandwidth limiting

Bug #1560961 reported by Miguel Angel Ajo on 2016-03-23
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
neutron
Wishlist
Slawek Kaplonski

Bug Description

The current implementation of bandwidth limiting rules only supports egress bandwidth
limiting.

Use cases
=========
There are cases where ingress bandwidth limiting is more important than
egress limiting, for example when the workload of the cloud is mostly a consumer of data (crawlers, datamining, etc), and administrators need to ensure other workloads won't be affected.

Other example are CSPs which need to plan & allocate the bandwidth provided to customers, or provide different levels of network service.

API/Model impact
===============
The BandwidthLimiting rules will be added a direction field (egress/ingress), which by default will be egress to match the current behaviour and, therefore
be backward compatible.

Combining egress/ingress would be achieved by including an egress bandwidth limit and an ingress bandwidth limit.

Additional information
======================
The CLI and SDK modifications are addressed in https://bugs.launchpad.net/python-openstackclient/+bug/1614121

description: updated
description: updated
description: updated
Henry Gessau (gessau) on 2016-03-23
Changed in neutron:
status: New → Confirmed
importance: Undecided → Wishlist
Akihiro Motoki (amotoki) wrote :

I think it is a reasonable request. For the reference implementation with OVS, QoS mechanism with linux TC should work.

Slawek Kaplonski (slaweq) wrote :

IMO it could be implemented together for Linuxbridge agent and OVS agent using same tc mechanism with simple TBF qdisc. What You think?

Changed in neutron:
assignee: nobody → Slawek Kaplonski (slaweq)
Miguel Angel Ajo (mangelajo) wrote :

This still needs drivers approval, but for the OVS part, refer to:
https://review.openstack.org/#/c/211520/

I believe OVS only supported htb, but feel free to explore that.

Fix proposed to branch: master
Review: https://review.openstack.org/303626

Changed in neutron:
status: Confirmed → In Progress
Changed in neutron:
status: In Progress → Triaged
tags: added: rfe-approved
removed: rfe
Changed in neutron:
milestone: none → newton-1
Changed in neutron:
status: Triaged → In Progress
Changed in neutron:
milestone: newton-1 → newton-2

Fix proposed to branch: master
Review: https://review.openstack.org/341186

Changed in neutron:
milestone: newton-2 → newton-3
Changed in neutron:
milestone: newton-3 → newton-rc1
Changed in neutron:
milestone: newton-rc1 → ocata-1

Change abandoned by Armando Migliaccio (<email address hidden>) on branch: master
Review: https://review.openstack.org/341186
Reason: This review is > 4 weeks without comment, and failed Jenkins the last time it was checked. We are abandoning this for now. Feel free to reactivate the review by pressing the restore button and leaving a 'recheck' comment to get fresh test results.

Changed in neutron:
milestone: ocata-1 → ocata-2

Change abandoned by Armando Migliaccio (<email address hidden>) on branch: master
Review: https://review.openstack.org/303626
Reason: This review is > 4 weeks without comment, and failed Jenkins the last time it was checked. We are abandoning this for now. Feel free to reactivate the review by pressing the restore button and leaving a 'recheck' comment to get fresh test results.

Changed in neutron:
milestone: ocata-2 → none

Miguel, do we have steam for the effort still? If not, maybe we should punt the RFE.

Slawek Kaplonski (slaweq) wrote :

Ihar, I'm now working on improved validation of rules https://review.openstack.org/#/c/426946/ and once it will be done we will be able to move forward with this ingress bandwidth limit.
I had patches for it almost done some time ago so I hope it will be not too hard to rebase it and propose once again to review.

Changed in neutron:
assignee: Slawek Kaplonski (slaweq) → Rodolfo Alonso (rodolfo-alonso-hernandez)
Changed in neutron:
assignee: Rodolfo Alonso (rodolfo-alonso-hernandez) → Slawek Kaplonski (slaweq)
description: updated

Fix proposed to branch: master
Review: https://review.openstack.org/457816

Change abandoned by Ihar Hrachyshka (<email address hidden>) on branch: master
Review: https://review.openstack.org/456637

Reviewed: https://review.openstack.org/449831
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=c29f3aaa7c20c89cb1eac818d2981c16fd484ace
Submitter: Jenkins
Branch: master

commit c29f3aaa7c20c89cb1eac818d2981c16fd484ace
Author: Sławek Kapłoński <email address hidden>
Date: Fri Mar 24 22:04:53 2017 +0000

    Add QoS bandwidth limit for instance ingress traffic

    This patch introduces the new parameter "direction" to
    the QoS bandwidth limit rule. It will allow the creation
    of bandwidth limit rules for either ingress or egress
    traffic. For backwards compatibility the default direction
    will be egress.

    DocImpact: Ingress bandwidth limit available for QoS
    APIImpact: New type of parameter for QoS rule in neutron API

    Change-Id: Ia13568879c2b6f80fb190ccafe7e19ca05b0c6a8
    Partial-Bug: #1560961

Changed in neutron:
status: In Progress → Fix Committed
status: Fix Committed → Fix Released

Reviewed: https://review.openstack.org/457816
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=2d0d1a2d76c3383bd1e2d14e8860824d843f5047
Submitter: Jenkins
Branch: master

commit 2d0d1a2d76c3383bd1e2d14e8860824d843f5047
Author: Sławek Kapłoński <email address hidden>
Date: Wed Apr 19 00:40:38 2017 +0200

    Add support for ingress bandwidth limit rules in ovs agent

    Add support for QoS ingress bandwidth limiting in
    openvswitch agent.
    It uses default ovs QoS policies on bandwidth limiting
    mechanism.

    DocImpact: Ingress bandwidth limit in QoS supported by
               Openvswitch agent

    Change-Id: I9d94e27db5d574b61061689dc99f12f095625ca0
    Partial-Bug: #1560961

Reviewed: https://review.openstack.org/475584
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=da646496e3a48d78c13a015b56c187ce9ac9b5ef
Submitter: Jenkins
Branch: master

commit da646496e3a48d78c13a015b56c187ce9ac9b5ef
Author: Sławek Kapłoński <email address hidden>
Date: Mon Jun 19 22:13:37 2017 +0000

    Ingress bandwidth limit rule in Linuxbridge agent

    Add support for QoS ingress bandwidth limiting in
    linuxbridge agent.
    It uses traffic shaping done by tc with tbf qdisc.

    DocImpact: Ingress bandwidth limit in QoS supported by
               Linuxbridge agent

    Change-Id: Id495b302d31f5527db3e45b51517bc53153e7fc2
    Partial-Bug: #1560961

Akihiro Motoki (amotoki) on 2018-02-28
Changed in neutron:
milestone: none → pike-3
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers