[RFE] neutron L3 router gateway IP QoS

Bug #1757044 reported by LIU Yulong
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Wishlist
LIU Yulong

Bug Description

Now neutron L3 router gateway IP has no way to set QoS.

Description
===========
For floating IPs, it can be associated with QoS policy,
and TC rules according to QoS policy with bandwidth limit
rules will be installed in router namespace.

And, neutron can bind qos policy to the gateway port, but
such proposal is to limit the bandwitdh on L2 perspective.
When QoS is bound to the gateway port, all north-south
traffic is restricted. Such restriction is inflexible.

Therefore, we need to provide an alternative method in the view
of L3. Aka, allowing bind QoS to router gateway IP.

Proposed Change
===============
models:
QosPolicyRouterGatewayIPBinding

API update router gateway json:
    {
    router": {
      "external_gateway_info": {
        ...
        "qos_policy_id": "a-uuid"
        }
      }
    }

Original RFE
============
[RFE] Create L3 IPs with qos (rate limit)
https://bugs.launchpad.net/neutron/+bug/1596611

LIU Yulong (dragon889)
Changed in neutron:
assignee: nobody → LIU Yulong (dragon889)
LIU Yulong (dragon889)
Changed in neutron:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron-lib (master)

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

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

Related fix proposed to branch: master
Review: https://review.openstack.org/568410

Revision history for this message
LIU Yulong (dragon889) wrote :

Changes:

[L3][QoS] Neutron server side router gateway IP QoS
https://review.openstack.org/#/c/424468/

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

Reviewed: https://review.openstack.org/568410
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=5e59cd2a5fcac205e3452efa20a1738c54834520
Submitter: Zuul
Branch: master

commit 5e59cd2a5fcac205e3452efa20a1738c54834520
Author: LIU Yulong <email address hidden>
Date: Mon May 14 14:16:26 2018 +0800

    Refactor for L3 router QoS extensions

    Move the l3 qos extensions to a separated folder,
    then we can move a following up router gateway IP
    QoS extension to it.

    And also extract some common code to a base class.

    Related-Bug: #1757044
    Change-Id: I63cc9506caa80f889ad817444281a0ac31bc9418

tags: added: neutron-proactive-backport-potential
tags: added: qos
removed: neutron-proactive-backport-potential
tags: added: rfe
Miguel Lavalle (minsel)
tags: added: rfe-confirmed
removed: rfe
Revision history for this message
Miguel Lavalle (minsel) wrote :
tags: added: rfe-triaged
removed: rfe-confirmed
Miguel Lavalle (minsel)
Changed in neutron:
importance: Undecided → Wishlist
Revision history for this message
Miguel Lavalle (minsel) wrote :

@Liu Yulong

This RFE was discussed during today's drivers meeting. We would like clarification as to what is the use case you have in mind:

1) Is this targeting snat traffic
2) What about other traffic using the gateway IP, like VPNaaS? Is this traffic also targeted?

Revision history for this message
Miguel Lavalle (minsel) wrote :

@Liu Yulong,

Any response to our questions?

Revision history for this message
LIU Yulong (dragon889) wrote :

@Miguel Lavalle,
Sorry for the late reply.
Q: Is this targeting snat traffic
A: Yes, this is for snat traffic. For those instances without floating IP, the snat traffic bandwidth should be limited under a reasonable range. The export bandwidth is not unlimited for a cloud deployment.

Q: What about other traffic using the gateway IP, like VPNaaS? Is this traffic also targeted?
For vpn, if the peer connections were using the gateway IP, the taffic will be restricted by this RFE.

Revision history for this message
Miguel Lavalle (minsel) wrote :

This RFE was discussed and approved on July 2oth. Thanks for this contribution!

tags: added: rfe-approved
removed: rfe-triaged
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to neutron-lib (master)

Reviewed: https://review.openstack.org/567497
Committed: https://git.openstack.org/cgit/openstack/neutron-lib/commit/?id=7124d76e77e9a07c4e838c7dfd7ec9242ca19d0c
Submitter: Zuul
Branch: master

commit 7124d76e77e9a07c4e838c7dfd7ec9242ca19d0c
Author: LIU Yulong <email address hidden>
Date: Wed May 9 18:31:23 2018 +0800

    Adds qos-gateway-ip extension api definition

    This patch adds the qos-gateway-ip extension's API definition into
    neutron-lib.

    Related-Bug: #1757044
    Change-Id: I815bc60f0d0fc25c2acd9900d838806f8b81adff

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/621068

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

Reviewed: https://review.openstack.org/424468
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=00bf365025772d423eea7da1ddbb6211ab757aed
Submitter: Zuul
Branch: master

commit 00bf365025772d423eea7da1ddbb6211ab757aed
Author: LIU Yulong <email address hidden>
Date: Thu Apr 28 13:17:08 2016 +0800

    [L3][QoS] Neutron server side router gateway IP QoS

    This patch enables to bind a QoS policy to the router gateway,
    then in L3 agent side SNAT traffic for the VMs without floating
    IPs can be limited under the policy bandwidth rules. This is
    suit for all kinds of L3 routers: DVR, DVR with SNAT HA, L3 HA
    and Legacy.

    API update router gateway json:
    {
    router": {
      "external_gateway_info": {
        ...
        "qos_policy_id": "policy-uuid"
        }
      }
    }

    Depends-On: https://review.openstack.org/#/c/567497/

    Partially-Implements blueprint: router-gateway-ip-qos
    Closes-Bug: #1757044
    Related-Bug: #1596611
    Change-Id: I26e22bce7edd1f93b2ac0048b61b14f858938537

Changed in neutron:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Reviewed: https://review.openstack.org/568526
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=cd3cc7e9087dc7ee0e6833d806da9a1896ede54c
Submitter: Zuul
Branch: master

commit cd3cc7e9087dc7ee0e6833d806da9a1896ede54c
Author: LIU Yulong <email address hidden>
Date: Mon May 14 15:00:29 2018 +0800

    [L3][QoS] Agent side router gateway IP rate limit

    This patch implements the L3 agent side router gateway IP rate
    limit. For routers in centralized snat node (network node),
    the tc rules will be set on the corresponding device in router
    namespace:
        1. Legacy and HA router, qrouter-namespace and qg-device
        2. Dvr (edge) router, snat namespace and qg-device

    If gateway IP rate limit was set, then under the same router,
    all the VMs without floating IP will share the bandwidth.

    Partially-Implements blueprint: router-gateway-ip-qos
    Closes-Bug: #1757044
    Change-Id: Ie92ff0d4df0e85ce71c7d50f34ea6ff973812af8

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Reviewed: https://review.openstack.org/621068
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=c4061f4a78851bebbe11368d7815b949c10e18ea
Submitter: Zuul
Branch: master

commit c4061f4a78851bebbe11368d7815b949c10e18ea
Author: LIU Yulong <email address hidden>
Date: Thu Oct 25 10:27:31 2018 +0800

    [Doc] L3 router gateway IP rate limit

    Adds L3 router gateway IP QoS config guide for users.

    Partially-Implements blueprint: router-gateway-ip-qos
    Closes-Bug: #1757044

    Change-Id: Ie5abc1bad47caba8d1fef42c2e5c7c8df6cc9c2b

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 14.0.0.0b1

This issue was fixed in the openstack/neutron 14.0.0.0b1 development milestone.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/python-openstackclient 3.18.0

This issue was fixed in the openstack/python-openstackclient 3.18.0 release.

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

Related fix proposed to branch: master
Review: https://review.opendev.org/c/openstack/neutron-lib/+/835357

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

Reviewed: https://review.opendev.org/c/openstack/neutron-lib/+/835357
Committed: https://opendev.org/openstack/neutron-lib/commit/7ae8e7444d9731763cea33c0006bb24a0141edb5
Submitter: "Zuul (22348)"
Branch: master

commit 7ae8e7444d9731763cea33c0006bb24a0141edb5
Author: elajkat <email address hidden>
Date: Sat Mar 26 10:57:04 2022 +0100

    Doc: Add router gateway IP QoS to api-ref

    Change-Id: I297e157ca57f5a7724b14b3016d12660e138c8ca
    Related-Bug: #1757044

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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