← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1866087] Re: [OVN Octavia Provider] Deleting of listener fails

 

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

commit af2b26afe68645e33e2fb7e14e8afe6c7bc2063c
Author: Maciej JJózefczyk <mjozefcz@xxxxxxxxxx>
Date:   Wed Mar 4 15:03:15 2020 +0000

    Do not try to refresh vips on OVN LB that will be deleted
    
    When there are multiple listeners with different protocols
    configured on OVN LB, and one of listeners needs to be deleted,
    there is no need to refresh vips on given OVN LB.
    If there are no listners withing same protocol left the given OVN
    LB could be deleted and there is no need to refresh vips then.
    
    Change-Id: If15f817617facade10005878c8dfc7f467ce75a9
    Closes-Bug: 1866087


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

Title:
  [OVN Octavia Provider] Deleting of listener fails

Status in neutron:
  Fix Released

Bug description:
  Sometimes, while removing a listener the command fails with log below.

  The problem has been recently found on OVN octavia provider gate.

  
  Mar 04 14:44:18 mjozefcz-ovn-provider-master devstack@o-api.service[30146]: DEBUG ovsdbapp.backend.ovs_idl.transaction [-] Running txn n=1 command(idx=0): DbRemoveCommand(table=Load_Balancer, record=86c3b5dc-5ec7-48c0-9fe7-d67fc78ef084, co
  Mar 04 14:44:18 mjozefcz-ovn-provider-master devstack@o-api.service[30146]: DEBUG ovsdbapp.backend.ovs_idl.transaction [-] Running txn n=1 command(idx=1): LbDelCommand(lb=86c3b5dc-5ec7-48c0-9fe7-d67fc78ef084, vip=None, if_exists=False) {{(
  Mar 04 14:44:18 mjozefcz-ovn-provider-master devstack@o-api.service[30146]: DEBUG ovsdbapp.backend.ovs_idl.transaction [-] Running txn n=1 command(idx=2): DbClearCommand(table=Load_Balancer, record=86c3b5dc-5ec7-48c0-9fe7-d67fc78ef084, col
  Mar 04 14:44:18 mjozefcz-ovn-provider-master devstack@o-api.service[30146]: ERROR ovsdbapp.backend.ovs_idl.transaction [-] Traceback (most recent call last):
  Mar 04 14:44:18 mjozefcz-ovn-provider-master devstack@o-api.service[30146]:   File "/usr/local/lib/python3.6/dist-packages/ovsdbapp/backend/ovs_idl/connection.py", line 122, in run
  Mar 04 14:44:18 mjozefcz-ovn-provider-master devstack@o-api.service[30146]:     txn.results.put(txn.do_commit())
  Mar 04 14:44:18 mjozefcz-ovn-provider-master devstack@o-api.service[30146]:   File "/usr/local/lib/python3.6/dist-packages/ovsdbapp/backend/ovs_idl/transaction.py", line 86, in do_commit
  Mar 04 14:44:18 mjozefcz-ovn-provider-master devstack@o-api.service[30146]:     command.run_idl(txn)
  Mar 04 14:44:18 mjozefcz-ovn-provider-master devstack@o-api.service[30146]:   File "/usr/local/lib/python3.6/dist-packages/ovsdbapp/backend/ovs_idl/command.py", line 182, in run_idl
  Mar 04 14:44:18 mjozefcz-ovn-provider-master devstack@o-api.service[30146]:     record = self.api.lookup(self.table, self.record)
  Mar 04 14:44:18 mjozefcz-ovn-provider-master devstack@o-api.service[30146]:   File "/usr/local/lib/python3.6/dist-packages/ovsdbapp/backend/ovs_idl/__init__.py", line 107, in lookup
  Mar 04 14:44:18 mjozefcz-ovn-provider-master devstack@o-api.service[30146]:     return self._lookup(table, record)
  Mar 04 14:44:18 mjozefcz-ovn-provider-master devstack@o-api.service[30146]:   File "/usr/local/lib/python3.6/dist-packages/ovsdbapp/backend/ovs_idl/__init__.py", line 151, in _lookup
  Mar 04 14:44:18 mjozefcz-ovn-provider-master devstack@o-api.service[30146]:     row = idlutils.row_by_value(self, rl.table, rl.column, record)
  Mar 04 14:44:18 mjozefcz-ovn-provider-master devstack@o-api.service[30146]:   File "/usr/local/lib/python3.6/dist-packages/ovsdbapp/backend/ovs_idl/idlutils.py", line 65, in row_by_value
  Mar 04 14:44:18 mjozefcz-ovn-provider-master devstack@o-api.service[30146]:     raise RowNotFound(table=table, col=column, match=match)
  Mar 04 14:44:18 mjozefcz-ovn-provider-master devstack@o-api.service[30146]: ovsdbapp.backend.ovs_idl.idlutils.RowNotFound: Cannot find Load_Balancer with name=86c3b5dc-5ec7-48c0-9fe7-d67fc78ef084
  Mar 04 14:44:18 mjozefcz-ovn-provider-master devstack@o-api.service[30146]

  
  Looks like in this situation the LB had multiple protocols configured (TCP and UDP). While removing fist listener from the LB the one of created OVN LB rows needs to be deleted, but then driver wants to update the vip entries on it. That is not needed.

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


References