Reviewed: https://review.opendev.org/c/openstack/neutron/+/831238 Committed: https://opendev.org/openstack/neutron/commit/132905d81f8799f249936ecb9d56641749df8724 Submitter: "Zuul (22348)" Branch: master
commit 132905d81f8799f249936ecb9d56641749df8724 Author: Rodolfo Alonso Hernandez <[email protected]> Date: Mon Feb 28 17:56:33 2022 +0000 [L3][QoS] L3 agent QoS extension to handle duplicated FIPs The L3 agent QoS extension should be able to handle duplicated floating IP addresses from different registers. Those floating IP addresses can be hosted in different networks and routers but the same compute node and L3 agent. Now, instead of using the IP address as unique identifier, this patch stores the (ID, IP address) tuple. This tuple is unique per floating IP register and holds the IP address, needed by the "tc" library to set the QoS rules. Closes-Bug: #1962465 Change-Id: I3a09718c6e79fd1f37eb75264389c4e5043076a7 ** Changed in: neutron Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1962465 Title: [L3][QoS] FIP QoS extension cannot handle duplicated FIP addresses Status in neutron: Fix Released Bug description: The classes "RouterFipRateLimitMaps" and "RateLimitMaps" (the child and parent classes), cannot handle the case when two FIP addresses, from different networks and routers, are the same. Steps to reproduce: - It is needed a compute node with access to two public networks (for example, two VLAN networks connected to the same physical network). - Each network will have one subnet, both with the same CIDR. - Create private networks, two routers and connect each router to a private and a public network. - Create two FIPs, each one in a different public network. Both FIPs must have the same IP address. - Create two QoS policies with one max-bw rule. - Assign each QoS policy to each FIP --> the members to store the QoS information in the related classes use the FIP address (the IP address string) to identify uniquely the FIP resources. With the explained reproducer, the second FIP will overwrite the first one. For example, if the both QoS policies are detached from the FIPs, we'll have the following message in the L3 agent: DEBUG neutron.agent.l3.extensions.qos.base [-] L3 QoS extension did not have information on floating IP 192.168.20.202 {{(pid=213406) _clean_by_resource /opt/stack/neutron/neutron/agent/l3/extensions/qos/base.py:129}} This is because when the first FIP address is removed from "RouterFipRateLimitMaps.qos_policy_resources", the second one cannot be find. A new way to identify unambiguously the FIPs in the L3 agent QoS extension is needed. To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1962465/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

