← Back to team overview

yahoo-eng-team team mailing list archive

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

 

Public bug reported:

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.

** Affects: neutron
     Importance: Undecided
     Assignee: Fernando Royo (froyoredhat)
         Status: In Progress


** Tags: ovn-octavia-provider

** Changed in: neutron
     Assignee: (unassigned) => Fernando Royo (froyoredhat)

-- 
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:
  In Progress

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



Follow ups