From 8e9a9d1aa3cceb8f310ed3db9b31b2eab9490330 Mon Sep 17 00:00:00 2001 From: Ken Gaillot Date: Thu, 19 Apr 2018 17:17:51 -0500 Subject: [PATCH] Fix: libcrmcommon: don't record pending notify actions as completed ... especially relevant now that record-pending defaults to true. --- lib/common/operations.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/common/operations.c b/lib/common/operations.c index 4afef80..3ca5939 100644 --- a/lib/common/operations.c +++ b/lib/common/operations.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2017 Andrew Beekhof + * Copyright 2004-2018 Andrew Beekhof * * This source code is licensed under the GNU Lesser General Public License * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY. @@ -513,9 +513,15 @@ create_operation_update(xmlNode * parent, lrmd_event_data_t * op, const char * c CRM_LOG_ASSERT(n_task != NULL); op_id = generate_notify_key(op->rsc_id, n_type, n_task); - /* these are not yet allowed to fail */ - op->op_status = PCMK_LRM_OP_DONE; - op->rc = 0; + if (op->op_status != PCMK_LRM_OP_PENDING) { + /* Ignore notify errors. + * + * @TODO We really should keep the actual result here, and ignore it + * when processing the CIB diff. + */ + op->op_status = PCMK_LRM_OP_DONE; + op->rc = 0; + } } else if (did_rsc_op_fail(op, target_rc)) { op_id = generate_op_key(op->rsc_id, "last_failure", 0); -- 1.8.3.1