oslo.service ProcessLauncher failed to stop child processes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
oslo.service |
New
|
Undecided
|
Unassigned |
Bug Description
When the child process detects that its parent process has dies unexpected (via kill -9) it does a graceful shut down. Depending on the state of the process, it was observed that sometimes the graceful shutdown never completed.
The _pipe_watcher should support graceful shutdown timeout and add alarm watching to ensure graceful_
Example below, kill -9 <parent pid> and one of child processes never terminates.
ps -ef | grep "dcorch-api-proxy .*--type compute" | grep -v grep
root 25520 1 12 20:28 ? 00:00:01 /usr/bin/python2 /usr/bin/
root 25757 25520 0 20:29 ? 00:00:00 /usr/bin/python2 /usr/bin/
root 25758 25520 0 20:29 ? 00:00:00 /usr/bin/python2 /usr/bin/
sudo kill -9 25520
018-09-21 20:39:17.799 25757 INFO oslo_service.
2018-09-21 20:39:17.800 25757 INFO oslo.service.wsgi [req-43c0707d-
2018-09-21 20:39:17.800 25757 INFO eventlet.
2018-09-21 20:39:17.802 25758 INFO oslo_service.
2018-09-21 20:39:17.803 25758 INFO oslo.service.wsgi [req-43c0707d-
ps -ef | grep "dcorch-api-proxy .*--type compute" | grep -v grep
root 25758 1 0 20:29 ? 00:00:00 /usr/bin/python2 /usr/bin/
This problem is observed in the following environment:
Version:OpenStack pike version
oslo-service: 1.16.1-1.el7