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

commit 1a62902b5601c764da659f13242131828b4078ca
Author: Fernando Royo <[email protected]>
Date:   Mon Feb 14 19:56:20 2022 +0100

    Retry logical switch associations to load balancers
    
    On load-balancer creation, or other operations related to association
    of the load balancer to the logical router, all logical switches
    associated with the logical router in the target network are also
    associated with the load-balancer.  When the topology includes multiple
    subnets, it may happen that the operation over the load-balancer match
    in time with the removal of some of the subnets.
    
    The creation of the load-balancer is a transactional atomic
    process. This patch is splitting such transactions and retrying
    in case of the above error. In case the attempts are exhausted and the
    error remains, we evaluate command by command, in case LsLbAdd or
    LsLbDel of an Ls associated to the Lr, we can omit the error and go
    forward.
    
    Closes-Bug: #1963921
    
    Change-Id: I2c7e0c677f0687990bbd71b3f8d511051dbe0359


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

Title:
  Load balancer creation often failing due to logical switch not found

Status in neutron:
  Fix Released

Bug description:
  It seems possible that a load-balancer creation was triggered while
  multiple Subnets were being deleted, causing an exception of logical
  switch not found and moving the load-balancer to ERROR state.

  2022-02-10 14:48:49.115 16 ERROR ovsdbapp.backend.ovs_idl.transaction [-] 
Traceback (most recent call last):
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver [-] 
Exception occurred during creation of loadbalancer: 
ovsdbapp.backend.ovs_idl.idlutils.RowNotFound: Cannot find Logical_Switch with 
name=neutron-6fa06cae-0145-4571-9919-0541f0bea93a
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver Traceback 
(most recent call last):
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver   File 
"/usr/lib/python3.6/site-packages/ovsdbapp/api.py", line 111, in transaction
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver     yield 
self._nested_txns_map[cur_thread_id]
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver KeyError: 
139860903978752
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver 
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver During 
handling of the above exception, another exception occurred:
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver 
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver Traceback 
(most recent call last):
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver   File 
"/usr/lib/python3.6/site-packages/networking_ovn/octavia/ovn_driver.py", line 
1033, in lb_create
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver     
self._execute_commands(commands)
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver   File 
"/usr/lib/python3.6/site-packages/networking_ovn/octavia/ovn_driver.py", line 
626, in _execute_commands
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver     
txn.add(command)
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver   File 
"/usr/lib64/python3.6/contextlib.py", line 88, in __exit__
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver     
next(self.gen)
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver   File 
"/usr/lib/python3.6/site-packages/networking_ovn/ovsdb/impl_idl_ovn.py", line 
252, in transaction
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver     yield t
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver   File 
"/usr/lib64/python3.6/contextlib.py", line 88, in __exit__
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver     
next(self.gen)
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver   File 
"/usr/lib/python3.6/site-packages/ovsdbapp/api.py", line 119, in transaction
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver     del 
self._nested_txns_map[cur_thread_id]
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver   File 
"/usr/lib/python3.6/site-packages/ovsdbapp/api.py", line 69, in __exit__
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver     
self.result = self.commit()
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver   File 
"/usr/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/transaction.py", 
line 62, in commit
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver     raise 
result.ex
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver   File 
"/usr/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/connection.py", line 
128, in run
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver     
txn.results.put(txn.do_commit())
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver   File 
"/usr/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/transaction.py", 
line 86, in do_commit
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver     
command.run_idl(txn)
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver   File 
"/usr/lib/python3.6/site-packages/ovsdbapp/schema/ovn_northbound/commands.py", 
line 1159, in run_idl
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver     ls = 
self.api.lookup('Logical_Switch', self.switch)
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver   File 
"/usr/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/__init__.py", line 
172, in lookup
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver     return 
self._lookup(table, record)
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver   File 
"/usr/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/__init__.py", line 
215, in _lookup
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver     row = 
idlutils.row_by_value(self, rl.table, rl.column, record)
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver   File 
"/usr/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/idlutils.py", line 
130, in row_by_value
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver     raise 
RowNotFound(table=table, col=column, match=match)
  2022-02-10 14:48:49.115 16 ERROR networking_ovn.octavia.ovn_driver 
ovsdbapp.backend.ovs_idl.idlutils.RowNotFound: Cannot find Logical_Switch with 
name=neutron-6fa06cae-0145-4571-9919-0541f0bea93a

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


-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to