summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey Zhang <zhang.lei.fly@gmail.com>2019-10-28 21:26:59 +0800
committerRodolfo Alonso <ralonsoh@redhat.com>2021-08-25 13:22:25 +0000
commit4f0cf26de8f4cc203eda8dff42d23805513c2f97 (patch)
tree289e3fffad395579f6063486ee05c45d295e1760
parentf3e5c7727cdd17b70e04603011433088b0af1b5c (diff)
downloadoslo-rootwrap-stable/train.tar.gz
reap rootwrap daemon process when it is timeoutstable/train
When the daemon process is timeout, it will kill itself. But the parent doesn't reap it. This patch add a thread to wait the process to be done once the daemon is started. Closes-Bug: #1850241 Change-Id: Ic209b8ef86c2522ce7e4bd81ac57bf13f1706a81 (cherry picked from commit c9a57aab082f55d525f003db61290b6ab7437b7c)
-rw-r--r--oslo_rootwrap/client.py9
-rw-r--r--releasenotes/notes/reap-rootwrap-daemon-process-60aebb56d8015484.yaml11
2 files changed, 20 insertions, 0 deletions
diff --git a/oslo_rootwrap/client.py b/oslo_rootwrap/client.py
index ee64b74..0dd0742 100644
--- a/oslo_rootwrap/client.py
+++ b/oslo_rootwrap/client.py
@@ -85,6 +85,15 @@ class Client(object):
(stderr,))
LOG.info("Spawned new rootwrap daemon process with pid=%d",
process_obj.pid)
+
+ def wait_process():
+ return_code = process_obj.wait()
+ LOG.info("Rootwrap daemon process exit with status: %d",
+ return_code)
+
+ reap_process = threading.Thread(target=wait_process)
+ reap_process.daemon = True
+ reap_process.start()
self._manager = ClientManager(socket_path, authkey)
self._manager.connect()
self._proxy = self._manager.rootwrap()
diff --git a/releasenotes/notes/reap-rootwrap-daemon-process-60aebb56d8015484.yaml b/releasenotes/notes/reap-rootwrap-daemon-process-60aebb56d8015484.yaml
new file mode 100644
index 0000000..79bd400
--- /dev/null
+++ b/releasenotes/notes/reap-rootwrap-daemon-process-60aebb56d8015484.yaml
@@ -0,0 +1,11 @@
+---
+fixes:
+ - |
+ Reap the rootwrap daemon process after it is timeout and quit. When the
+ daemon process is timeout, it will kill itself. But the parent doesn't reap
+ it. Fixed this behaviour by adding a thread to wait the process to be done
+ once the daemon is started.
+
+ More info please refer the LP #1850241 [1].
+
+ [1] https://bugs.launchpad.net/oslo.rootwrap/+bug/1850241