Blame SOURCES/004-group-ordering.patch

c54a00
From d14fb0110208f270491c696bea0072300db2a947 Mon Sep 17 00:00:00 2001
c54a00
From: Ken Gaillot <kgaillot@redhat.com>
c54a00
Date: Fri, 29 Mar 2019 12:37:13 -0500
c54a00
Subject: [PATCH 1/6] Refactor: scheduler: functionize handling of restart
c54a00
 ordering
c54a00
c54a00
for readability
c54a00
---
c54a00
 pengine/native.c | 97 +++++++++++++++++++++++++++++++++++---------------------
c54a00
 1 file changed, 60 insertions(+), 37 deletions(-)
c54a00
c54a00
diff --git a/pengine/native.c b/pengine/native.c
c54a00
index 2f8c011..653a93a 100644
c54a00
--- a/pengine/native.c
c54a00
+++ b/pengine/native.c
c54a00
@@ -1942,6 +1942,65 @@ native_action_flags(action_t * action, node_t * node)
c54a00
     return action->flags;
c54a00
 }
c54a00
 
c54a00
+static inline bool
c54a00
+is_primitive_action(pe_action_t *action)
c54a00
+{
c54a00
+    return action && action->rsc && (action->rsc->variant == pe_native);
c54a00
+}
c54a00
+
c54a00
+/*!
c54a00
+ * \internal
c54a00
+ * \brief Set action bits appropriately when pe_restart_order is used
c54a00
+ *
c54a00
+ * \param[in] first   'First' action in an ordering with pe_restart_order
c54a00
+ * \param[in] then    'Then' action in an ordering with pe_restart_order
c54a00
+ * \param[in] filter  What ordering flags to care about
c54a00
+ *
c54a00
+ * \note pe_restart_order is set for "stop resource before starting it" and
c54a00
+ *       "stop later group member before stopping earlier group member"
c54a00
+ */
c54a00
+static void
c54a00
+handle_restart_ordering(pe_action_t *first, pe_action_t *then,
c54a00
+                        enum pe_action_flags filter)
c54a00
+{
c54a00
+    const char *reason = NULL;
c54a00
+
c54a00
+    CRM_ASSERT(is_primitive_action(first));
c54a00
+    CRM_ASSERT(is_primitive_action(then));
c54a00
+
c54a00
+    if ((filter & pe_action_runnable)
c54a00
+        && (then->flags & pe_action_runnable) == 0
c54a00
+        && (then->rsc->flags & pe_rsc_managed)) {
c54a00
+        reason = "shutdown";
c54a00
+    }
c54a00
+
c54a00
+    if ((filter & pe_action_optional) && (then->flags & pe_action_optional) == 0) {
c54a00
+        reason = "recover";
c54a00
+    }
c54a00
+
c54a00
+    if (reason && is_set(first->flags, pe_action_optional)) {
c54a00
+        if (is_set(first->flags, pe_action_runnable)
c54a00
+            || is_not_set(then->flags, pe_action_optional)) {
c54a00
+            pe_rsc_trace(first->rsc, "Handling %s: %s -> %s", reason, first->uuid, then->uuid);
c54a00
+            pe_action_implies(first, then, pe_action_optional);
c54a00
+        }
c54a00
+    }
c54a00
+
c54a00
+    if (reason && is_not_set(first->flags, pe_action_optional)
c54a00
+        && is_not_set(first->flags, pe_action_runnable)) {
c54a00
+        pe_rsc_trace(then->rsc, "Handling %s: %s -> %s", reason, first->uuid, then->uuid);
c54a00
+        pe_action_implies(then, first, pe_action_runnable);
c54a00
+    }
c54a00
+
c54a00
+    if (reason &&
c54a00
+        is_not_set(first->flags, pe_action_optional) &&
c54a00
+        is_set(first->flags, pe_action_migrate_runnable)  &&
c54a00
+        is_not_set(then->flags, pe_action_migrate_runnable)) {
c54a00
+
c54a00
+        pe_action_implies(first, then, pe_action_migrate_runnable);
c54a00
+    }
c54a00
+}
c54a00
+
c54a00
 enum pe_graph_flags
c54a00
 native_update_actions(action_t * first, action_t * then, node_t * node, enum pe_action_flags flags,
c54a00
                       enum pe_action_flags filter, enum pe_ordering type)
c54a00
@@ -2069,43 +2128,7 @@ native_update_actions(action_t * first, action_t * then, node_t * node, enum pe_
c54a00
     }
c54a00
 
c54a00
     if (is_set(type, pe_order_restart)) {
c54a00
-        const char *reason = NULL;
c54a00
-
c54a00
-        CRM_ASSERT(first->rsc && first->rsc->variant == pe_native);
c54a00
-        CRM_ASSERT(then->rsc && then->rsc->variant == pe_native);
c54a00
-
c54a00
-        if ((filter & pe_action_runnable)
c54a00
-            && (then->flags & pe_action_runnable) == 0
c54a00
-            && (then->rsc->flags & pe_rsc_managed)) {
c54a00
-            reason = "shutdown";
c54a00
-        }
c54a00
-
c54a00
-        if ((filter & pe_action_optional) && (then->flags & pe_action_optional) == 0) {
c54a00
-            reason = "recover";
c54a00
-        }
c54a00
-
c54a00
-        if (reason && is_set(first->flags, pe_action_optional)) {
c54a00
-            if (is_set(first->flags, pe_action_runnable)
c54a00
-                || is_not_set(then->flags, pe_action_optional)) {
c54a00
-                pe_rsc_trace(first->rsc, "Handling %s: %s -> %s", reason, first->uuid, then->uuid);
c54a00
-                pe_action_implies(first, then, pe_action_optional);
c54a00
-            }
c54a00
-        }
c54a00
-
c54a00
-        if (reason && is_not_set(first->flags, pe_action_optional)
c54a00
-            && is_not_set(first->flags, pe_action_runnable)) {
c54a00
-            pe_rsc_trace(then->rsc, "Handling %s: %s -> %s", reason, first->uuid, then->uuid);
c54a00
-            pe_action_implies(then, first, pe_action_runnable);
c54a00
-        }
c54a00
-
c54a00
-        if (reason &&
c54a00
-            is_not_set(first->flags, pe_action_optional) &&
c54a00
-            is_set(first->flags, pe_action_migrate_runnable)  &&
c54a00
-            is_not_set(then->flags, pe_action_migrate_runnable)) {
c54a00
-
c54a00
-            pe_action_implies(first, then, pe_action_migrate_runnable);
c54a00
-        }
c54a00
-
c54a00
+        handle_restart_ordering(first, then, filter);
c54a00
     }
c54a00
 
c54a00
     if (then_flags != then->flags) {
c54a00
-- 
c54a00
1.8.3.1
c54a00
c54a00
c54a00
From dda6a0eb480c8a3079b5c15176e27ed62f98a6ac Mon Sep 17 00:00:00 2001
c54a00
From: Ken Gaillot <kgaillot@redhat.com>
c54a00
Date: Fri, 29 Mar 2019 17:46:44 -0500
c54a00
Subject: [PATCH 2/6] Refactor: scheduler: use is_set()/is_not_set() in restart
c54a00
 ordering
c54a00
c54a00
instead of direct bit comparisons, for readability and consistency
c54a00
---
c54a00
 pengine/native.c | 9 +++++----
c54a00
 1 file changed, 5 insertions(+), 4 deletions(-)
c54a00
c54a00
diff --git a/pengine/native.c b/pengine/native.c
c54a00
index 653a93a..f43d3cf 100644
c54a00
--- a/pengine/native.c
c54a00
+++ b/pengine/native.c
c54a00
@@ -1968,13 +1968,14 @@ handle_restart_ordering(pe_action_t *first, pe_action_t *then,
c54a00
     CRM_ASSERT(is_primitive_action(first));
c54a00
     CRM_ASSERT(is_primitive_action(then));
c54a00
 
c54a00
-    if ((filter & pe_action_runnable)
c54a00
-        && (then->flags & pe_action_runnable) == 0
c54a00
-        && (then->rsc->flags & pe_rsc_managed)) {
c54a00
+    if (is_set(filter, pe_action_runnable)
c54a00
+        && is_not_set(then->flags, pe_action_runnable)
c54a00
+        && is_set(then->rsc->flags, pe_rsc_managed)) {
c54a00
         reason = "shutdown";
c54a00
     }
c54a00
 
c54a00
-    if ((filter & pe_action_optional) && (then->flags & pe_action_optional) == 0) {
c54a00
+    if (is_set(filter, pe_action_optional)
c54a00
+        && is_not_set(then->flags, pe_action_optional)) {
c54a00
         reason = "recover";
c54a00
     }
c54a00
 
c54a00
-- 
c54a00
1.8.3.1
c54a00
c54a00
c54a00
From 69951375e4af9d1d1152980afddc94bb5881af5a Mon Sep 17 00:00:00 2001
c54a00
From: Ken Gaillot <kgaillot@redhat.com>
c54a00
Date: Fri, 29 Mar 2019 17:49:10 -0500
c54a00
Subject: [PATCH 3/6] Log: scheduler: improve restart ordering trace logs
c54a00
c54a00
---
c54a00
 pengine/native.c | 28 ++++++++++++++++++----------
c54a00
 1 file changed, 18 insertions(+), 10 deletions(-)
c54a00
c54a00
diff --git a/pengine/native.c b/pengine/native.c
c54a00
index f43d3cf..dfcc910 100644
c54a00
--- a/pengine/native.c
c54a00
+++ b/pengine/native.c
c54a00
@@ -1968,33 +1968,41 @@ handle_restart_ordering(pe_action_t *first, pe_action_t *then,
c54a00
     CRM_ASSERT(is_primitive_action(first));
c54a00
     CRM_ASSERT(is_primitive_action(then));
c54a00
 
c54a00
+    // We need to update the action in two cases:
c54a00
+
c54a00
+    // ... if 'then' is required
c54a00
+    if (is_set(filter, pe_action_optional)
c54a00
+        && is_not_set(then->flags, pe_action_optional)) {
c54a00
+        reason = "restart";
c54a00
+    }
c54a00
+
c54a00
+    // ... if 'then' is managed but unrunnable
c54a00
     if (is_set(filter, pe_action_runnable)
c54a00
         && is_not_set(then->flags, pe_action_runnable)
c54a00
         && is_set(then->rsc->flags, pe_rsc_managed)) {
c54a00
-        reason = "shutdown";
c54a00
+        reason = "stop";
c54a00
     }
c54a00
 
c54a00
-    if (is_set(filter, pe_action_optional)
c54a00
-        && is_not_set(then->flags, pe_action_optional)) {
c54a00
-        reason = "recover";
c54a00
+    if (reason == NULL) {
c54a00
+        return;
c54a00
     }
c54a00
 
c54a00
-    if (reason && is_set(first->flags, pe_action_optional)) {
c54a00
+    pe_rsc_trace(first->rsc, "Handling %s -> %s for %s",
c54a00
+                 first->uuid, then->uuid, reason);
c54a00
+
c54a00
+    if (is_set(first->flags, pe_action_optional)) {
c54a00
         if (is_set(first->flags, pe_action_runnable)
c54a00
             || is_not_set(then->flags, pe_action_optional)) {
c54a00
-            pe_rsc_trace(first->rsc, "Handling %s: %s -> %s", reason, first->uuid, then->uuid);
c54a00
             pe_action_implies(first, then, pe_action_optional);
c54a00
         }
c54a00
     }
c54a00
 
c54a00
-    if (reason && is_not_set(first->flags, pe_action_optional)
c54a00
+    if (is_not_set(first->flags, pe_action_optional)
c54a00
         && is_not_set(first->flags, pe_action_runnable)) {
c54a00
-        pe_rsc_trace(then->rsc, "Handling %s: %s -> %s", reason, first->uuid, then->uuid);
c54a00
         pe_action_implies(then, first, pe_action_runnable);
c54a00
     }
c54a00
 
c54a00
-    if (reason &&
c54a00
-        is_not_set(first->flags, pe_action_optional) &&
c54a00
+    if (is_not_set(first->flags, pe_action_optional) &&
c54a00
         is_set(first->flags, pe_action_migrate_runnable)  &&
c54a00
         is_not_set(then->flags, pe_action_migrate_runnable)) {
c54a00
 
c54a00
-- 
c54a00
1.8.3.1
c54a00
c54a00
c54a00
From 32da90e58a89d7f9f3cd6d1e3f961c24b646d734 Mon Sep 17 00:00:00 2001
c54a00
From: Ken Gaillot <kgaillot@redhat.com>
c54a00
Date: Fri, 29 Mar 2019 17:50:07 -0500
c54a00
Subject: [PATCH 4/6] Refactor: scheduler: simplify handling of restart
c54a00
 ordering
c54a00
c54a00
Don't condition pe_action_implies() on the desired state not being already
c54a00
present, because pe_action_implies() handles that.
c54a00
c54a00
Don't condition clearing first's pe_action_migrate_runnable on first being
c54a00
required, because if it's optional it doesn't matter, and if (now or in the
c54a00
future) optional can be changed to required later, it will actually be
c54a00
important.
c54a00
---
c54a00
 pengine/native.c | 27 +++++++++++++++------------
c54a00
 1 file changed, 15 insertions(+), 12 deletions(-)
c54a00
c54a00
diff --git a/pengine/native.c b/pengine/native.c
c54a00
index dfcc910..8912aa1 100644
c54a00
--- a/pengine/native.c
c54a00
+++ b/pengine/native.c
c54a00
@@ -1980,6 +1980,7 @@ handle_restart_ordering(pe_action_t *first, pe_action_t *then,
c54a00
     if (is_set(filter, pe_action_runnable)
c54a00
         && is_not_set(then->flags, pe_action_runnable)
c54a00
         && is_set(then->rsc->flags, pe_rsc_managed)) {
c54a00
+        // If a resource should restart but can't start, we still want to stop
c54a00
         reason = "stop";
c54a00
     }
c54a00
 
c54a00
@@ -1990,24 +1991,26 @@ handle_restart_ordering(pe_action_t *first, pe_action_t *then,
c54a00
     pe_rsc_trace(first->rsc, "Handling %s -> %s for %s",
c54a00
                  first->uuid, then->uuid, reason);
c54a00
 
c54a00
-    if (is_set(first->flags, pe_action_optional)) {
c54a00
-        if (is_set(first->flags, pe_action_runnable)
c54a00
-            || is_not_set(then->flags, pe_action_optional)) {
c54a00
-            pe_action_implies(first, then, pe_action_optional);
c54a00
-        }
c54a00
+    // Make 'first' required if it is runnable
c54a00
+    if (is_set(first->flags, pe_action_runnable)) {
c54a00
+        pe_action_implies(first, then, pe_action_optional);
c54a00
     }
c54a00
 
c54a00
-    if (is_not_set(first->flags, pe_action_optional)
c54a00
-        && is_not_set(first->flags, pe_action_runnable)) {
c54a00
-        pe_action_implies(then, first, pe_action_runnable);
c54a00
+    // Make 'first' required if 'then' is required
c54a00
+    if (is_not_set(then->flags, pe_action_optional)) {
c54a00
+        pe_action_implies(first, then, pe_action_optional);
c54a00
     }
c54a00
 
c54a00
-    if (is_not_set(first->flags, pe_action_optional) &&
c54a00
-        is_set(first->flags, pe_action_migrate_runnable)  &&
c54a00
-        is_not_set(then->flags, pe_action_migrate_runnable)) {
c54a00
-
c54a00
+    // Make 'first' unmigratable if 'then' is unmigratable
c54a00
+    if (is_not_set(then->flags, pe_action_migrate_runnable)) {
c54a00
         pe_action_implies(first, then, pe_action_migrate_runnable);
c54a00
     }
c54a00
+
c54a00
+    // Make 'then' unrunnable if 'first' is required but unrunnable
c54a00
+    if (is_not_set(first->flags, pe_action_optional)
c54a00
+        && is_not_set(first->flags, pe_action_runnable)) {
c54a00
+        pe_action_implies(then, first, pe_action_runnable);
c54a00
+    }
c54a00
 }
c54a00
 
c54a00
 enum pe_graph_flags
c54a00
-- 
c54a00
1.8.3.1
c54a00
c54a00
c54a00
From 8cfe743d4373fad6b4e50ee64894a16f7f24afa1 Mon Sep 17 00:00:00 2001
c54a00
From: Ken Gaillot <kgaillot@redhat.com>
c54a00
Date: Fri, 29 Mar 2019 19:11:25 -0500
c54a00
Subject: [PATCH 5/6] Fix: scheduler: one group stop shouldn't make another
c54a00
 required
c54a00
c54a00
1.1.7's 8d2f237d reused pe_order_restart ("stop resource before stopping it")
c54a00
for "stop later group member before stopping earlier group member".
c54a00
c54a00
pe_order_restart includes a check for an unrunnable 'then', because in a
c54a00
restart, even if the start is unrunnable, we still want to perform the stop.
c54a00
However this check does not make sense for group stop ordering, and as of
c54a00
1.1.10, this caused a regression where a group member could be unnecessarily
c54a00
stopped.
c54a00
c54a00
Example scenario: if a resource is ordered after a group member, and the
c54a00
resource failed with on-fail=block, that would make the group member's
c54a00
(optional) stop blocked as well, and that blocked stop would unnecessarily make
c54a00
stops of later group members required.
c54a00
c54a00
This commit fixes the issue by only applying the check when the 'then' action
c54a00
is a start. (RHBZ#1609453)
c54a00
---
c54a00
 pengine/native.c | 8 +++++---
c54a00
 1 file changed, 5 insertions(+), 3 deletions(-)
c54a00
c54a00
diff --git a/pengine/native.c b/pengine/native.c
c54a00
index 8912aa1..747cb10 100644
c54a00
--- a/pengine/native.c
c54a00
+++ b/pengine/native.c
c54a00
@@ -1976,11 +1976,13 @@ handle_restart_ordering(pe_action_t *first, pe_action_t *then,
c54a00
         reason = "restart";
c54a00
     }
c54a00
 
c54a00
-    // ... if 'then' is managed but unrunnable
c54a00
+    /* ... if 'then' is unrunnable start of managed resource (if a resource
c54a00
+     * should restart but can't start, we still want to stop)
c54a00
+     */
c54a00
     if (is_set(filter, pe_action_runnable)
c54a00
         && is_not_set(then->flags, pe_action_runnable)
c54a00
-        && is_set(then->rsc->flags, pe_rsc_managed)) {
c54a00
-        // If a resource should restart but can't start, we still want to stop
c54a00
+        && is_set(then->rsc->flags, pe_rsc_managed)
c54a00
+        && safe_str_eq(then->task, RSC_START)) {
c54a00
         reason = "stop";
c54a00
     }
c54a00
 
c54a00
-- 
c54a00
1.8.3.1
c54a00
c54a00
c54a00
From b8e388eff56143632ef848d52eddad9560aad2cf Mon Sep 17 00:00:00 2001
c54a00
From: Ken Gaillot <kgaillot@redhat.com>
c54a00
Date: Fri, 29 Mar 2019 19:44:39 -0500
c54a00
Subject: [PATCH 6/6] Test: scheduler: one group stop shouldn't make another
c54a00
 required
c54a00
c54a00
---
c54a00
 pengine/regression.sh                      |   1 +
c54a00
 pengine/test10/group-stop-ordering.dot     |   2 +
c54a00
 pengine/test10/group-stop-ordering.exp     |   1 +
c54a00
 pengine/test10/group-stop-ordering.scores  |  17 ++++
c54a00
 pengine/test10/group-stop-ordering.summary |  25 ++++++
c54a00
 pengine/test10/group-stop-ordering.xml     | 132 +++++++++++++++++++++++++++++
c54a00
 6 files changed, 178 insertions(+)
c54a00
 create mode 100644 pengine/test10/group-stop-ordering.dot
c54a00
 create mode 100644 pengine/test10/group-stop-ordering.exp
c54a00
 create mode 100644 pengine/test10/group-stop-ordering.scores
c54a00
 create mode 100644 pengine/test10/group-stop-ordering.summary
c54a00
 create mode 100644 pengine/test10/group-stop-ordering.xml
c54a00
c54a00
diff --git a/pengine/regression.sh b/pengine/regression.sh
c54a00
index e25990d..504de46 100755
c54a00
--- a/pengine/regression.sh
c54a00
+++ b/pengine/regression.sh
c54a00
@@ -68,6 +68,7 @@ do_test group-fail "Ensure stop order is preserved for partially active groups"
c54a00
 do_test group-unmanaged "No need to restart r115 because r114 is unmanaged"
c54a00
 do_test group-unmanaged-stopped "Make sure r115 is stopped when r114 fails"
c54a00
 do_test group-dependents "Account for the location preferences of things colocated with a group"
c54a00
+do_test group-stop-ordering "Ensure blocked group member stop does not force other member stops"
c54a00
 
c54a00
 echo ""
c54a00
 do_test rsc_dep1 "Must not     "
c54a00
diff --git a/pengine/test10/group-stop-ordering.dot b/pengine/test10/group-stop-ordering.dot
c54a00
new file mode 100644
c54a00
index 0000000..4b30191
c54a00
--- /dev/null
c54a00
+++ b/pengine/test10/group-stop-ordering.dot
c54a00
@@ -0,0 +1,2 @@
c54a00
+digraph "g" {
c54a00
+}
c54a00
diff --git a/pengine/test10/group-stop-ordering.exp b/pengine/test10/group-stop-ordering.exp
c54a00
new file mode 100644
c54a00
index 0000000..56e315f
c54a00
--- /dev/null
c54a00
+++ b/pengine/test10/group-stop-ordering.exp
c54a00
@@ -0,0 +1 @@
c54a00
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0"/>
c54a00
diff --git a/pengine/test10/group-stop-ordering.scores b/pengine/test10/group-stop-ordering.scores
c54a00
new file mode 100644
c54a00
index 0000000..5f144d2
c54a00
--- /dev/null
c54a00
+++ b/pengine/test10/group-stop-ordering.scores
c54a00
@@ -0,0 +1,17 @@
c54a00
+Allocation scores:
c54a00
+group_color: grp allocation score on fastvm-rhel-7-5-73: 0
c54a00
+group_color: grp allocation score on fastvm-rhel-7-5-74: 0
c54a00
+group_color: inside_resource_2 allocation score on fastvm-rhel-7-5-73: 0
c54a00
+group_color: inside_resource_2 allocation score on fastvm-rhel-7-5-74: 0
c54a00
+group_color: inside_resource_3 allocation score on fastvm-rhel-7-5-73: 0
c54a00
+group_color: inside_resource_3 allocation score on fastvm-rhel-7-5-74: 0
c54a00
+native_color: fence-fastvm-rhel-7-5-73 allocation score on fastvm-rhel-7-5-73: -INFINITY
c54a00
+native_color: fence-fastvm-rhel-7-5-73 allocation score on fastvm-rhel-7-5-74: 0
c54a00
+native_color: fence-fastvm-rhel-7-5-74 allocation score on fastvm-rhel-7-5-73: 0
c54a00
+native_color: fence-fastvm-rhel-7-5-74 allocation score on fastvm-rhel-7-5-74: -INFINITY
c54a00
+native_color: inside_resource_2 allocation score on fastvm-rhel-7-5-73: 0
c54a00
+native_color: inside_resource_2 allocation score on fastvm-rhel-7-5-74: 0
c54a00
+native_color: inside_resource_3 allocation score on fastvm-rhel-7-5-73: -INFINITY
c54a00
+native_color: inside_resource_3 allocation score on fastvm-rhel-7-5-74: 0
c54a00
+native_color: outside_resource allocation score on fastvm-rhel-7-5-73: INFINITY
c54a00
+native_color: outside_resource allocation score on fastvm-rhel-7-5-74: 0
c54a00
diff --git a/pengine/test10/group-stop-ordering.summary b/pengine/test10/group-stop-ordering.summary
c54a00
new file mode 100644
c54a00
index 0000000..0ec8eb6
c54a00
--- /dev/null
c54a00
+++ b/pengine/test10/group-stop-ordering.summary
c54a00
@@ -0,0 +1,25 @@
c54a00
+
c54a00
+Current cluster status:
c54a00
+Online: [ fastvm-rhel-7-5-73 fastvm-rhel-7-5-74 ]
c54a00
+
c54a00
+ fence-fastvm-rhel-7-5-73	(stonith:fence_xvm):	Started fastvm-rhel-7-5-74
c54a00
+ fence-fastvm-rhel-7-5-74	(stonith:fence_xvm):	Started fastvm-rhel-7-5-73
c54a00
+ outside_resource	(ocf::pacemaker:Dummy):	FAILED fastvm-rhel-7-5-73 (blocked)
c54a00
+ Resource Group: grp
c54a00
+     inside_resource_2	(ocf::pacemaker:Dummy):	Started fastvm-rhel-7-5-74
c54a00
+     inside_resource_3	(ocf::pacemaker:Dummy):	Started fastvm-rhel-7-5-74
c54a00
+
c54a00
+Transition Summary:
c54a00
+
c54a00
+Executing cluster transition:
c54a00
+
c54a00
+Revised cluster status:
c54a00
+Online: [ fastvm-rhel-7-5-73 fastvm-rhel-7-5-74 ]
c54a00
+
c54a00
+ fence-fastvm-rhel-7-5-73	(stonith:fence_xvm):	Started fastvm-rhel-7-5-74
c54a00
+ fence-fastvm-rhel-7-5-74	(stonith:fence_xvm):	Started fastvm-rhel-7-5-73
c54a00
+ outside_resource	(ocf::pacemaker:Dummy):	FAILED fastvm-rhel-7-5-73 (blocked)
c54a00
+ Resource Group: grp
c54a00
+     inside_resource_2	(ocf::pacemaker:Dummy):	Started fastvm-rhel-7-5-74
c54a00
+     inside_resource_3	(ocf::pacemaker:Dummy):	Started fastvm-rhel-7-5-74
c54a00
+
c54a00
diff --git a/pengine/test10/group-stop-ordering.xml b/pengine/test10/group-stop-ordering.xml
c54a00
new file mode 100644
c54a00
index 0000000..8439c1f
c54a00
--- /dev/null
c54a00
+++ b/pengine/test10/group-stop-ordering.xml
c54a00
@@ -0,0 +1,132 @@
c54a00
+<cib crm_feature_set="3.0.14" validate-with="pacemaker-2.10" epoch="32" num_updates="15" admin_epoch="0" cib-last-written="Sat Jul 28 03:06:46 2018" update-origin="fastvm-rhel-7-5-73" update-client="crmd" update-user="hacluster" have-quorum="1" dc-uuid="1">
c54a00
+  <configuration>
c54a00
+    <crm_config>
c54a00
+      <cluster_property_set id="cib-bootstrap-options">
c54a00
+        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
c54a00
+        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.18-11.el7_5.3-2b07d5c5a9"/>
c54a00
+        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
c54a00
+        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="cluster"/>
c54a00
+        <nvpair id="cib-bootstrap-options-last-lrm-refresh" name="last-lrm-refresh" value="1532740006"/>
c54a00
+      </cluster_property_set>
c54a00
+    </crm_config>
c54a00
+    <nodes>
c54a00
+      <node id="1" uname="fastvm-rhel-7-5-73"/>
c54a00
+      <node id="2" uname="fastvm-rhel-7-5-74"/>
c54a00
+    </nodes>
c54a00
+    <resources>
c54a00
+      <primitive class="stonith" id="fence-fastvm-rhel-7-5-73" type="fence_xvm">
c54a00
+        <instance_attributes id="fence-fastvm-rhel-7-5-73-instance_attributes">
c54a00
+          <nvpair id="fence-fastvm-rhel-7-5-73-instance_attributes-pcmk_host_map" name="pcmk_host_map" value="fastvm-rhel-7-5-73:fastvm-rhel-7.5-73;"/>
c54a00
+        </instance_attributes>
c54a00
+        <operations>
c54a00
+          <op id="fence-fastvm-rhel-7-5-73-monitor-interval-30s" interval="30s" name="monitor"/>
c54a00
+        </operations>
c54a00
+      </primitive>
c54a00
+      <primitive class="stonith" id="fence-fastvm-rhel-7-5-74" type="fence_xvm">
c54a00
+        <instance_attributes id="fence-fastvm-rhel-7-5-74-instance_attributes">
c54a00
+          <nvpair id="fence-fastvm-rhel-7-5-74-instance_attributes-pcmk_host_map" name="pcmk_host_map" value="fastvm-rhel-7-5-74:fastvm-rhel-7.5-74;"/>
c54a00
+        </instance_attributes>
c54a00
+        <operations>
c54a00
+          <op id="fence-fastvm-rhel-7-5-74-monitor-interval-30s" interval="30s" name="monitor"/>
c54a00
+        </operations>
c54a00
+      </primitive>
c54a00
+      <primitive class="ocf" id="outside_resource" provider="pacemaker" type="Dummy">
c54a00
+        <operations>
c54a00
+          <op id="outside_resource-migrate_from-interval-0s" interval="0s" name="migrate_from" timeout="20"/>
c54a00
+          <op id="outside_resource-migrate_to-interval-0s" interval="0s" name="migrate_to" timeout="20"/>
c54a00
+          <op id="outside_resource-monitor-interval-10" interval="10" name="monitor" on-fail="block"/>
c54a00
+          <op id="outside_resource-reload-interval-0s" interval="0s" name="reload" timeout="20"/>
c54a00
+          <op id="outside_resource-start-interval-0s" interval="0s" name="start" timeout="20"/>
c54a00
+          <op id="outside_resource-stop-interval-0s" interval="0s" name="stop" timeout="20"/>
c54a00
+        </operations>
c54a00
+        <meta_attributes id="outside_resource-meta_attributes"/>
c54a00
+      </primitive>
c54a00
+      <group id="grp">
c54a00
+        <primitive class="ocf" id="inside_resource_2" provider="pacemaker" type="Dummy">
c54a00
+          <operations>
c54a00
+            <op id="inside_resource_2-migrate_from-interval-0s" interval="0s" name="migrate_from" timeout="20"/>
c54a00
+            <op id="inside_resource_2-migrate_to-interval-0s" interval="0s" name="migrate_to" timeout="20"/>
c54a00
+            <op id="inside_resource_2-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
c54a00
+            <op id="inside_resource_2-reload-interval-0s" interval="0s" name="reload" timeout="20"/>
c54a00
+            <op id="inside_resource_2-start-interval-0s" interval="0s" name="start" timeout="20"/>
c54a00
+            <op id="inside_resource_2-stop-interval-0s" interval="0s" name="stop" timeout="20"/>
c54a00
+          </operations>
c54a00
+        </primitive>
c54a00
+        <primitive class="ocf" id="inside_resource_3" provider="pacemaker" type="Dummy">
c54a00
+          <operations>
c54a00
+            <op id="inside_resource_3-migrate_from-interval-0s" interval="0s" name="migrate_from" timeout="20"/>
c54a00
+            <op id="inside_resource_3-migrate_to-interval-0s" interval="0s" name="migrate_to" timeout="20"/>
c54a00
+            <op id="inside_resource_3-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
c54a00
+            <op id="inside_resource_3-reload-interval-0s" interval="0s" name="reload" timeout="20"/>
c54a00
+            <op id="inside_resource_3-start-interval-0s" interval="0s" name="start" timeout="20"/>
c54a00
+            <op id="inside_resource_3-stop-interval-0s" interval="0s" name="stop" timeout="20"/>
c54a00
+          </operations>
c54a00
+        </primitive>
c54a00
+      </group>
c54a00
+    </resources>
c54a00
+    <constraints>
c54a00
+      <rsc_location id="location-fence-fastvm-rhel-7-5-73-fastvm-rhel-7-5-73--INFINITY" node="fastvm-rhel-7-5-73" rsc="fence-fastvm-rhel-7-5-73" score="-INFINITY"/>
c54a00
+      <rsc_location id="location-fence-fastvm-rhel-7-5-74-fastvm-rhel-7-5-74--INFINITY" node="fastvm-rhel-7-5-74" rsc="fence-fastvm-rhel-7-5-74" score="-INFINITY"/>
c54a00
+      <rsc_order first="inside_resource_2" first-action="start" id="order-inside_resource_2-outside_resource-mandatory" then="outside_resource" then-action="start"/>
c54a00
+    </constraints>
c54a00
+  </configuration>
c54a00
+  <status>
c54a00
+    <node_state id="1" uname="fastvm-rhel-7-5-73" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
c54a00
+      <lrm id="1">
c54a00
+        <lrm_resources>
c54a00
+          <lrm_resource id="fence-fastvm-rhel-7-5-73" type="fence_xvm" class="stonith">
c54a00
+            <lrm_rsc_op id="fence-fastvm-rhel-7-5-73_last_0" operation_key="fence-fastvm-rhel-7-5-73_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="2:0:7:6895fb61-9ed3-458d-8207-59cfaf0c8079" transition-magic="0:7;2:0:7:6895fb61-9ed3-458d-8207-59cfaf0c8079" exit-reason="" on_node="fastvm-rhel-7-5-73" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1532677735" last-rc-change="1532677735" exec-time="2" queue-time="0" op-digest="19df1a0b16e49519b6ad60ced7864b32"/>
c54a00
+          </lrm_resource>
c54a00
+          <lrm_resource id="fence-fastvm-rhel-7-5-74" type="fence_xvm" class="stonith">
c54a00
+            <lrm_rsc_op id="fence-fastvm-rhel-7-5-74_last_0" operation_key="fence-fastvm-rhel-7-5-74_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="10:1:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" transition-magic="0:0;10:1:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" exit-reason="" on_node="fastvm-rhel-7-5-73" call-id="10" rc-code="0" op-status="0" interval="0" last-run="1532677735" last-rc-change="1532677735" exec-time="34" queue-time="0" op-digest="0b321829ad4a026df6dcad0efa304d0d"/>
c54a00
+            <lrm_rsc_op id="fence-fastvm-rhel-7-5-74_monitor_30000" operation_key="fence-fastvm-rhel-7-5-74_monitor_30000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="11:1:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" transition-magic="0:0;11:1:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" exit-reason="" on_node="fastvm-rhel-7-5-73" call-id="19" rc-code="0" op-status="0" interval="30000" last-rc-change="1532677735" exec-time="27" queue-time="0" op-digest="37581a67508cb0e5baab51caa4d57481"/>
c54a00
+          </lrm_resource>
c54a00
+          <lrm_resource id="inside_resource_2" type="Dummy" class="ocf" provider="pacemaker">
c54a00
+            <lrm_rsc_op id="inside_resource_2_last_0" operation_key="inside_resource_2_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="12:40:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" transition-magic="0:0;12:40:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" exit-reason="" on_node="fastvm-rhel-7-5-73" call-id="119" rc-code="0" op-status="0" interval="0" last-run="1532679131" last-rc-change="1532679131" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" envfile  op_sleep  passwd  state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-secure-params=" passwd " op-secure-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
c54a00
+            <lrm_rsc_op id="inside_resource_2_monitor_10000" operation_key="inside_resource_2_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="12:34:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" transition-magic="0:0;12:34:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" exit-reason="" on_node="fastvm-rhel-7-5-73" call-id="98" rc-code="0" op-status="0" interval="10000" last-rc-change="1532679034" exec-time="16" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" op-secure-params=" passwd " op-secure-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
c54a00
+          </lrm_resource>
c54a00
+          <lrm_resource id="inside_resource_3" type="Dummy" class="ocf" provider="pacemaker">
c54a00
+            <lrm_rsc_op id="inside_resource_3_last_0" operation_key="inside_resource_3_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="15:38:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" transition-magic="0:0;15:38:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" exit-reason="" on_node="fastvm-rhel-7-5-73" call-id="111" rc-code="0" op-status="0" interval="0" last-run="1532679120" last-rc-change="1532679120" exec-time="14" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" envfile  op_sleep  passwd  state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-secure-params=" passwd " op-secure-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
c54a00
+            <lrm_rsc_op id="inside_resource_3_monitor_10000" operation_key="inside_resource_3_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="3:37:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" transition-magic="0:0;3:37:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" exit-reason="" on_node="fastvm-rhel-7-5-73" call-id="109" rc-code="0" op-status="0" interval="10000" last-rc-change="1532679109" exec-time="11" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" op-secure-params=" passwd " op-secure-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
c54a00
+          </lrm_resource>
c54a00
+          <lrm_resource id="outside_resource" type="Dummy" class="ocf" provider="pacemaker">
c54a00
+            <lrm_rsc_op id="outside_resource_last_0" operation_key="outside_resource_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="11:111:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" transition-magic="0:0;11:111:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" exit-reason="" on_node="fastvm-rhel-7-5-73" call-id="128" rc-code="0" op-status="0" interval="0" last-run="1532740007" last-rc-change="1532740007" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" envfile  op_sleep  passwd  state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-secure-params=" passwd " op-secure-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
c54a00
+            <lrm_rsc_op id="outside_resource_monitor_10000" operation_key="outside_resource_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="12:111:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" transition-magic="0:0;12:111:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" exit-reason="" on_node="fastvm-rhel-7-5-73" call-id="129" rc-code="0" op-status="0" interval="10000" last-rc-change="1532740007" exec-time="11" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" op-secure-params=" passwd " op-secure-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
c54a00
+            <lrm_rsc_op id="outside_resource_last_failure_0" operation_key="outside_resource_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="12:111:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" transition-magic="0:7;12:111:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" exit-reason="" on_node="fastvm-rhel-7-5-73" call-id="129" rc-code="7" op-status="0" interval="10000" last-rc-change="1532740638" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" op-secure-params=" passwd " op-secure-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
c54a00
+          </lrm_resource>
c54a00
+        </lrm_resources>
c54a00
+      </lrm>
c54a00
+      <transient_attributes id="1">
c54a00
+        <instance_attributes id="status-1">
c54a00
+          <nvpair id="status-1-fail-count-outside_resource.monitor_10000" name="fail-count-outside_resource#monitor_10000" value="1"/>
c54a00
+          <nvpair id="status-1-last-failure-outside_resource.monitor_10000" name="last-failure-outside_resource#monitor_10000" value="1532740638"/>
c54a00
+        </instance_attributes>
c54a00
+      </transient_attributes>
c54a00
+    </node_state>
c54a00
+    <node_state id="2" uname="fastvm-rhel-7-5-74" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
c54a00
+      <lrm id="2">
c54a00
+        <lrm_resources>
c54a00
+          <lrm_resource id="fence-fastvm-rhel-7-5-73" type="fence_xvm" class="stonith">
c54a00
+            <lrm_rsc_op id="fence-fastvm-rhel-7-5-73_last_0" operation_key="fence-fastvm-rhel-7-5-73_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="8:1:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" transition-magic="0:0;8:1:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" exit-reason="" on_node="fastvm-rhel-7-5-74" call-id="10" rc-code="0" op-status="0" interval="0" last-run="1532677735" last-rc-change="1532677735" exec-time="28" queue-time="0" op-digest="19df1a0b16e49519b6ad60ced7864b32"/>
c54a00
+            <lrm_rsc_op id="fence-fastvm-rhel-7-5-73_monitor_30000" operation_key="fence-fastvm-rhel-7-5-73_monitor_30000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="9:1:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" transition-magic="0:0;9:1:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" exit-reason="" on_node="fastvm-rhel-7-5-74" call-id="15" rc-code="0" op-status="0" interval="30000" last-rc-change="1532677735" exec-time="32" queue-time="0" op-digest="70d4caa7832da5fcdf131e29ea3936b7"/>
c54a00
+          </lrm_resource>
c54a00
+          <lrm_resource id="fence-fastvm-rhel-7-5-74" type="fence_xvm" class="stonith">
c54a00
+            <lrm_rsc_op id="fence-fastvm-rhel-7-5-74_last_0" operation_key="fence-fastvm-rhel-7-5-74_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="6:0:7:6895fb61-9ed3-458d-8207-59cfaf0c8079" transition-magic="0:7;6:0:7:6895fb61-9ed3-458d-8207-59cfaf0c8079" exit-reason="" on_node="fastvm-rhel-7-5-74" call-id="9" rc-code="7" op-status="0" interval="0" last-run="1532677735" last-rc-change="1532677735" exec-time="0" queue-time="0" op-digest="0b321829ad4a026df6dcad0efa304d0d"/>
c54a00
+          </lrm_resource>
c54a00
+          <lrm_resource id="outside_resource" type="Dummy" class="ocf" provider="pacemaker">
c54a00
+            <lrm_rsc_op id="outside_resource_last_0" operation_key="outside_resource_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="12:15:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" transition-magic="0:0;12:15:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" exit-reason="" on_node="fastvm-rhel-7-5-74" call-id="37" rc-code="0" op-status="0" interval="0" last-run="1532678303" last-rc-change="1532678303" exec-time="18" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" envfile  op_sleep  passwd  state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-secure-params=" passwd " op-secure-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
c54a00
+            <lrm_rsc_op id="outside_resource_monitor_10000" operation_key="outside_resource_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="14:12:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" transition-magic="0:0;14:12:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" exit-reason="" on_node="fastvm-rhel-7-5-74" call-id="35" rc-code="0" op-status="0" interval="10000" last-rc-change="1532678229" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" op-secure-params=" passwd " op-secure-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
c54a00
+          </lrm_resource>
c54a00
+          <lrm_resource id="inside_resource_2" type="Dummy" class="ocf" provider="pacemaker">
c54a00
+            <lrm_rsc_op id="inside_resource_2_last_0" operation_key="inside_resource_2_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="13:40:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" transition-magic="0:0;13:40:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" exit-reason="" on_node="fastvm-rhel-7-5-74" call-id="45" rc-code="0" op-status="0" interval="0" last-run="1532679131" last-rc-change="1532679131" exec-time="14" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" envfile  op_sleep  passwd  state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-secure-params=" passwd " op-secure-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
c54a00
+            <lrm_rsc_op id="inside_resource_2_monitor_10000" operation_key="inside_resource_2_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="14:40:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" transition-magic="0:0;14:40:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" exit-reason="" on_node="fastvm-rhel-7-5-74" call-id="46" rc-code="0" op-status="0" interval="10000" last-rc-change="1532679131" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" op-secure-params=" passwd " op-secure-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
c54a00
+          </lrm_resource>
c54a00
+          <lrm_resource id="inside_resource_3" type="Dummy" class="ocf" provider="pacemaker">
c54a00
+            <lrm_rsc_op id="inside_resource_3_last_0" operation_key="inside_resource_3_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="15:113:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" transition-magic="0:0;15:113:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" exit-reason="" on_node="fastvm-rhel-7-5-74" call-id="323" rc-code="0" op-status="0" interval="0" last-run="1532740638" last-rc-change="1532740638" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" envfile  op_sleep  passwd  state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-secure-params=" passwd " op-secure-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
c54a00
+            <lrm_rsc_op id="inside_resource_3_monitor_10000" operation_key="inside_resource_3_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="5:113:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" transition-magic="0:0;5:113:0:6895fb61-9ed3-458d-8207-59cfaf0c8079" exit-reason="" on_node="fastvm-rhel-7-5-74" call-id="324" rc-code="0" op-status="0" interval="10000" last-rc-change="1532740638" exec-time="11" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" op-secure-params=" passwd " op-secure-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
c54a00
+          </lrm_resource>
c54a00
+        </lrm_resources>
c54a00
+      </lrm>
c54a00
+    </node_state>
c54a00
+  </status>
c54a00
+</cib>
c54a00
-- 
c54a00
1.8.3.1
c54a00