[RFE] Allow instance-ingress bandwidth limiting

Bug #1560961 reported by Miguel Angel Ajo
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
neutron
Fix Released
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)
Changed in neutron:
status: New → Confirmed
importance: Undecided → Wishlist
Revision history for this message
Akihiro Motoki (amotoki) wrote :

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

Revision history for this message
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)
Revision history for this message
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.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

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
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

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
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron (master)

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
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

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
Revision history for this message
Ihar Hrachyshka (ihar-hrachyshka) wrote :

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

Revision history for this message
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.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

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

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
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron (master)

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

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
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

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)
Changed in neutron:
milestone: none → pike-3
no longer affects: cloud-archive
no longer affects: cloud-archive/mitaka
no longer affects: cloud-archive/ocata
no longer affects: neutron (Ubuntu)
no longer affects: neutron (Ubuntu Xenial)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.