Blob Blame History Raw
From 8a0a16c8ed72c74d656664694ebe36b76ff22498 Mon Sep 17 00:00:00 2001
From: Ken Gaillot <kgaillot@redhat.com>
Date: Wed, 30 Mar 2022 17:14:33 -0500
Subject: [PATCH] Test: cts-scheduler: add test for
 multiple-active=stop_unexpected

---
 cts/cts-scheduler.in                          |   1 +
 cts/scheduler/dot/stop-unexpected.dot         |  40 ++++
 cts/scheduler/exp/stop-unexpected.exp         | 201 ++++++++++++++++++
 cts/scheduler/scores/stop-unexpected.scores   |  17 ++
 cts/scheduler/summary/stop-unexpected.summary |  41 ++++
 cts/scheduler/xml/stop-unexpected.xml         | 131 ++++++++++++
 6 files changed, 431 insertions(+)
 create mode 100644 cts/scheduler/dot/stop-unexpected.dot
 create mode 100644 cts/scheduler/exp/stop-unexpected.exp
 create mode 100644 cts/scheduler/scores/stop-unexpected.scores
 create mode 100644 cts/scheduler/summary/stop-unexpected.summary
 create mode 100644 cts/scheduler/xml/stop-unexpected.xml

diff --git a/cts/cts-scheduler.in b/cts/cts-scheduler.in
index 3a8aeaca5..8c04687da 100644
--- a/cts/cts-scheduler.in
+++ b/cts/cts-scheduler.in
@@ -273,6 +273,7 @@ TESTS = [
         [ "rec-rsc-6", "Resource Recover - multiple - restart" ],
         [ "rec-rsc-7", "Resource Recover - multiple - stop" ],
         [ "rec-rsc-8", "Resource Recover - multiple - block" ],
+        [ "stop-unexpected", "Resource Recover - multiple - stop unexpected" ],
         [ "rec-rsc-9", "Resource Recover - group/group" ],
         [ "monitor-recovery", "on-fail=block + resource recovery detected by recurring monitor" ],
         [ "stop-failure-no-quorum", "Stop failure without quorum" ],
diff --git a/cts/scheduler/dot/stop-unexpected.dot b/cts/scheduler/dot/stop-unexpected.dot
new file mode 100644
index 000000000..0f67eec54
--- /dev/null
+++ b/cts/scheduler/dot/stop-unexpected.dot
@@ -0,0 +1,40 @@
+ digraph "g" {
+"dgroup_running_0" [ style=bold color="green" fontcolor="orange"]
+"dgroup_start_0" -> "dgroup_running_0" [ style = bold]
+"dgroup_start_0" -> "dummy2_start_0 node2" [ style = bold]
+"dgroup_start_0" -> "dummy3_start_0 node2" [ style = bold]
+"dgroup_start_0" -> "dummy_start_0 node2" [ style = bold]
+"dgroup_start_0" [ style=bold color="green" fontcolor="orange"]
+"dgroup_stop_0" -> "dgroup_stopped_0" [ style = bold]
+"dgroup_stop_0" -> "dummy2_stop_0 node2" [ style = bold]
+"dgroup_stop_0" -> "dummy3_stop_0 node2" [ style = bold]
+"dgroup_stop_0" -> "dummy_stop_0 node3" [ style = bold]
+"dgroup_stop_0" [ style=bold color="green" fontcolor="orange"]
+"dgroup_stopped_0" -> "dgroup_start_0" [ style = bold]
+"dgroup_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"dummy2_monitor_10000 node2" [ style=bold color="green" fontcolor="black"]
+"dummy2_start_0 node2" -> "dgroup_running_0" [ style = bold]
+"dummy2_start_0 node2" -> "dummy2_monitor_10000 node2" [ style = bold]
+"dummy2_start_0 node2" -> "dummy3_start_0 node2" [ style = bold]
+"dummy2_start_0 node2" [ style=bold color="green" fontcolor="black"]
+"dummy2_stop_0 node2" -> "dgroup_stopped_0" [ style = bold]
+"dummy2_stop_0 node2" -> "dummy2_start_0 node2" [ style = bold]
+"dummy2_stop_0 node2" -> "dummy_stop_0 node3" [ style = bold]
+"dummy2_stop_0 node2" [ style=bold color="green" fontcolor="black"]
+"dummy3_monitor_10000 node2" [ style=bold color="green" fontcolor="black"]
+"dummy3_start_0 node2" -> "dgroup_running_0" [ style = bold]
+"dummy3_start_0 node2" -> "dummy3_monitor_10000 node2" [ style = bold]
+"dummy3_start_0 node2" [ style=bold color="green" fontcolor="black"]
+"dummy3_stop_0 node2" -> "dgroup_stopped_0" [ style = bold]
+"dummy3_stop_0 node2" -> "dummy2_stop_0 node2" [ style = bold]
+"dummy3_stop_0 node2" -> "dummy3_start_0 node2" [ style = bold]
+"dummy3_stop_0 node2" [ style=bold color="green" fontcolor="black"]
+"dummy_monitor_10000 node2" [ style=bold color="green" fontcolor="black"]
+"dummy_start_0 node2" -> "dgroup_running_0" [ style = bold]
+"dummy_start_0 node2" -> "dummy2_start_0 node2" [ style = bold]
+"dummy_start_0 node2" -> "dummy_monitor_10000 node2" [ style = bold]
+"dummy_start_0 node2" [ style=bold color="green" fontcolor="orange"]
+"dummy_stop_0 node3" -> "dgroup_stopped_0" [ style = bold]
+"dummy_stop_0 node3" -> "dummy_start_0 node2" [ style = bold]
+"dummy_stop_0 node3" [ style=bold color="green" fontcolor="black"]
+}
diff --git a/cts/scheduler/exp/stop-unexpected.exp b/cts/scheduler/exp/stop-unexpected.exp
new file mode 100644
index 000000000..1f94532f7
--- /dev/null
+++ b/cts/scheduler/exp/stop-unexpected.exp
@@ -0,0 +1,201 @@
+<transition_graph cluster-delay="60s" stonith-timeout="90" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0">
+    <action_set>
+      <pseudo_event id="15" operation="stopped" operation_key="dgroup_stopped_0">
+        <attributes CRM_meta_record_pending="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="4" operation="stop" operation_key="dummy_stop_0" on_node="node3" on_node_uuid="node3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="8" operation="stop" operation_key="dummy2_stop_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="10" operation="stop" operation_key="dummy3_stop_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="14" operation="stop" operation_key="dgroup_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <pseudo_event id="14" operation="stop" operation_key="dgroup_stop_0">
+        <attributes CRM_meta_record_pending="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="2">
+    <action_set>
+      <pseudo_event id="13" operation="running" operation_key="dgroup_running_0">
+        <attributes CRM_meta_record_pending="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="7" operation="start" operation_key="dummy_start_0"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="9" operation="start" operation_key="dummy2_start_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="11" operation="start" operation_key="dummy3_start_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="12" operation="start" operation_key="dgroup_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <pseudo_event id="12" operation="start" operation_key="dgroup_start_0">
+        <attributes CRM_meta_record_pending="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="15" operation="stopped" operation_key="dgroup_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="4">
+    <action_set>
+      <pseudo_event id="7" operation="start" operation_key="dummy_start_0">
+        <attributes CRM_meta_name="start" CRM_meta_record_pending="false" CRM_meta_timeout="300000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="4" operation="stop" operation_key="dummy_stop_0" on_node="node3" on_node_uuid="node3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="12" operation="start" operation_key="dgroup_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <rsc_op id="4" operation="stop" operation_key="dummy_stop_0" on_node="node3" on_node_uuid="node3">
+        <primitive id="dummy" class="ocf" provider="heartbeat" type="DummyTimeout"/>
+        <attributes CRM_meta_name="stop" CRM_meta_on_node="node3" CRM_meta_on_node_uuid="node3" CRM_meta_record_pending="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="8" operation="stop" operation_key="dummy2_stop_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="14" operation="stop" operation_key="dgroup_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="6">
+    <action_set>
+      <rsc_op id="2" operation="monitor" operation_key="dummy_monitor_10000" on_node="node2" on_node_uuid="node2">
+        <primitive id="dummy" class="ocf" provider="heartbeat" type="DummyTimeout"/>
+        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_on_node="node2" CRM_meta_on_node_uuid="node2" CRM_meta_record_pending="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="7" operation="start" operation_key="dummy_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="7">
+    <action_set>
+      <rsc_op id="9" operation="start" operation_key="dummy2_start_0" on_node="node2" on_node_uuid="node2">
+        <primitive id="dummy2" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_name="start" CRM_meta_on_node="node2" CRM_meta_on_node_uuid="node2" CRM_meta_record_pending="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="7" operation="start" operation_key="dummy_start_0"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="8" operation="stop" operation_key="dummy2_stop_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="12" operation="start" operation_key="dgroup_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="8">
+    <action_set>
+      <rsc_op id="8" operation="stop" operation_key="dummy2_stop_0" on_node="node2" on_node_uuid="node2">
+        <primitive id="dummy2" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_name="stop" CRM_meta_on_node="node2" CRM_meta_on_node_uuid="node2" CRM_meta_record_pending="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="10" operation="stop" operation_key="dummy3_stop_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="14" operation="stop" operation_key="dgroup_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="9">
+    <action_set>
+      <rsc_op id="3" operation="monitor" operation_key="dummy2_monitor_10000" on_node="node2" on_node_uuid="node2">
+        <primitive id="dummy2" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_on_node="node2" CRM_meta_on_node_uuid="node2" CRM_meta_record_pending="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="9" operation="start" operation_key="dummy2_start_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="10">
+    <action_set>
+      <rsc_op id="11" operation="start" operation_key="dummy3_start_0" on_node="node2" on_node_uuid="node2">
+        <primitive id="dummy3" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_name="start" CRM_meta_on_node="node2" CRM_meta_on_node_uuid="node2" CRM_meta_record_pending="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="9" operation="start" operation_key="dummy2_start_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="10" operation="stop" operation_key="dummy3_stop_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="12" operation="start" operation_key="dgroup_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="11">
+    <action_set>
+      <rsc_op id="10" operation="stop" operation_key="dummy3_stop_0" on_node="node2" on_node_uuid="node2">
+        <primitive id="dummy3" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_name="stop" CRM_meta_on_node="node2" CRM_meta_on_node_uuid="node2" CRM_meta_record_pending="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="14" operation="stop" operation_key="dgroup_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="12">
+    <action_set>
+      <rsc_op id="1" operation="monitor" operation_key="dummy3_monitor_10000" on_node="node2" on_node_uuid="node2">
+        <primitive id="dummy3" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_on_node="node2" CRM_meta_on_node_uuid="node2" CRM_meta_record_pending="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="11" operation="start" operation_key="dummy3_start_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/cts/scheduler/scores/stop-unexpected.scores b/cts/scheduler/scores/stop-unexpected.scores
new file mode 100644
index 000000000..68f98e837
--- /dev/null
+++ b/cts/scheduler/scores/stop-unexpected.scores
@@ -0,0 +1,17 @@
+
+pcmk__group_allocate: dgroup allocation score on node2: 0
+pcmk__group_allocate: dgroup allocation score on node3: 0
+pcmk__group_allocate: dummy allocation score on node2: 0
+pcmk__group_allocate: dummy allocation score on node3: 0
+pcmk__group_allocate: dummy2 allocation score on node2: 100
+pcmk__group_allocate: dummy2 allocation score on node3: 0
+pcmk__group_allocate: dummy3 allocation score on node2: 100
+pcmk__group_allocate: dummy3 allocation score on node3: 0
+pcmk__native_allocate: dummy allocation score on node2: 200
+pcmk__native_allocate: dummy allocation score on node3: 0
+pcmk__native_allocate: dummy2 allocation score on node2: 200
+pcmk__native_allocate: dummy2 allocation score on node3: -INFINITY
+pcmk__native_allocate: dummy3 allocation score on node2: 100
+pcmk__native_allocate: dummy3 allocation score on node3: -INFINITY
+pcmk__native_allocate: st-sbd allocation score on node2: 100
+pcmk__native_allocate: st-sbd allocation score on node3: 0
diff --git a/cts/scheduler/summary/stop-unexpected.summary b/cts/scheduler/summary/stop-unexpected.summary
new file mode 100644
index 000000000..7c7fc68b6
--- /dev/null
+++ b/cts/scheduler/summary/stop-unexpected.summary
@@ -0,0 +1,41 @@
+Current cluster status:
+  * Node List:
+    * Online: [ node2 node3 ]
+
+  * Full List of Resources:
+    * st-sbd	(stonith:external/sbd):	 Started node2
+    * Resource Group: dgroup:
+      * dummy	(ocf:heartbeat:DummyTimeout):	 FAILED [ node2 node3 ]
+      * dummy2	(ocf:heartbeat:Dummy):	 Started node2
+      * dummy3	(ocf:heartbeat:Dummy):	 Started node2
+
+Transition Summary:
+  * Recover    dummy      ( node2 )  due to being multiply active
+  * Restart    dummy2     ( node2 )  due to required dummy start
+  * Restart    dummy3     ( node2 )  due to required dummy2 start
+
+Executing Cluster Transition:
+  * Pseudo action:   dgroup_stop_0
+  * Resource action: dummy3          stop on node2
+  * Resource action: dummy2          stop on node2
+  * Resource action: dummy           stop on node3
+  * Pseudo action:   dgroup_stopped_0
+  * Pseudo action:   dgroup_start_0
+  * Pseudo action:   dummy_start_0
+  * Resource action: dummy           monitor=10000 on node2
+  * Resource action: dummy2          start on node2
+  * Resource action: dummy2          monitor=10000 on node2
+  * Resource action: dummy3          start on node2
+  * Resource action: dummy3          monitor=10000 on node2
+  * Pseudo action:   dgroup_running_0
+
+Revised Cluster Status:
+  * Node List:
+    * Online: [ node2 node3 ]
+
+  * Full List of Resources:
+    * st-sbd	(stonith:external/sbd):	 Started node2
+    * Resource Group: dgroup:
+      * dummy	(ocf:heartbeat:DummyTimeout):	 Started node2
+      * dummy2	(ocf:heartbeat:Dummy):	 Started node2
+      * dummy3	(ocf:heartbeat:Dummy):	 Started node2
diff --git a/cts/scheduler/xml/stop-unexpected.xml b/cts/scheduler/xml/stop-unexpected.xml
new file mode 100644
index 000000000..6e61aeba3
--- /dev/null
+++ b/cts/scheduler/xml/stop-unexpected.xml
@@ -0,0 +1,131 @@
+<cib epoch="631" num_updates="25" admin_epoch="0" validate-with="pacemaker-3.0" crm_feature_set="3.0.8" have-quorum="1" cib-last-written="Thu Aug 20 11:44:27 2015" update-origin="node2" update-client="cibadmin" update-user="root" dc-uuid="node2">
+  <configuration>
+    <crm_config>
+      <cluster_property_set id="cib-bootstrap-options">
+        <nvpair name="dc-version" value="1.1.11-3ca8c3b" id="cib-bootstrap-options-dc-version"/>
+        <nvpair name="cluster-infrastructure" value="corosync" id="cib-bootstrap-options-cluster-infrastructure"/>
+        <nvpair name="node-action-limit" value="2" id="cib-bootstrap-options-node-action-limit"/>
+        <nvpair name="no-quorum-policy" value="ignore" id="cib-bootstrap-options-no-quorum-policy"/>
+        <nvpair name="stonith-enabled" value="false" id="cib-bootstrap-options-stonith-enabled"/>
+        <nvpair name="stonith-timeout" value="90" id="cib-bootstrap-options-stonith-timeout"/>
+        <nvpair name="last-lrm-refresh" value="1439556204" id="cib-bootstrap-options-last-lrm-refresh"/>
+      </cluster_property_set>
+    </crm_config>
+    <nodes>
+      <node uname="node2" id="node2">
+        <instance_attributes id="nodes-node2">
+          <nvpair id="nodes-node2-standby" name="standby" value="off"/>
+        </instance_attributes>
+      </node>
+      <node id="node3" uname="node3">
+        <instance_attributes id="nodes-node3">
+          <nvpair id="nodes-node3-standby" name="standby" value="off"/>
+        </instance_attributes>
+      </node>
+    </nodes>
+    <resources>
+      <primitive id="st-sbd" class="stonith" type="external/sbd"/>
+      <group id="dgroup">
+        <meta_attributes id="dgroup-meta_attributes">
+          <nvpair name="multiple-active" value="stop_unexpected" id="dgroup-meta_attributes-multiple-active"/>
+        </meta_attributes>
+        <primitive id="dummy" class="ocf" provider="heartbeat" type="DummyTimeout">
+          <operations>
+            <op name="monitor" interval="10s" timeout="20" id="dummy-monitor-10s"/>
+            <op name="start" timeout="300s" interval="0" id="dummy-start-0"/>
+            <op name="stop" timeout="20s" interval="0" id="dummy-stop-0"/>
+          </operations>
+          <meta_attributes id="dummy-meta_attributes">
+            <nvpair name="target-role" value="Started" id="dummy-meta_attributes-target-role"/>
+          </meta_attributes>
+        </primitive>
+        <primitive id="dummy2" class="ocf" provider="heartbeat" type="Dummy">
+          <operations>
+            <op name="monitor" interval="10s" timeout="20" id="dummy2-monitor-10s"/>
+            <op name="start" timeout="20s" interval="0" id="dummy2-start-0"/>
+            <op name="stop" timeout="20s" interval="0" id="dummy2-stop-0"/>
+          </operations>
+          <meta_attributes id="dummy2-meta_attributes">
+            <nvpair name="target-role" value="Started" id="dummy2-meta_attributes-target-role"/>
+          </meta_attributes>
+        </primitive>
+        <primitive id="dummy3" class="ocf" provider="heartbeat" type="Dummy">
+          <operations>
+            <op name="monitor" interval="10s" timeout="20" id="dummy3-monitor-10s"/>
+            <op name="start" timeout="20s" interval="0" id="dummy3-start-0"/>
+            <op name="stop" timeout="20s" interval="0" id="dummy3-stop-0"/>
+          </operations>
+          <meta_attributes id="dummy3-meta_attributes">
+            <nvpair name="target-role" value="Started" id="dummy3-meta_attributes-target-role"/>
+          </meta_attributes>
+        </primitive>
+      </group>
+    </resources>
+    <constraints/>
+    <op_defaults>
+      <meta_attributes id="op_defaults-options">
+        <nvpair id="op_defaults-options-record-pending" name="record-pending" value="false"/>
+      </meta_attributes>
+    </op_defaults>
+    <rsc_defaults>
+      <meta_attributes id="rsc_defaults-options">
+        <nvpair name="resource-stickiness" value="100" id="rsc_defaults-options-resource-stickiness"/>
+        <nvpair name="migration-threshold" value="100" id="rsc_defaults-options-migration-threshold"/>
+      </meta_attributes>
+    </rsc_defaults>
+  </configuration>
+  <status>
+    <node_state id="node2" uname="node2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="node2">
+        <instance_attributes id="status-node2">
+          <nvpair id="status-node2-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-node2-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="node2">
+        <lrm_resources>
+          <lrm_resource id="dummy3" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="dummy3_last_0" operation_key="dummy3_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.8" transition-key="13:1:0:b78eae54-472e-4e90-a3c5-ec4b25a6d8cf" transition-magic="0:0;13:1:0:b78eae54-472e-4e90-a3c5-ec4b25a6d8cf" call-id="24" rc-code="0" op-status="0" interval="0" last-run="1440063239" last-rc-change="1440063239" exec-time="6" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="dummy3_monitor_10000" operation_key="dummy3_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.8" transition-key="14:1:0:b78eae54-472e-4e90-a3c5-ec4b25a6d8cf" transition-magic="0:0;14:1:0:b78eae54-472e-4e90-a3c5-ec4b25a6d8cf" call-id="25" rc-code="0" op-status="0" interval="10000" last-rc-change="1440063239" exec-time="5" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="st-sbd" type="external/sbd" class="stonith">
+            <lrm_rsc_op id="st-sbd_last_0" operation_key="st-sbd_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.8" transition-key="10:6:0:b78eae54-472e-4e90-a3c5-ec4b25a6d8cf" transition-magic="0:0;10:6:0:b78eae54-472e-4e90-a3c5-ec4b25a6d8cf" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1440064019" last-rc-change="1440064019" exec-time="1213" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="dummy" type="DummyTimeout" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.8" transition-key="9:1:0:b78eae54-472e-4e90-a3c5-ec4b25a6d8cf" transition-magic="0:0;9:1:0:b78eae54-472e-4e90-a3c5-ec4b25a6d8cf" call-id="20" rc-code="0" op-status="0" interval="0" last-run="1440063237" last-rc-change="1440063237" exec-time="1009" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="dummy_monitor_10000" operation_key="dummy_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.8" transition-key="10:1:0:b78eae54-472e-4e90-a3c5-ec4b25a6d8cf" transition-magic="0:0;10:1:0:b78eae54-472e-4e90-a3c5-ec4b25a6d8cf" call-id="21" rc-code="0" op-status="0" interval="10000" last-rc-change="1440063238" exec-time="1010" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="dummy2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="dummy2_last_0" operation_key="dummy2_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.8" transition-key="11:1:0:b78eae54-472e-4e90-a3c5-ec4b25a6d8cf" transition-magic="0:0;11:1:0:b78eae54-472e-4e90-a3c5-ec4b25a6d8cf" call-id="22" rc-code="0" op-status="0" interval="0" last-run="1440063239" last-rc-change="1440063239" exec-time="5" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="dummy2_monitor_10000" operation_key="dummy2_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.8" transition-key="12:1:0:b78eae54-472e-4e90-a3c5-ec4b25a6d8cf" transition-magic="0:0;12:1:0:b78eae54-472e-4e90-a3c5-ec4b25a6d8cf" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1440063239" exec-time="5" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="node3" uname="node3" crmd="online" crm-debug-origin="do_update_resource" in_ccm="true" join="member" expected="member">
+      <transient_attributes id="node3">
+        <instance_attributes id="status-node3">
+          <nvpair id="status-node3-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-node3-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="node3">
+        <lrm_resources>
+          <lrm_resource id="dummy3" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="dummy3_last_0" operation_key="dummy3_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.8" transition-key="11:2:7:b78eae54-472e-4e90-a3c5-ec4b25a6d8cf" transition-magic="0:7;11:2:7:b78eae54-472e-4e90-a3c5-ec4b25a6d8cf" call-id="18" rc-code="7" op-status="0" interval="0" last-run="1440063820" last-rc-change="1440063820" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="st-sbd" type="external/sbd" class="stonith">
+            <lrm_rsc_op id="st-sbd_last_0" operation_key="st-sbd_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.8" transition-key="9:6:0:b78eae54-472e-4e90-a3c5-ec4b25a6d8cf" transition-magic="0:0;9:6:0:b78eae54-472e-4e90-a3c5-ec4b25a6d8cf" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1440064019" last-rc-change="1440064019" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="dummy" type="DummyTimeout" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.8" transition-key="5:0:0:a5e85e43-f35a-4f75-8e15-f0ddc8d81812" transition-magic="0:7;5:0:0:a5e85e43-f35a-4f75-8e15-f0ddc8d81812" call-id="20" rc-code="7" op-status="0" interval="0" last-run="1440063984" last-rc-change="1440063984" exec-time="179014" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="dummy_last_failure_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.8" transition-key="5:0:0:a5e85e43-f35a-4f75-8e15-f0ddc8d81812" transition-magic="0:7;5:0:0:a5e85e43-f35a-4f75-8e15-f0ddc8d81812" call-id="20" rc-code="7" op-status="0" interval="0" last-run="1440063984" last-rc-change="1440063984" exec-time="179014" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="dummy2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="dummy2_last_0" operation_key="dummy2_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.8" transition-key="10:2:7:b78eae54-472e-4e90-a3c5-ec4b25a6d8cf" transition-magic="0:7;10:2:7:b78eae54-472e-4e90-a3c5-ec4b25a6d8cf" call-id="14" rc-code="7" op-status="0" interval="0" last-run="1440063820" last-rc-change="1440063820" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+  </status>
+</cib>
-- 
2.27.0