← Back to team overview

yahoo-eng-team team mailing list archive

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

 

Public bug reported:

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

** Affects: neutron
     Importance: Medium
     Assignee: Rodolfo Alonso (rodolfo-alonso-hernandez)
         Status: In Progress

** Changed in: neutron
     Assignee: (unassigned) => Rodolfo Alonso (rodolfo-alonso-hernandez)

** Changed in: neutron
   Importance: Undecided => Medium

-- 
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:
  In Progress

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



Follow ups