File bsc#1133866-0002-Log-controller-improve-failed-recurring-action-messa.patch of Package pacemaker.16898

From 4f0399336d47162035fde6d0d23077bfd8ae4119 Mon Sep 17 00:00:00 2001
From: Ken Gaillot <kgaillot@redhat.com>
Date: Fri, 22 Mar 2019 17:49:30 -0500
Subject: [PATCH] Log: controller: improve failed recurring action messages

Recurring action status changes can be reported in any later transition, not
just the one they were initially scheduled in. Previously, they would be logged
as an "Old event". Now, distinguish this situation.
---
 crmd/te_events.c | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

Index: pacemaker-1.1.18+20180430.b12c320f5/crmd/te_events.c
===================================================================
--- pacemaker-1.1.18+20180430.b12c320f5.orig/crmd/te_events.c
+++ pacemaker-1.1.18+20180430.b12c320f5/crmd/te_events.c
@@ -1,5 +1,7 @@
 /*
- * Copyright 2004-2018 Andrew Beekhof <andrew@beekhof.net>
+ * Copyright 2004-2019 the Pacemaker project contributors
+ *
+ * The version control history for this file may have further details.
  *
  * This source code is licensed under the GNU General Public License version 2
  * or later (GPLv2+) WITHOUT ANY WARRANTY.
@@ -482,8 +484,21 @@ process_graph_event(xmlNode *event, cons
         abort_transition(INFINITY, tg_restart, "Foreign event", event);
 
     } else if (transition_graph->id != transition_num) {
-        desc = "arrived really late";
-        abort_transition(INFINITY, tg_restart, "Old event", event);
+        guint interval_ms = 0;
+
+        if (parse_op_key(id, NULL, NULL, &interval_ms)
+            && (interval_ms != 0)) {
+            /* Recurring actions have the transition number they were first
+             * scheduled in.
+             */
+            desc = "arrived after initial scheduling";
+            abort_transition(INFINITY, tg_restart, "Change in recurring result",
+                             event);
+
+        } else {
+            desc = "arrived really late";
+            abort_transition(INFINITY, tg_restart, "Old event", event);
+        }
 
     } else if (transition_graph->complete) {
         desc = "arrived late";
openSUSE Build Service is sponsored by