From 077b806bf659ff5637160cbc5cf1098eaf6253b4 Mon Sep 17 00:00:00 2001 From: zhangjianfeng Date: Mon, 24 Apr 2017 18:17:22 +0800 Subject: [PATCH] [bugfix]retry is reached but action still success now when action like live-migration retry is reached result is False but action still success we can add check in do execute method can fix this problem. close-bug: 1685757 Change-Id: I8390566ec8dcfa3a71b931d5be1b305802ac0b2a --- watcher/applier/workflow_engine/default.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/watcher/applier/workflow_engine/default.py b/watcher/applier/workflow_engine/default.py index 804a42ce1..aa638c04c 100644 --- a/watcher/applier/workflow_engine/default.py +++ b/watcher/applier/workflow_engine/default.py @@ -108,8 +108,14 @@ class TaskFlowActionContainer(base.BaseTaskFlowActionContainer): def do_execute(self, *args, **kwargs): LOG.debug("Running action: %s", self.name) - self.action.execute() - self.engine.notify(self._db_action, objects.action.State.SUCCEEDED) + # NOTE: For result is False, set action state fail + result = self.action.execute() + if result is False: + self.engine.notify(self._db_action, + objects.action.State.FAILED) + else: + self.engine.notify(self._db_action, + objects.action.State.SUCCEEDED) def do_post_execute(self): LOG.debug("Post-condition action: %s", self.name)