← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2114176] Re: [L3] L3 agent ``ProcessMonitor`` is not correctly registering the new processes

 

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

commit 4b2625adb9ff356d3ecb9ff30f0ca2238b7b11b6
Author: Rodolfo Alonso Hernandez <ralonsoh@xxxxxxxxxx>
Date:   Thu Jun 12 12:42:33 2025 +0000

    Move the ``ProcessMonitor`` initialization to the ``Service.start`` phase
    
    This issue is similar to what was fixed in [1]. In this case, the
    process monitor instance needs to be instantiated after the L3 agent
    service has been launched and forked.
    
    This patch must work both with the current ``oslo.service`` backend
    (eventlet) and the new implementation (threading) [3], already
    released.
    
    [1]https://review.opendev.org/c/openstack/neutron/+/949135
    [2]https://review.opendev.org/c/openstack/oslo.service/+/945720
    
    Closes-Bug: #2114176
    Change-Id: I6e5406a0a3846aaf52171edb46dfb29332b938ff


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

Title:
  [L3] L3 agent ``ProcessMonitor`` is not correctly registering the new
  processes

Status in neutron:
  Fix Released

Bug description:
  This issue started after [1]. The L3 agent process monitor [2] is in
  charge of monitoring and restarting (if needed) those child processes
  spawned by the agent (keepalived or keepalived-state-change, for
  example).

  Similar to the issue found in [3], the instance of ``ProcessMonitor``
  created in the ``__init__`` method is forked once the agent executes
  ``launch_process`` (using oslo.service "threading" backend). The
  instance attending the register events is not the same as the one
  processing them. We need to move the instantiation of this member to
  the ``init_host`` phase.

  [1]https://review.opendev.org/c/openstack/neutron/+/938404
  [2]https://github.com/openstack/neutron/blob/7c478bad672ecf4897d0d201942b4526cf4b6202/neutron/agent/l3/agent.py#L274-L276
  [3]https://review.opendev.org/c/openstack/neutron/+/949135

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



References