← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1959903] Re: ovn-octavia loadbalancer not working when VIP is on a dual-stack provider network

 

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

commit 1ac25e88140cd0fc2111fe0c91cb7162e2d8399a
Author: Luis Tomas Bolivar <ltomasbo@xxxxxxxxxx>
Date:   Thu Feb 3 14:48:39 2022 +0100

    Allow to create ovn loadbalancer on dual-stack provider networks
    
    This patch ensures that loadbalancer can be created with the VIP
    on the provider networks when they are dual-stack (ipv4 and ipv6
    subnets).
    
    Closes-Bug: #1959903
    Change-Id: Ic0e6c02defb5c98791a3c3d99ff2b7cfc0ccfe2e


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

Title:
  ovn-octavia loadbalancer not working when VIP is on a dual-stack
  provider network

Status in neutron:
  Fix Released

Bug description:
  If an octavia loadbalancer is created with OVN provider, on a provider
  network which has dual-stack (ipv4 and ipv6 subnets), the next error
  happens:

  2022-02-03 09:19:04.234 12 ERROR ovn_octavia_provider.helper [-] Exception occurred during creation of loadbalancer: ValueError: IPAddress() does not support netmasks or subnet prefixes! See documentation for details.
  2022-02-03 09:19:04.234 12 ERROR ovn_octavia_provider.helper Traceback (most recent call last):
  2022-02-03 09:19:04.234 12 ERROR ovn_octavia_provider.helper   File "/usr/lib/python3.6/site-packages/netaddr/ip/__init__.py", line 803, in parse_ip_network
  2022-02-03 09:19:04.234 12 ERROR ovn_octavia_provider.helper     prefixlen = int(val2)
  2022-02-03 09:19:04.234 12 ERROR ovn_octavia_provider.helper ValueError: invalid literal for int() with base 10: '24 2001:db8::f816:3eff:fed5:a9e1/64'
  2022-02-03 09:19:04.234 12 ERROR ovn_octavia_provider.helper 
  2022-02-03 09:19:04.234 12 ERROR ovn_octavia_provider.helper During handling of the above exception, another exception occurred:
  2022-02-03 09:19:04.234 12 ERROR ovn_octavia_provider.helper 
  2022-02-03 09:19:04.234 12 ERROR ovn_octavia_provider.helper Traceback (most recent call last):
  2022-02-03 09:19:04.234 12 ERROR ovn_octavia_provider.helper   File "/usr/lib/python3.6/site-packages/ovn_octavia_provider/helper.py", line 873, in lb_create
  2022-02-03 09:19:04.234 12 ERROR ovn_octavia_provider.helper     ovn_lr = self._find_lr_of_ls(ovn_ls, subnet.get('gateway_ip'))
  2022-02-03 09:19:04.234 12 ERROR ovn_octavia_provider.helper   File "/usr/lib/python3.6/site-packages/ovn_octavia_provider/helper.py", line 640, in _find_lr_of_ls
  2022-02-03 09:19:04.234 12 ERROR ovn_octavia_provider.helper     port.external_ids['neutron:cidrs']).ip
  2022-02-03 09:19:04.234 12 ERROR ovn_octavia_provider.helper   File "/usr/lib/python3.6/site-packages/netaddr/ip/__init__.py", line 928, in __init__
  2022-02-03 09:19:04.234 12 ERROR ovn_octavia_provider.helper     implicit_prefix, flags)
  2022-02-03 09:19:04.234 12 ERROR ovn_octavia_provider.helper   File "/usr/lib/python3.6/site-packages/netaddr/ip/__init__.py", line 810, in parse_ip_network
  2022-02-03 09:19:04.234 12 ERROR ovn_octavia_provider.helper     mask = IPAddress(val2, module.version, flags=INET_PTON)
  2022-02-03 09:19:04.234 12 ERROR ovn_octavia_provider.helper   File "/usr/lib/python3.6/site-packages/netaddr/ip/__init__.py", line 280, in __init__
  2022-02-03 09:19:04.234 12 ERROR ovn_octavia_provider.helper     % self.__class__.__name__)
  2022-02-03 09:19:04.234 12 ERROR ovn_octavia_provider.helper ValueError: IPAddress() does not support netmasks or subnet prefixes! See documentation for details.
  2022-02-03 09:19:04.234 12 ERROR ovn_octavia_provider.helper 
  2022-02-03 09:19:04.942 12 WARNING ovn_octavia_provider.helper [-] Deleting the VIP port 7b6bc45c-ff51-45e3-81ef-7b596528ff44 since LB went into ERROR state

  
  This is due to logical ports associated to the provider network logical switch have both ipv4 and ipv6 into the "neutron:cidrs" field at external_ids:
  ovn-nbctl list logical_switch_port 0016d6d0-b8cb-4542-b6fe-840740eef9f0
  _uuid               : 0016d6d0-b8cb-4542-b6fe-840740eef9f0
  addresses           : [router]
  dhcpv4_options      : []
  dhcpv6_options      : []
  dynamic_addresses   : []
  enabled             : true
  external_ids        : {"neutron:cidrs"="172.24.100.198/24 2001:db8::f816:3eff:fed5:a9e1/64", "neutron:device_id"="142845e4-3424-4b19-a02a-6bfed63efb8f", "neutron:device_owner"="network:router_gateway", "neutron:network_name"=neutron-b1f7e9be-2c18-4f68-9253-ca2bcbb904a1, "neutron:port_name"="", "neutron:project_id"="", "neutron:revision_number"="5", "neutron:security_group_ids"="", "neutron_bgpvpn:as"="64999", "neutron_bgpvpn:vni"="1001"}
  ha_chassis_group    : []
  name                : "6b7aa199-b715-4585-a88b-30f276961995"
  options             : {nat-addresses=router, router-port=lrp-6b7aa199-b715-4585-a88b-30f276961995}
  parent_name         : []
  port_security       : []
  tag                 : []
  tag_request         : []
  type                : router
  up                  : true

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



References