From 3656c889d8065217d9f6533a6bc68e1e7f33edb5 Mon Sep 17 00:00:00 2001 From: Iustin Pop <iustin@google.com> Date: Wed, 28 Sep 2011 12:38:12 +0200 Subject: [PATCH] Fix handling of cluster verify hooks The change to enforce boolean results for cluster verify group opcode missed the HooksCallBack, which uses a very ugly 1/0 logic. Furthermore, the logic is wrong, since it unconditionally resets the verify result to true. The patch is changed to simply treat hook failures as failures, and do nothing for offline/nodes. Signed-off-by: Iustin Pop <iustin@google.com> Reviewed-by: Michael Hanselmann <hansmi@google.com> --- lib/cmdlib.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/cmdlib.py b/lib/cmdlib.py index b1f8b8b02..2b2ea239f 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -2973,10 +2973,8 @@ class LUClusterVerifyGroup(LogicalUnit, _VerifyErrors): self._ErrorIf(test, self.ENODEHOOKS, node_name, "Communication failure in hooks execution: %s", msg) if res.offline or msg: - # No need to investigate payload if node is offline or gave an error. - # override manually lu_result here as _ErrorIf only - # overrides self.bad - lu_result = 1 + # No need to investigate payload if node is offline or gave + # an error. continue for script, hkr, output in res.payload: test = hkr == constants.HKR_FAIL @@ -2985,7 +2983,7 @@ class LUClusterVerifyGroup(LogicalUnit, _VerifyErrors): if test: output = self._HOOKS_INDENT_RE.sub(" ", output) feedback_fn("%s" % output) - lu_result = 0 + lu_result = False return lu_result -- GitLab