summaryrefslogtreecommitdiff
path: root/taskflow/engines/action_engine/engine.py
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-04-28 20:50:07 +0000
committerGerrit Code Review <review@openstack.org>2016-04-28 20:50:08 +0000
commitbc69b55a01719bad8f7bc848ef333eded66f747f (patch)
treea62d0c77fb8ec119ab4f0773b128c4ee432071fb /taskflow/engines/action_engine/engine.py
parentffb234f0eda4171ea859253313aa682d28e46367 (diff)
parent6957eec3fd6b96fb76a562f20d3b57995e547d8f (diff)
downloadtaskflow-bc69b55a01719bad8f7bc848ef333eded66f747f.tar.gz
Merge "Ensure that the engine finishes up even under sent-in failures"
Diffstat (limited to 'taskflow/engines/action_engine/engine.py')
-rw-r--r--taskflow/engines/action_engine/engine.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/taskflow/engines/action_engine/engine.py b/taskflow/engines/action_engine/engine.py
index 4a6926e..59071b6 100644
--- a/taskflow/engines/action_engine/engine.py
+++ b/taskflow/engines/action_engine/engine.py
@@ -308,6 +308,13 @@ class ActionEngine(base.Engine):
# shop...
closed = True
self.suspend()
+ except Exception:
+ # Capture the failure, and ensure that the
+ # machine will notice that something externally
+ # has sent an exception in and that it should
+ # finish up and reraise.
+ memory.failures.append(failure.Failure())
+ closed = True
else:
if try_suspend:
self.suspend()