Bug 2142592 - AttributeError when deleting a LB using --cascade option
Summary: AttributeError when deleting a LB using --cascade option
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: ovn-bgp-agent
Version: 17.1 (Wallaby)
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: beta
: 17.1
Assignee: Luis Tomas Bolivar
QA Contact: Eduardo Olivares
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-11-14 14:18 UTC by Eduardo Olivares
Modified: 2023-08-16 01:13 UTC (History)
3 users (show)

Fixed In Version: ovn-bgp-agent-0.3.1-1.20221116111131.4e87e63.el9ost
Doc Type: No Doc Update
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-08-16 01:12:44 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 864278 0 None MERGED Fix loadbalancer cascade deletion 2022-11-14 14:32:08 UTC
Red Hat Issue Tracker OSP-20154 0 None None None 2022-11-14 14:25:59 UTC
Red Hat Product Errata RHEA-2023:4577 0 None None None 2023-08-16 01:13:02 UTC

Description Eduardo Olivares 2022-11-14 14:18:43 UTC
Description of problem:
When the following commands are executed, an exception is raised by the ovn-bgp-agent:

   openstack loadbalancer create --name provider-ovn-lbs --provider ovn --vip-subnet-id subnet-provider-flat --wait
   openstack loadbalancer listener create --name provider-ovn-lb-listener --protocol TCP --protocol-port 80 provider-ovn-lbs --wait                                                                                                     
   openstack loadbalancer pool create --name provider-ovn-lb-pool --protocol TCP --listener provider-ovn-lb-listener --lb-algorithm SOURCE_IP_PORT --wait
   openstack loadbalancer member create --name provider-ovn-lb-member --address "20.0.0.100" --subnet-id private-subnet --protocol-port 80 provider-ovn-lb-pool
 
   # the exception is raised when the following command is run
   openstack loadbalancer delete provider-ovn-lbs --cascade
 

Traceback:
2022-11-10T14:38:37.089706994+00:00 stdout F 2022-11-10 14:38:37.089 92398 DEBUG oslo_concurrency.lockutils [-] Lock "bgp" released by "ovn_bgp_agent.drivers.openstack.ovn_bgp_driver.OVNBGPDriver.withdraw_ip" :: held 0.001s inner /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:367ESC[00m
2022-11-10T14:38:40.588511691+00:00 stdout F 2022-11-10 14:38:40.586 92398 DEBUG ovsdbapp.backend.ovs_idl.event [-] Matched DELETE: OVNLBMemberUpdateEvent(events=('update', 'delete'), table='Load_Balancer', conditions=None, old_conditions=None) to row=Load_Balancer(external_ids={'lb_id': '827d4cee-b411-492f-bca3-f047608f90b9'}, name=9c5de2d7-002c-4a7a-9d46-9f304b71583d, datapaths=[<ovs.db.idl.Row object at 0x7fdc1deee9a0>, <ovs.db.idl.Row object at 0x7fdc3c085df0>], vips={'172.24.100.151:80': '20.0.0.100:80'}, protocol=['tcp'], options={'hairpin_orig_tuple': 'true'}) old= matches /usr/lib/python3.9/site-packages/ovsdbapp/backend/ovs_idl/event.py:43ESC[00m
2022-11-10T14:38:40.589805771+00:00 stdout F 2022-11-10 14:38:40.588 92398 ERROR ovsdbapp.event [-] Unexpected exception in notify_loop: AttributeError: 'NoneType' object has no attribute 'datapaths'
2022-11-10T14:38:40.589805771+00:00 stdout F 2022-11-10 14:38:40.588 92398 ERROR ovsdbapp.event Traceback (most recent call last):
2022-11-10T14:38:40.589805771+00:00 stdout F 2022-11-10 14:38:40.588 92398 ERROR ovsdbapp.event   File "/usr/lib/python3.9/site-packages/ovsdbapp/event.py", line 159, in notify_loop
2022-11-10T14:38:40.589805771+00:00 stdout F 2022-11-10 14:38:40.588 92398 ERROR ovsdbapp.event     match.run(event, row, updates)
2022-11-10T14:38:40.589805771+00:00 stdout F 2022-11-10 14:38:40.588 92398 ERROR ovsdbapp.event   File "/usr/lib/python3.9/site-packages/ovn_bgp_agent/drivers/openstack/watchers/bgp_watcher.py", line 299, in run
2022-11-10T14:38:40.589805771+00:00 stdout F 2022-11-10 14:38:40.588 92398 ERROR ovsdbapp.event     match_subnets_datapaths = [
2022-11-10T14:38:40.589805771+00:00 stdout F 2022-11-10 14:38:40.588 92398 ERROR ovsdbapp.event   File "/usr/lib/python3.9/site-packages/ovn_bgp_agent/drivers/openstack/watchers/bgp_watcher.py", line 302, in <listcomp>
2022-11-10T14:38:40.589805771+00:00 stdout F 2022-11-10 14:38:40.588 92398 ERROR ovsdbapp.event     if subnet_dp in row.datapaths or subnet_dp in old.datapaths]
2022-11-10T14:38:40.589805771+00:00 stdout F 2022-11-10 14:38:40.588 92398 ERROR ovsdbapp.event AttributeError: 'NoneType' object has no attribute 'datapaths'
2022-11-10T14:38:40.589805771+00:00 stdout F 2022-11-10 14:38:40.588 92398 ERROR ovsdbapp.event ESC[00m
2022-11-10T14:38:44.193719712+00:00 stdout F 2022-11-10 14:38:44.192 92398 DEBUG ovsdbapp.backend.ovs_idl.event [-] Matched DELETE: OVNLBMemberUpdateEvent(events=('update', 'delete'), table='Load_Balancer', conditions=None, old_conditions=None) to row=Load_Balancer(external_ids={'lb_id': '1b2cc48a-0f38-44db-ad41-a09d5d83bdf6'}, name=9892d8ee-6a76-4894-91fc-15fdad4166aa, datapaths=[<ovs.db.idl.Row object at 0x7fdc1deee9a0>, <ovs.db.idl.Row object at 0x7fdc3c085df0>], vips={'[2001:db8::f816:3eff:fe15:a267]:80': '[fdaa:4ad8:e8fb:0:f816:3eff:fe78:f964]:80'}, protocol=['tcp'], options={'hairpin_orig_tuple': 'true'}) old= matches /usr/lib/python3.9/site-packages/ovsdbapp/backend/ovs_idl/event.py:43ESC[00m
2022-11-10T14:38:44.195464433+00:00 stdout F 2022-11-10 14:38:44.194 92398 ERROR ovsdbapp.event [-] Unexpected exception in notify_loop: AttributeError: 'NoneType' object has no attribute 'datapaths'
2022-11-10T14:38:44.195464433+00:00 stdout F 2022-11-10 14:38:44.194 92398 ERROR ovsdbapp.event Traceback (most recent call last):
2022-11-10T14:38:44.195464433+00:00 stdout F 2022-11-10 14:38:44.194 92398 ERROR ovsdbapp.event   File "/usr/lib/python3.9/site-packages/ovsdbapp/event.py", line 159, in notify_loop
2022-11-10T14:38:44.195464433+00:00 stdout F 2022-11-10 14:38:44.194 92398 ERROR ovsdbapp.event     match.run(event, row, updates)
2022-11-10T14:38:44.195464433+00:00 stdout F 2022-11-10 14:38:44.194 92398 ERROR ovsdbapp.event   File "/usr/lib/python3.9/site-packages/ovn_bgp_agent/drivers/openstack/watchers/bgp_watcher.py", line 299, in run
2022-11-10T14:38:44.195464433+00:00 stdout F 2022-11-10 14:38:44.194 92398 ERROR ovsdbapp.event     match_subnets_datapaths = [
2022-11-10T14:38:44.195464433+00:00 stdout F 2022-11-10 14:38:44.194 92398 ERROR ovsdbapp.event   File "/usr/lib/python3.9/site-packages/ovn_bgp_agent/drivers/openstack/watchers/bgp_watcher.py", line 302, in <listcomp>
2022-11-10T14:38:44.195464433+00:00 stdout F 2022-11-10 14:38:44.194 92398 ERROR ovsdbapp.event     if subnet_dp in row.datapaths or subnet_dp in old.datapaths]
2022-11-10T14:38:44.195464433+00:00 stdout F 2022-11-10 14:38:44.194 92398 ERROR ovsdbapp.event AttributeError: 'NoneType' object has no attribute 'datapaths'

Comment 1 Luis Tomas Bolivar 2022-11-14 14:28:59 UTC
Fix https://review.opendev.org/c/x/ovn-bgp-agent/+/864278

Comment 16 errata-xmlrpc 2023-08-16 01:12:44 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Release of components for Red Hat OpenStack Platform 17.1 (Wallaby)), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2023:4577


Note You need to log in before you can comment on or make changes to this bug.