Piotr Kliczewski has uploaded a new change for review.
Change subject: Revert "supervdsm: Add zombiereaper to supervdsm"
......................................................................
Revert "supervdsm: Add zombiereaper to supervdsm"
Introduction of zombiereaper is causing communication failures between
vdsm and supervdsm. The change register signal handler which causes
multiprocessing to fail.
There was python bug opened to fix multiprocessing issue but it was not
backported to 2.6.
There is still issue on rhel7 so reventing on master as well.
Bug-Url:
https://bugzilla.redhat.com/show_bug.cgi?id=1168217
Change-Id: I90a76ad689938cc36fd9adbf73bd16e9a408cbb5
Signed-off-by: pkliczewski <piotr.kliczewski(a)gmail.com>
---
M vdsm/supervdsmServer
1 file changed, 14 insertions(+), 23 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/61/36961/1
diff --git a/vdsm/supervdsmServer b/vdsm/supervdsmServer
index 58e93da..7a984e4 100755
--- a/vdsm/supervdsmServer
+++ b/vdsm/supervdsmServer
@@ -31,7 +31,6 @@
import signal
import logging
import logging.config
-import vdsm.infra.zombiereaper as zombiereaper
import numaUtils
@@ -223,30 +222,23 @@
proc = Process(target=child, args=(hisPipe,))
proc.start()
- try:
- if not pipe.poll(RUN_AS_TIMEOUT):
- try:
- os.kill(proc.pid, signal.SIGKILL)
- except OSError as e:
- # If it didn't fail because process is already dead
- if e.errno != errno.ESRCH:
- raise
+ if not pipe.poll(RUN_AS_TIMEOUT):
+ try:
+ os.kill(proc.pid, signal.SIGKILL)
+ except OSError as e:
+ # If it didn't fail because process is already dead
+ if e.errno != errno.ESRCH:
+ raise
- raise Timeout()
+ raise Timeout()
- res, err = pipe.recv()
- pipe.send("Bye")
- proc.terminate()
+ res, err = pipe.recv()
+ pipe.send("Bye")
+ proc.terminate()
+ if err is not None:
+ raise err
- if err is not None:
- raise err
-
- return res
-
- finally:
- # Add to zombiereaper if process has not been waited upon
- if proc.exitcode is None:
- zombiereaper.autoReapPID(proc.pid)
+ return res
@logDecorator
def validateAccess(self, user, groups, *args, **kwargs):
@@ -402,7 +394,6 @@
def main(sockfile, pidfile=None):
log = logging.getLogger("SuperVdsm.Server")
- zombiereaper.registerSignalHandler()
if not config.getboolean('vars', 'core_dump_enable'):
resource.setrlimit(resource.RLIMIT_CORE, (0, 0))
--
To view, visit
http://gerrit.ovirt.org/36961
To unsubscribe, visit
http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I90a76ad689938cc36fd9adbf73bd16e9a408cbb5
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Piotr Kliczewski <piotr.kliczewski(a)gmail.com>