[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