Reviewed:  https://review.opendev.org/c/openstack/neutron/+/944387
Committed: 
https://opendev.org/openstack/neutron/commit/d52c22bbac140170aad60b231d648102767cb2f4
Submitter: "Zuul (22348)"
Branch:    master

commit d52c22bbac140170aad60b231d648102767cb2f4
Author: Rodolfo Alonso Hernandez <ralon...@redhat.com>
Date:   Fri Mar 14 04:40:53 2025 +0000

    [OVN] Do not delete twice the agent from the cache
    
    When a delete agent command is issued, the API worker that attends
    the API call, it issues an OVN SB ``SB_Global`` event to inform any
    other worker about the deletion of the agent, thus they can delete
    the agent from their local OVN agent cache.
    
    The problem is that this event is also received by the worker that
    is sending it. Because the call that is generating the event is also
    deleting the agent [1], this worker tries to delete the agent twice;
    the second time, it generates a KeyError exception in the local OVN
    agent cache.
    
    The code added in [1] should be deleted.
    
    
[1]https://review.opendev.org/c/openstack/neutron/+/883607/3/neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py#1421
    
    Closes-Bug: #2102645
    Change-Id: Ie391af5a3b226cbd33f7162a3c970d636fcdf1da


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

Title:
  [OVN] OVN agent deletion raises an error in the agent cache

Status in neutron:
  Fix Released

Bug description:
  When an OVN agent is deleted, the following exception is raised:
  """
  ERROR neutron_lib.callbacks.manager Traceback (most recent call last):
  ERROR neutron_lib.callbacks.manager   File 
"/opt/stack/neutron-lib/neutron_lib/callbacks/manager.py", line 189, in 
_notify_loop
  ERROR neutron_lib.callbacks.manager     callback.method(resource, event, 
trigger, payload=payload)
  ERROR neutron_lib.callbacks.manager   File 
"/opt/stack/neutron/neutron/db/agentschedulers_db.py", line 494, in 
auto_schedule_new_network_segments
  ERROR neutron_lib.callbacks.manager     segments = 
segment_plugin.get_segments(
  ERROR neutron_lib.callbacks.manager AttributeError: 'NoneType' object has no 
attribute 'get_segments'
  ERROR neutron_lib.callbacks.manager
  """

  The problem is that the worker that receives the command to delete the
  agent is deleting the agent cache entry in this call, in
  ``OVNMechanismDriver.delete_agent``. This method is also generating an
  OVN SB event writing in the ``SB_Global`` SB table to inform to other
  agents about this deletion. When this event is received, each worker
  updates its own local agent cache correspondingly.

  The problem is that the same worker that is issuing this event is also
  receiving it, and thus the worker tries to delete the agent cache
  twice. That was added in [1] but is not needed.

  NOTE: backport the fix up to 2023.2 (same as [1]).

  
[1]https://review.opendev.org/c/openstack/neutron/+/883607/3/neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py#1421

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


-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to