[ARVADOS] updated: e0f940ec72a9ed000185196f8d01419302b3cb59
git at public.curoverse.com
git at public.curoverse.com
Fri Oct 16 11:14:45 EDT 2015
Summary of changes:
services/nodemanager/arvnodeman/computenode/dispatch/slurm.py | 4 ++--
services/nodemanager/tests/test_computenode_dispatch_slurm.py | 9 +++++++++
2 files changed, 11 insertions(+), 2 deletions(-)
via e0f940ec72a9ed000185196f8d01419302b3cb59 (commit)
from 1e74db260a84317d58969b9b530d0d87a325da9c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit e0f940ec72a9ed000185196f8d01419302b3cb59
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Fri Oct 16 11:16:49 2015 -0400
6321: Add test that OSError is caught from slurm subprocess invocations.
diff --git a/services/nodemanager/arvnodeman/computenode/dispatch/slurm.py b/services/nodemanager/arvnodeman/computenode/dispatch/slurm.py
index 39ee48f..b4ed088 100644
--- a/services/nodemanager/arvnodeman/computenode/dispatch/slurm.py
+++ b/services/nodemanager/arvnodeman/computenode/dispatch/slurm.py
@@ -46,15 +46,15 @@ class ComputeNodeShutdownActor(ShutdownActorBase):
pass
return super(ComputeNodeShutdownActor, self).cancel_shutdown()
- @ShutdownActorBase._stop_if_window_closed
@ShutdownActorBase._retry((subprocess.CalledProcessError, OSError))
+ @ShutdownActorBase._stop_if_window_closed
def issue_slurm_drain(self):
self._set_node_state('DRAIN', 'Reason=Node Manager shutdown')
self._logger.info("Waiting for SLURM node %s to drain", self._nodename)
self._later.await_slurm_drain()
- @ShutdownActorBase._stop_if_window_closed
@ShutdownActorBase._retry((subprocess.CalledProcessError, OSError))
+ @ShutdownActorBase._stop_if_window_closed
def await_slurm_drain(self):
output = self._get_slurm_state()
if output in self.SLURM_END_STATES:
diff --git a/services/nodemanager/tests/test_computenode_dispatch_slurm.py b/services/nodemanager/tests/test_computenode_dispatch_slurm.py
index 2ddf767..8648783 100644
--- a/services/nodemanager/tests/test_computenode_dispatch_slurm.py
+++ b/services/nodemanager/tests/test_computenode_dispatch_slurm.py
@@ -73,6 +73,15 @@ class SLURMComputeNodeShutdownActorTestCase(ComputeNodeShutdownActorMixin,
self.check_success_flag(False, 2)
self.check_slurm_got_args(proc_mock, 'sinfo', '--noheader', '-o', '%t', '-n', 'compute99')
+ def test_cancel_shutdown_retry(self, proc_mock):
+ proc_mock.side_effect = iter([OSError, 'drain\n', OSError, 'idle\n'])
+ self.make_mocks(arvados_node=testutil.arvados_node_mock(job_uuid=True))
+ self.make_actor()
+ self.check_success_flag(False, 2)
+
+ def test_issue_slurm_drain_retry(self, proc_mock):
+ proc_mock.side_effect = iter([OSError, '', OSError, 'drng\n'])
+ self.check_success_after_reset(proc_mock)
def test_arvados_node_cleaned_after_shutdown(self, proc_mock):
proc_mock.return_value = 'drain\n'
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list