← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2036620] Re: [ovn-octavia-provider] Fix issue when LRP has more than one address

 

Reviewed:  https://review.opendev.org/c/openstack/ovn-octavia-provider/+/895826
Committed: https://opendev.org/openstack/ovn-octavia-provider/commit/983ee0c4f31413904b2f1c2b3a655a32cba70401
Submitter: "Zuul (22348)"
Branch:    master

commit 983ee0c4f31413904b2f1c2b3a655a32cba70401
Author: Fernando Royo <froyo@xxxxxxxxxx>
Date:   Tue Sep 19 17:56:23 2023 +0200

    Check multiple address of a LRP plugged to LS
    
    When LB or member is created, driver looks for the Logical Router which
    is plugged to the Logical Switch. As there can be more than one address
    on the port, we should iterate over them to be compared with the gateway
    IP.
    
    This patch modifies code to do not crash if more than one address is
    found in neutron:cidrs external_ids field.
    
    Closes-Bug: 2036620
    Change-Id: I17b2c2577a4d99455c30ca1e10632a7004d7c084


** 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/2036620

Title:
  [ovn-octavia-provider] Fix issue when LRP has more than one address

Status in neutron:
  Fix Released

Bug description:
  When a LB is created or a new backend member is attached the OVN
  provider will search for the LRP attached to the LS where the LB is
  created, in order to associate this new LB to the LR. An exception is
  triggered if the LRP has more than one address, because current code
  can't find the port.

  e.g a LRP with this neutron:cidrs in external_id field '10.10.10.1/24
  fd8b:8a01:ab1d:0:f816:3eff:fe3d:24ab/64' will trigger this exception:

  During handling of the above exception, another exception occurred:

  
      Traceback (most recent call last):

        File "/home/froyo/Documentos/gitprojects/ovn-octavia-provider/.tox/py/lib/python3.10/site-packages/neutron/tests/base.py", line 178, in func
      return f(self, *args, **kwargs)

        File "/home/froyo/Documentos/gitprojects/ovn-octavia-provider/ovn_octavia_provider/tests/unit/test_helper.py", line 2629, in test__find_lr_of_ls_multiple_address
      returned_lr = self.helper._find_lr_of_ls(ls, '10.10.10.1')

        File "/home/froyo/Documentos/gitprojects/ovn-octavia-provider/ovn_octavia_provider/helper.py", line 804, in _find_lr_of_ls
      port_cidr = netaddr.IPNetwork(

        File "/home/froyo/Documentos/gitprojects/ovn-octavia-provider/.tox/py/lib/python3.10/site-packages/netaddr/ip/__init__.py", line 942, in __init__
      value, prefixlen = parse_ip_network(module, addr,

        File "/home/froyo/Documentos/gitprojects/ovn-octavia-provider/.tox/py/lib/python3.10/site-packages/netaddr/ip/__init__.py", line 818, in parse_ip_network
      mask = IPAddress(val2, module.version, flags=INET_PTON)

        File "/home/froyo/Documentos/gitprojects/ovn-octavia-provider/.tox/py/lib/python3.10/site-packages/netaddr/ip/__init__.py", line 278, in __init__
      raise ValueError('%s() does not support netmasks or subnet' \

      ValueError: IPAddress() does not support netmasks or subnet
  prefixes! See documentation for details.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/2036620/+subscriptions



References