[ARVADOS] created: 440ad3c54a3a1f5dd8cbf4fc83eba36c9a3e5164
Git user
git at public.curoverse.com
Wed May 18 10:59:10 EDT 2016
at 440ad3c54a3a1f5dd8cbf4fc83eba36c9a3e5164 (commit)
commit 440ad3c54a3a1f5dd8cbf4fc83eba36c9a3e5164
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Wed May 18 10:59:03 2016 -0400
9018: Change os.killpg() -> os.kill, don't create new process group.
diff --git a/services/nodemanager/arvnodeman/baseactor.py b/services/nodemanager/arvnodeman/baseactor.py
index b48e007..0cf7c96 100644
--- a/services/nodemanager/arvnodeman/baseactor.py
+++ b/services/nodemanager/arvnodeman/baseactor.py
@@ -84,7 +84,7 @@ class BaseNodeManagerActor(pykka.ThreadingActor):
if (exception_type in (threading.ThreadError, MemoryError) or
exception_type is OSError and exception_value.errno == errno.ENOMEM):
lg.critical("Unhandled exception is a fatal error, killing Node Manager")
- os.killpg(os.getpgid(0), signal.SIGKILL)
+ os.kill(os.getpid(), signal.SIGKILL)
def ping(self):
return True
@@ -101,7 +101,7 @@ class WatchdogActor(pykka.ThreadingActor):
def kill_self(self, act):
lg = getattr(self, "_logger", logging)
lg.critical("Actor %s watchdog ping time out, killing Node Manager", act)
- os.killpg(os.getpgid(0), signal.SIGKILL)
+ os.kill(os.getpid(), signal.SIGKILL)
def on_start(self):
self._later.run()
diff --git a/services/nodemanager/arvnodeman/launcher.py b/services/nodemanager/arvnodeman/launcher.py
index 833da5d..1be7e46 100644
--- a/services/nodemanager/arvnodeman/launcher.py
+++ b/services/nodemanager/arvnodeman/launcher.py
@@ -99,9 +99,6 @@ def main(args=None):
args = parse_cli(args)
config = load_config(args.config)
- # Create a new process group.
- os.setsid()
-
if not args.foreground:
daemon.DaemonContext().open()
for sigcode in [signal.SIGINT, signal.SIGQUIT, signal.SIGTERM]:
diff --git a/services/nodemanager/tests/test_failure.py b/services/nodemanager/tests/test_failure.py
index f543f64..dea7230 100644
--- a/services/nodemanager/tests/test_failure.py
+++ b/services/nodemanager/tests/test_failure.py
@@ -32,24 +32,24 @@ class BogusActor(arvnodeman.baseactor.BaseNodeManagerActor):
class ActorUnhandledExceptionTest(unittest.TestCase):
def test_fatal_error(self):
for e in (MemoryError(), threading.ThreadError(), OSError(errno.ENOMEM, "")):
- with mock.patch('os.killpg') as killpg_mock:
+ with mock.patch('os.kill') as kill_mock:
act = BogusActor.start(e).tell_proxy()
act.doStuff()
act.actor_ref.stop(block=True)
- self.assertTrue(killpg_mock.called)
+ self.assertTrue(kill_mock.called)
- @mock.patch('os.killpg')
- def test_nonfatal_error(self, killpg_mock):
+ @mock.patch('os.kill')
+ def test_nonfatal_error(self, kill_mock):
act = BogusActor.start(OSError(errno.ENOENT, "")).tell_proxy()
act.doStuff()
act.actor_ref.stop(block=True)
- self.assertFalse(killpg_mock.called)
+ self.assertFalse(kill_mock.called)
class WatchdogActorTest(unittest.TestCase):
- @mock.patch('os.killpg')
- def test_time_timout(self, killpg_mock):
+ @mock.patch('os.kill')
+ def test_time_timout(self, kill_mock):
act = BogusActor.start(OSError(errno.ENOENT, ""))
watch = arvnodeman.baseactor.WatchdogActor.start(1, act)
watch.stop(block=True)
act.stop(block=True)
- self.assertTrue(killpg_mock.called)
+ self.assertTrue(kill_mock.called)
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list