[OVN] Provider driver fails while LB VIP port already created

Bug #1860141 reported by Maciej Jozefczyk
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
High
Maciej Jozefczyk

Bug Description

Sometimes there is a RACE condition on creation of VIP port that ends with exception and blocks LB stack creation.

Example error:

2020-01-17 08:57:10.331 24 ERROR octavia.api.drivers.utils [req-a1e64a8e-5971-4b2f-afdf-33e026f193d6 - 968cd882ee5145d4a3e30b9612b0cae0 - default default] Provider 'ovn' raised a driver error: An unknown driver e
rror occurred.: octavia_lib.api.drivers.exceptions.DriverError: ('An unknown driver error occurred.', IpAddressAlreadyAllocatedClient())
2020-01-17 08:57:10.331 24 ERROR octavia.api.drivers.utils Traceback (most recent call last):
2020-01-17 08:57:10.331 24 ERROR octavia.api.drivers.utils File "/usr/lib/python3.6/site-packages/networking_ovn/octavia/ovn_driver.py", line 1843, in create_vip_port
2020-01-17 08:57:10.331 24 ERROR octavia.api.drivers.utils project_id, lb_id, vip_dict)['port']
2020-01-17 08:57:10.331 24 ERROR octavia.api.drivers.utils File "/usr/lib/python3.6/site-packages/networking_ovn/octavia/ovn_driver.py", line 1523, in create_vip_port
2020-01-17 08:57:10.331 24 ERROR octavia.api.drivers.utils return network_driver.neutron_client.create_port(port)
2020-01-17 08:57:10.331 24 ERROR octavia.api.drivers.utils File "/usr/lib/python3.6/site-packages/neutronclient/v2_0/client.py", line 803, in create_port
2020-01-17 08:57:10.331 24 ERROR octavia.api.drivers.utils return self.post(self.ports_path, body=body)
2020-01-17 08:57:10.331 24 ERROR octavia.api.drivers.utils File "/usr/lib/python3.6/site-packages/neutronclient/v2_0/client.py", line 359, in post
2020-01-17 08:57:10.331 24 ERROR octavia.api.drivers.utils headers=headers, params=params)
2020-01-17 08:57:10.331 24 ERROR octavia.api.drivers.utils File "/usr/lib/python3.6/site-packages/neutronclient/v2_0/client.py", line 294, in do_request
2020-01-17 08:57:10.331 24 ERROR octavia.api.drivers.utils self._handle_fault_response(status_code, replybody, resp)
2020-01-17 08:57:10.331 24 ERROR octavia.api.drivers.utils File "/usr/lib/python3.6/site-packages/neutronclient/v2_0/client.py", line 269, in _handle_fault_response
2020-01-17 08:57:10.331 24 ERROR octavia.api.drivers.utils exception_handler_v20(status_code, error_body)
2020-01-17 08:57:10.331 24 ERROR octavia.api.drivers.utils File "/usr/lib/python3.6/site-packages/neutronclient/v2_0/client.py", line 93, in exception_handler_v20
2020-01-17 08:57:10.331 24 ERROR octavia.api.drivers.utils request_ids=request_ids)
2020-01-17 08:57:10.331 24 ERROR octavia.api.drivers.utils neutronclient.common.exceptions.IpAddressAlreadyAllocatedClient: IP address 172.30.188.22 already allocated in subnet 6cdca17f-c896-4684-9feb-6d0aa4aa3cb

Changed in neutron:
assignee: nobody → Maciej Jozefczyk (maciej.jozefczyk)
status: New → Confirmed
tags: added: ovn-octavia-provider
Changed in neutron:
importance: Undecided → High
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/networking-ovn 7.1.0

This issue was fixed in the openstack/networking-ovn 7.1.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to ovn-octavia-provider (master)

Fix proposed to branch: master
Review: https://review.opendev.org/708591

Changed in neutron:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ovn-octavia-provider (master)

Reviewed: https://review.opendev.org/708591
Committed: https://git.openstack.org/cgit/openstack/ovn-octavia-provider/commit/?id=42106d4696aaa8e91e458783b15c90335ff5f7e3
Submitter: Zuul
Branch: master

commit 42106d4696aaa8e91e458783b15c90335ff5f7e3
Author: Maciej Józefczyk <email address hidden>
Date: Fri Jan 17 15:08:27 2020 +0000

    Don't fail if VIP already exist or has been deleted before

    Sometimes there is a race condition on creation of VIP port
    or deleting it that ends with exception and blocks LB stack
    creation / deletion.

    Because for now we don't have running master branch
    for OVN provider driver this change will be applied
    first on stable/train in networking-ovn tree and then cherry-picked.

    Change-Id: I2aaae7c407caba7a57e2ca2d4ed524f3bb63953f
    Closes-Bug: #1860141

Changed in neutron:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.