← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1962465] [NEW] [L3][QoS] FIP QoS extension cannot handle duplicated FIP addresses

 

Public bug reported:

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.

** Affects: neutron
     Importance: Undecided
     Assignee: Rodolfo Alonso (rodolfo-alonso-hernandez)
         Status: New

** Changed in: neutron
     Assignee: (unassigned) => Rodolfo Alonso (rodolfo-alonso-hernandez)

-- 
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:
  New

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



Follow ups