[RFE] port forwarding floating IP QoS

Bug #1796925 reported by LIU Yulong
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Wishlist
LIU Yulong

Bug Description

Since the port_forwarding l3 agent extension handle it's own floating IPs, I think we can add these IPs to L3 (fip_qos) QoS extension procedure. Let all floating IPs (L3 IPs) can be limited under the QoS policy.

Tags: rfe-approved
tags: added: rfe
Changed in neutron:
importance: Undecided → Wishlist
LIU Yulong (dragon889)
Changed in neutron:
assignee: nobody → LIU Yulong (dragon889)
Revision history for this message
Miguel Lavalle (minsel) wrote :

Would the bandwidth limits apply to the floating IP as a whole, not to the individual forwardings?

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

The IP was set to one device under on one namespace, so IMO, it's better to make the bandwidth to the IP only, aka as a whole, to make it simple. Any forwardings will be restricted under it. For a regular floating IP, we limit the bandwidth no matter the connection type or protocol type. So we can treat the port forwarding like such thing, they are one child `connection` of a floating IP, so they should share the parent's bandwidth.

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

That makes sense (it was my expectation). Let's discuss it tomorrow during drivers meeting

tags: added: rfe-triaged
removed: rfe
Revision history for this message
LIU Yulong (dragon889) wrote :

I'm late for the neutron drivers meeting 2018-11-9.
So, I will explain the further implementation.
Just extends this list with port forwarding floating IPs, then done, : )
https://github.com/openstack/neutron/blob/master/neutron/agent/l3/extensions/qos/fip.py#L251

Revision history for this message
Slawek Kaplonski (slaweq) wrote :

@LIU, so just to be clear, this RFE doesn't require any changes on API side, right? It's only "internal" change in neutron server/L3 agent (mostly L3 agent I think), yes?

How about making this feature discoverable? We would need to propose new shim API extension for it or it will not be necessary?

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

@Slawek,
We need some server change, since current router port forwarding floating IP set does not have enough information, yes it does not contain qos_policy_id, the most critical attribute for fip_qos, current code is here:
https://github.com/openstack/neutron/blob/master/neutron/services/portforwarding/pf_plugin.py#L478-#L488

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

This RFE was discussed today and approved under the following assumptions:

1) This exclusively involves associating QoS policies to floating IPs being used for port forwarding
2) No changes needed in the port forwardings API
3) Good documentation will be added to the change

If assumptions 1 and / or 2 are not met, more discussion of this RFE will be needed

tags: added: rfe-approved
removed: rfe-triaged
Revision history for this message
LIU Yulong (dragon889) wrote :

Hi guys,
FYI, I will work on this RFE, and the patch will be submitted soon.

Revision history for this message
LIU Yulong (dragon889) wrote :
Changed in neutron:
status: New → In Progress
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.openstack.org/633892

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

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

commit e108ac6bdf80f646d1663ad7dd063e6988c111d3
Author: LIU Yulong <email address hidden>
Date: Wed Jan 16 18:48:19 2019 +0800

    Add port forwarding floating IP QoS

    Port forwarding floating IPs QoS should be limited under
    the binding QoS policy. So this patch extends the l3-agent
    fip-qos agent extension floating IP list with the port
    forwarding related IPs.

    Change-Id: Iddabfabafc0803edd1e4ac0893dc188f1907234a
    Closes-Bug: #1796925

Changed in neutron:
status: In Progress → Fix Released
Revision history for this message
Swaminathan Vasudevan (swaminathan-vasudevan) wrote :

Does this have a backport potential?

Revision history for this message
Slawek Kaplonski (slaweq) wrote :

@Swami: I don't think so. It's new feature.

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

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

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

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

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

commit f382631f1c6028eb856257b60c0e99b12ab47368
Author: LIU Yulong <email address hidden>
Date: Wed Jan 30 17:06:14 2019 +0800

    Adds PORT_FORWARDING_FLOATINGIP_KEY

    Let's make the constants to the consistent place.
    Originally from: neutron/services/portforwarding/pf_plugin.py [1].
    This constant will not be not widely used, and it is only for port
    forwarding floating IPs QoS only.

    [1] https://review.openstack.org/#/c/631448/

    Change-Id: I80da2eed0fd8c78e6d15755ac0a4ed79c6f2143b
    Related-Bug: #1796925

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

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

commit d20c73cd2ca05240017fc14441d9fb17ef91955d
Author: LIU Yulong <email address hidden>
Date: Sun Feb 17 21:25:47 2019 +0800

    [Doc] Add note for port forwarding floating IP QoS

    Now all floating IPs will have QoS functionality, so
    adds the doc to users/operators.

    Change-Id: I39c6bfe5c3ee5d0937c5b19deada0a8dcf1716df
    Related-Bug: #1796925

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.