projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '11545-stress-test' closes #11545
[arvados.git]
/
services
/
nodemanager
/
arvnodeman
/
computenode
/
dispatch
/
__init__.py
diff --git
a/services/nodemanager/arvnodeman/computenode/dispatch/__init__.py
b/services/nodemanager/arvnodeman/computenode/dispatch/__init__.py
index fb9a6bf2142d58a63e0eba8d993e4fa2cb5e8ddb..c5dd1adef1f3173446d7c5efb3d8fbfc31d9d771 100644
(file)
--- a/
services/nodemanager/arvnodeman/computenode/dispatch/__init__.py
+++ b/
services/nodemanager/arvnodeman/computenode/dispatch/__init__.py
@@
-240,6
+240,9
@@
class ComputeNodeShutdownActor(ComputeNodeStateChangeBase):
return super(ComputeNodeShutdownActor, self)._finished()
def cancel_shutdown(self, reason, **kwargs):
return super(ComputeNodeShutdownActor, self)._finished()
def cancel_shutdown(self, reason, **kwargs):
+ if self.cancel_reason is not None:
+ # already cancelled
+ return
self.cancel_reason = reason
self._logger.info("Shutdown cancelled: %s.", reason)
self._finished(success_flag=False)
self.cancel_reason = reason
self._logger.info("Shutdown cancelled: %s.", reason)
self._finished(success_flag=False)
@@
-257,6
+260,9
@@
class ComputeNodeShutdownActor(ComputeNodeStateChangeBase):
@_cancel_on_exception
def shutdown_node(self):
@_cancel_on_exception
def shutdown_node(self):
+ if self.cancel_reason is not None:
+ # already cancelled
+ return
if self.cancellable:
self._logger.info("Checking that node is still eligible for shutdown")
eligible, reason = self._monitor.shutdown_eligible().get()
if self.cancellable:
self._logger.info("Checking that node is still eligible for shutdown")
eligible, reason = self._monitor.shutdown_eligible().get()