Fix process management for neutron-server

Bug #1438321 reported by Elena Ezhova
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Expired
Low
Unassigned

Bug Description

The following commit to oslo-incubator [1], that was supposed to optimize waiting for children processes
to exit, will break neutron-server behavior (i.e. signal handling).

1. In neutron-server eventlet monkey-patching (including patching os module) is done in parent process. That is why os.waitpid(0, 0) in _wait_child method also gets monkey-patched and eventlet goes crazy. Connecting to parent process with strace shows that os.waitpid(0, os.WNOHANG) is called, yet it is difficult to say what is really happening because the process does not react on termination signals (SIGTERM, SIGHUP, SIGINT).

2. Due to the fact that neutron-server initializes two instances of ProcessLauncher in one parent process, calling eventlet.greenthread.sleep(self.wait_interval) seems to be the only way for the process to switch contexts and allow another instance of ProcessLauncher to call _wait_child. It is important to mention that ProcessLauncher is not supposed to be used in this way (2 instances in one parent process) at all.

This bug is intended to track fixing the outlined problems on Neutron side.

[1] https://github.com/openstack/oslo-incubator/commit/bf92010cc9d4c2876eaf6092713aafa94dcc8b35

Tags: neutron-core
Elena Ezhova (eezhova)
Changed in neutron:
assignee: nobody → Elena Ezhova (eezhova)
Elena Ezhova (eezhova)
tags: added: api
Revision history for this message
Elena Ezhova (eezhova) wrote :

Related patch to oslo-incubator: https://review.openstack.org/#/c/168924/

Changed in neutron:
importance: Undecided → High
status: New → Confirmed
tags: added: neutron-core
removed: api
Changed in neutron:
importance: High → Low
milestone: none → liberty-1
Revision history for this message
Eugene Nikanorov (enikanorov) wrote :

Changing priority after the issue has been spotted to the core team

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.openstack.org/171244

Changed in neutron:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Fix proposed to branch: master
Review: https://review.openstack.org/175834

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron (master)

Change abandoned by Elena Ezhova (<email address hidden>) on branch: master
Review: https://review.openstack.org/171244
Reason: This change has been squashed into https://review.openstack.org/#/c/175834/

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Change abandoned by Elena Ezhova (<email address hidden>) on branch: master
Review: https://review.openstack.org/175834
Reason: oslo.service is graduating now, so need for a sync is gone.

Thierry Carrez (ttx)
Changed in neutron:
milestone: liberty-1 → liberty-2
Thierry Carrez (ttx)
Changed in neutron:
milestone: liberty-2 → liberty-3
Changed in neutron:
milestone: liberty-3 → liberty-rc1
Kyle Mestery (mestery)
Changed in neutron:
milestone: liberty-rc1 → none
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Change abandoned by Kyle Mestery (<email address hidden>) on branch: master
Review: https://review.openstack.org/170905
Reason: This review is > 4 weeks without comment, and failed Jenkins the last time it was checked. We are abandoning this for now. Feel free to reactivate the review by pressing the restore button and leaving a 'recheck' comment to get fresh test results.

Revision history for this message
Armando Migliaccio (armando-migliaccio) wrote :

This bug is > 240 days without activity. We are unsetting assignee and milestone and setting status to Incomplete in order to allow its expiry in 60 days.

If the bug is still valid, then update the bug status.

Changed in neutron:
assignee: Elena Ezhova (eezhova) → nobody
status: In Progress → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for neutron because there has been no activity for 60 days.]

Changed in neutron:
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.