commit 63ee6f2269b5672687c6df7120f2309e89c3e9bc
Author: Gao,Yan <ygao@suse.com>
Date:   Thu Jan 29 20:28:39 2015 +0100

    Test: pengine: Handle ordering between stateful and migratable resources (regression tests)

Index: pacemaker/pengine/regression.sh
===================================================================
--- pacemaker.orig/pengine/regression.sh
+++ pacemaker/pengine/regression.sh
@@ -289,6 +289,9 @@ do_test 9-am-then-bm-b-migrating-a-stopp
 do_test 10-a-then-bm-b-move-a-clone "Advanced migrate logic, A clone then B, migrate B while stopping A"
 do_test 11-a-then-bm-b-move-a-clone-starting "Advanced migrate logic, A clone then B, B moving while A is start/stopping"
 
+do_test a-promote-then-b-migrate "A promote then B start. migrate B"
+do_test a-demote-then-b-migrate "A demote then B stop. migrate B"
+
 #echo ""
 #do_test complex1 "Complex	"
 
Index: pacemaker/pengine/test10/a-demote-then-b-migrate.dot
===================================================================
--- /dev/null
+++ pacemaker/pengine/test10/a-demote-then-b-migrate.dot
@@ -0,0 +1,86 @@
+digraph "g" {
+"Cancel rsc1:0_monitor_10000 node2" -> "rsc1:0_promote_0 node2" [ style = bold]
+"Cancel rsc1:0_monitor_10000 node2" [ style=bold color="green" fontcolor="black"]
+"Cancel rsc1:1_monitor_5000 node1" -> "rsc1:1_demote_0 node1" [ style = bold]
+"Cancel rsc1:1_monitor_5000 node1" [ style=bold color="green" fontcolor="black"]
+"all_stopped" [ style=bold color="green" fontcolor="orange"]
+"ms1_confirmed-post_notify_demoted_0" -> "ms1_pre_notify_promote_0" [ style = bold]
+"ms1_confirmed-post_notify_demoted_0" -> "rsc1:0_monitor_5000 node2" [ style = bold]
+"ms1_confirmed-post_notify_demoted_0" -> "rsc1:1_monitor_10000 node1" [ style = bold]
+"ms1_confirmed-post_notify_demoted_0" -> "rsc2_migrate_to_0 node1" [ style = bold]
+"ms1_confirmed-post_notify_demoted_0" -> "rsc2_stop_0 node1" [ style = bold]
+"ms1_confirmed-post_notify_demoted_0" [ style=bold color="green" fontcolor="orange"]
+"ms1_confirmed-post_notify_promoted_0" -> "rsc1:0_monitor_5000 node2" [ style = bold]
+"ms1_confirmed-post_notify_promoted_0" -> "rsc1:1_monitor_10000 node1" [ style = bold]
+"ms1_confirmed-post_notify_promoted_0" [ style=bold color="green" fontcolor="orange"]
+"ms1_confirmed-pre_notify_demote_0" -> "ms1_demote_0" [ style = bold]
+"ms1_confirmed-pre_notify_demote_0" -> "ms1_post_notify_demoted_0" [ style = bold]
+"ms1_confirmed-pre_notify_demote_0" [ style=bold color="green" fontcolor="orange"]
+"ms1_confirmed-pre_notify_promote_0" -> "ms1_post_notify_promoted_0" [ style = bold]
+"ms1_confirmed-pre_notify_promote_0" -> "ms1_promote_0" [ style = bold]
+"ms1_confirmed-pre_notify_promote_0" [ style=bold color="green" fontcolor="orange"]
+"ms1_demote_0" -> "ms1_demoted_0" [ style = bold]
+"ms1_demote_0" -> "rsc1:1_demote_0 node1" [ style = bold]
+"ms1_demote_0" [ style=bold color="green" fontcolor="orange"]
+"ms1_demoted_0" -> "ms1_post_notify_demoted_0" [ style = bold]
+"ms1_demoted_0" -> "ms1_promote_0" [ style = bold]
+"ms1_demoted_0" [ style=bold color="green" fontcolor="orange"]
+"ms1_post_notify_demoted_0" -> "ms1_confirmed-post_notify_demoted_0" [ style = bold]
+"ms1_post_notify_demoted_0" -> "rsc1:0_post_notify_demoted_0 node2" [ style = bold]
+"ms1_post_notify_demoted_0" -> "rsc1:1_post_notify_demoted_0 node1" [ style = bold]
+"ms1_post_notify_demoted_0" [ style=bold color="green" fontcolor="orange"]
+"ms1_post_notify_promoted_0" -> "ms1_confirmed-post_notify_promoted_0" [ style = bold]
+"ms1_post_notify_promoted_0" -> "rsc1:0_post_notify_promoted_0 node2" [ style = bold]
+"ms1_post_notify_promoted_0" -> "rsc1:1_post_notify_promoted_0 node1" [ style = bold]
+"ms1_post_notify_promoted_0" [ style=bold color="green" fontcolor="orange"]
+"ms1_pre_notify_demote_0" -> "ms1_confirmed-pre_notify_demote_0" [ style = bold]
+"ms1_pre_notify_demote_0" -> "rsc1:0_pre_notify_demote_0 node2" [ style = bold]
+"ms1_pre_notify_demote_0" -> "rsc1:1_pre_notify_demote_0 node1" [ style = bold]
+"ms1_pre_notify_demote_0" [ style=bold color="green" fontcolor="orange"]
+"ms1_pre_notify_promote_0" -> "ms1_confirmed-pre_notify_promote_0" [ style = bold]
+"ms1_pre_notify_promote_0" -> "rsc1:0_pre_notify_promote_0 node2" [ style = bold]
+"ms1_pre_notify_promote_0" -> "rsc1:1_pre_notify_promote_0 node1" [ style = bold]
+"ms1_pre_notify_promote_0" [ style=bold color="green" fontcolor="orange"]
+"ms1_promote_0" -> "rsc1:0_promote_0 node2" [ style = bold]
+"ms1_promote_0" [ style=bold color="green" fontcolor="orange"]
+"ms1_promoted_0" -> "ms1_post_notify_promoted_0" [ style = bold]
+"ms1_promoted_0" [ style=bold color="green" fontcolor="orange"]
+"probe_complete node1" [ style=bold color="green" fontcolor="black"]
+"probe_complete node2" [ style=bold color="green" fontcolor="black"]
+"rsc1:0_monitor_5000 node2" [ style=bold color="green" fontcolor="black"]
+"rsc1:0_post_notify_demoted_0 node2" -> "ms1_confirmed-post_notify_demoted_0" [ style = bold]
+"rsc1:0_post_notify_demoted_0 node2" [ style=bold color="green" fontcolor="black"]
+"rsc1:0_post_notify_promoted_0 node2" -> "ms1_confirmed-post_notify_promoted_0" [ style = bold]
+"rsc1:0_post_notify_promoted_0 node2" [ style=bold color="green" fontcolor="black"]
+"rsc1:0_pre_notify_demote_0 node2" -> "ms1_confirmed-pre_notify_demote_0" [ style = bold]
+"rsc1:0_pre_notify_demote_0 node2" [ style=bold color="green" fontcolor="black"]
+"rsc1:0_pre_notify_promote_0 node2" -> "ms1_confirmed-pre_notify_promote_0" [ style = bold]
+"rsc1:0_pre_notify_promote_0 node2" [ style=bold color="green" fontcolor="black"]
+"rsc1:0_promote_0 node2" -> "ms1_promoted_0" [ style = bold]
+"rsc1:0_promote_0 node2" -> "rsc1:0_monitor_5000 node2" [ style = bold]
+"rsc1:0_promote_0 node2" [ style=bold color="green" fontcolor="black"]
+"rsc1:1_demote_0 node1" -> "ms1_demoted_0" [ style = bold]
+"rsc1:1_demote_0 node1" -> "rsc1:1_monitor_10000 node1" [ style = bold]
+"rsc1:1_demote_0 node1" [ style=bold color="green" fontcolor="black"]
+"rsc1:1_monitor_10000 node1" [ style=bold color="green" fontcolor="black"]
+"rsc1:1_post_notify_demoted_0 node1" -> "ms1_confirmed-post_notify_demoted_0" [ style = bold]
+"rsc1:1_post_notify_demoted_0 node1" [ style=bold color="green" fontcolor="black"]
+"rsc1:1_post_notify_promoted_0 node1" -> "ms1_confirmed-post_notify_promoted_0" [ style = bold]
+"rsc1:1_post_notify_promoted_0 node1" [ style=bold color="green" fontcolor="black"]
+"rsc1:1_pre_notify_demote_0 node1" -> "ms1_confirmed-pre_notify_demote_0" [ style = bold]
+"rsc1:1_pre_notify_demote_0 node1" [ style=bold color="green" fontcolor="black"]
+"rsc1:1_pre_notify_promote_0 node1" -> "ms1_confirmed-pre_notify_promote_0" [ style = bold]
+"rsc1:1_pre_notify_promote_0 node1" [ style=bold color="green" fontcolor="black"]
+"rsc2_migrate_from_0 node2" -> "rsc2_start_0 node2" [ style = bold]
+"rsc2_migrate_from_0 node2" -> "rsc2_stop_0 node1" [ style = bold]
+"rsc2_migrate_from_0 node2" [ style=bold color="green" fontcolor="black"]
+"rsc2_migrate_to_0 node1" -> "rsc2_migrate_from_0 node2" [ style = bold]
+"rsc2_migrate_to_0 node1" [ style=bold color="green" fontcolor="black"]
+"rsc2_monitor_5000 node2" [ style=bold color="green" fontcolor="black"]
+"rsc2_start_0 node2" -> "ms1_promote_0" [ style = bold]
+"rsc2_start_0 node2" -> "rsc2_monitor_5000 node2" [ style = bold]
+"rsc2_start_0 node2" [ style=bold color="green" fontcolor="orange"]
+"rsc2_stop_0 node1" -> "all_stopped" [ style = bold]
+"rsc2_stop_0 node1" -> "rsc2_start_0 node2" [ style = bold]
+"rsc2_stop_0 node1" [ style=bold color="green" fontcolor="black"]
+}
Index: pacemaker/pengine/test10/a-demote-then-b-migrate.exp
===================================================================
--- /dev/null
+++ pacemaker/pengine/test10/a-demote-then-b-migrate.exp
@@ -0,0 +1,471 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0" priority="1000000">
+    <action_set>
+      <rsc_op id="60" operation="notify" operation_key="rsc1:1_post_notify_demote_0" internal_operation_key="rsc1:0_post_notify_demote_0" on_node="node1" on_node_uuid="node1">
+        <primitive id="rsc1" long-id="rsc1:1" class="ocf" provider="pacemaker" type="Stateful"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_active_resource=" " CRM_meta_notify_active_uname=" " CRM_meta_notify_demote_resource="rsc1:0 " CRM_meta_notify_demote_uname="node1 " CRM_meta_notify_inactive_resource=" " CRM_meta_notify_key_operation="demoted" CRM_meta_notify_key_type="post" CRM_meta_notify_master_resource="rsc1:0 " CRM_meta_notify_master_uname="node1 " CRM_meta_notify_operation="demote" CRM_meta_notify_promote_resource="rsc1:1 " CRM_meta_notify_promote_uname="node2 " CRM_meta_notify_slave_resource="rsc1:1 " CRM_meta_notify_slave_uname="node2 " CRM_meta_notify_start_resource=" " CRM_meta_notify_start_uname=" " CRM_meta_notify_stop_resource=" " CRM_meta_notify_stop_uname=" " CRM_meta_notify_type="post" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="38" operation="notify" operation_key="ms1_post_notify_demoted_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="59" operation="notify" operation_key="rsc1:1_pre_notify_demote_0" internal_operation_key="rsc1:0_pre_notify_demote_0" on_node="node1" on_node_uuid="node1">
+        <primitive id="rsc1" long-id="rsc1:1" class="ocf" provider="pacemaker" type="Stateful"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_active_resource=" " CRM_meta_notify_active_uname=" " CRM_meta_notify_demote_resource="rsc1:0 " CRM_meta_notify_demote_uname="node1 " CRM_meta_notify_inactive_resource=" " CRM_meta_notify_key_operation="demote" CRM_meta_notify_key_type="pre" CRM_meta_notify_master_resource="rsc1:0 " CRM_meta_notify_master_uname="node1 " CRM_meta_notify_operation="demote" CRM_meta_notify_promote_resource="rsc1:1 " CRM_meta_notify_promote_uname="node2 " CRM_meta_notify_slave_resource="rsc1:1 " CRM_meta_notify_slave_uname="node2 " CRM_meta_notify_start_resource=" " CRM_meta_notify_start_uname=" " CRM_meta_notify_stop_resource=" " CRM_meta_notify_stop_uname=" " CRM_meta_notify_type="pre" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="36" operation="notify" operation_key="ms1_pre_notify_demote_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2" priority="1000000">
+    <action_set>
+      <rsc_op id="56" operation="notify" operation_key="rsc1:1_post_notify_promote_0" internal_operation_key="rsc1:0_post_notify_promote_0" on_node="node1" on_node_uuid="node1">
+        <primitive id="rsc1" long-id="rsc1:1" class="ocf" provider="pacemaker" type="Stateful"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_active_resource=" " CRM_meta_notify_active_uname=" " CRM_meta_notify_demote_resource="rsc1:0 " CRM_meta_notify_demote_uname="node1 " CRM_meta_notify_inactive_resource=" " CRM_meta_notify_key_operation="promoted" CRM_meta_notify_key_type="post" CRM_meta_notify_master_resource="rsc1:0 " CRM_meta_notify_master_uname="node1 " CRM_meta_notify_operation="promote" CRM_meta_notify_promote_resource="rsc1:1 " CRM_meta_notify_promote_uname="node2 " CRM_meta_notify_slave_resource="rsc1:1 " CRM_meta_notify_slave_uname="node2 " CRM_meta_notify_start_resource=" " CRM_meta_notify_start_uname=" " CRM_meta_notify_stop_resource=" " CRM_meta_notify_stop_uname=" " CRM_meta_notify_type="post" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="32" operation="notify" operation_key="ms1_post_notify_promoted_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <rsc_op id="55" operation="notify" operation_key="rsc1:1_pre_notify_promote_0" internal_operation_key="rsc1:0_pre_notify_promote_0" on_node="node1" on_node_uuid="node1">
+        <primitive id="rsc1" long-id="rsc1:1" class="ocf" provider="pacemaker" type="Stateful"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_active_resource=" " CRM_meta_notify_active_uname=" " CRM_meta_notify_demote_resource="rsc1:0 " CRM_meta_notify_demote_uname="node1 " CRM_meta_notify_inactive_resource=" " CRM_meta_notify_key_operation="promote" CRM_meta_notify_key_type="pre" CRM_meta_notify_master_resource="rsc1:0 " CRM_meta_notify_master_uname="node1 " CRM_meta_notify_operation="promote" CRM_meta_notify_promote_resource="rsc1:1 " CRM_meta_notify_promote_uname="node2 " CRM_meta_notify_slave_resource="rsc1:1 " CRM_meta_notify_slave_uname="node2 " CRM_meta_notify_start_resource=" " CRM_meta_notify_start_uname=" " CRM_meta_notify_stop_resource=" " CRM_meta_notify_stop_uname=" " CRM_meta_notify_type="pre" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="30" operation="notify" operation_key="ms1_pre_notify_promote_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="4">
+    <action_set>
+      <rsc_op id="11" operation="monitor" operation_key="rsc1:1_monitor_10000" internal_operation_key="rsc1:0_monitor_10000" on_node="node1" on_node_uuid="node1">
+        <primitive id="rsc1" long-id="rsc1:1" class="ocf" provider="pacemaker" type="Stateful"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_name="monitor" CRM_meta_notify="true" CRM_meta_role="Slave" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="9" operation="demote" operation_key="rsc1:1_demote_0" internal_operation_key="rsc1:0_demote_0" on_node="node1" on_node_uuid="node1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="33" operation="notified" operation_key="ms1_confirmed-post_notify_promoted_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="39" operation="notified" operation_key="ms1_confirmed-post_notify_demoted_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <rsc_op id="9" operation="demote" operation_key="rsc1:1_demote_0" internal_operation_key="rsc1:0_demote_0" on_node="node1" on_node_uuid="node1">
+        <primitive id="rsc1" long-id="rsc1:1" class="ocf" provider="pacemaker" type="Stateful"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_active_resource=" " CRM_meta_notify_active_uname=" " CRM_meta_notify_demote_resource="rsc1:0 " CRM_meta_notify_demote_uname="node1 " CRM_meta_notify_inactive_resource=" " CRM_meta_notify_master_resource="rsc1:0 " CRM_meta_notify_master_uname="node1 " CRM_meta_notify_promote_resource="rsc1:1 " CRM_meta_notify_promote_uname="node2 " CRM_meta_notify_slave_resource="rsc1:1 " CRM_meta_notify_slave_uname="node2 " CRM_meta_notify_start_resource=" " CRM_meta_notify_start_uname=" " CRM_meta_notify_stop_resource=" " CRM_meta_notify_stop_uname=" " CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="1" operation="cancel" operation_key="rsc1:1_cancel_5000" internal_operation_key="rsc1:0_monitor_5000" on_node="node1" on_node_uuid="node1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="34" operation="demote" operation_key="ms1_demote_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="6">
+    <action_set>
+      <rsc_op id="1" operation="cancel" operation_key="rsc1:1_cancel_5000" internal_operation_key="rsc1:0_monitor_5000" on_node="node1" on_node_uuid="node1">
+        <primitive id="rsc1" long-id="rsc1:1" class="ocf" provider="pacemaker" type="Stateful"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="5000" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_name="monitor" CRM_meta_notify="true" CRM_meta_operation="monitor" CRM_meta_role="Master" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="7" priority="1000000">
+    <action_set>
+      <rsc_op id="62" operation="notify" operation_key="rsc1:0_post_notify_demote_0" internal_operation_key="rsc1:1_post_notify_demote_0" on_node="node2" on_node_uuid="node2">
+        <primitive id="rsc1" long-id="rsc1:0" class="ocf" provider="pacemaker" type="Stateful"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_active_resource=" " CRM_meta_notify_active_uname=" " CRM_meta_notify_demote_resource="rsc1:0 " CRM_meta_notify_demote_uname="node1 " CRM_meta_notify_inactive_resource=" " CRM_meta_notify_key_operation="demoted" CRM_meta_notify_key_type="post" CRM_meta_notify_master_resource="rsc1:0 " CRM_meta_notify_master_uname="node1 " CRM_meta_notify_operation="demote" CRM_meta_notify_promote_resource="rsc1:1 " CRM_meta_notify_promote_uname="node2 " CRM_meta_notify_slave_resource="rsc1:1 " CRM_meta_notify_slave_uname="node2 " CRM_meta_notify_start_resource=" " CRM_meta_notify_start_uname=" " CRM_meta_notify_stop_resource=" " CRM_meta_notify_stop_uname=" " CRM_meta_notify_type="post" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="38" operation="notify" operation_key="ms1_post_notify_demoted_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="8">
+    <action_set>
+      <rsc_op id="61" operation="notify" operation_key="rsc1:0_pre_notify_demote_0" internal_operation_key="rsc1:1_pre_notify_demote_0" on_node="node2" on_node_uuid="node2">
+        <primitive id="rsc1" long-id="rsc1:0" class="ocf" provider="pacemaker" type="Stateful"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_active_resource=" " CRM_meta_notify_active_uname=" " CRM_meta_notify_demote_resource="rsc1:0 " CRM_meta_notify_demote_uname="node1 " CRM_meta_notify_inactive_resource=" " CRM_meta_notify_key_operation="demote" CRM_meta_notify_key_type="pre" CRM_meta_notify_master_resource="rsc1:0 " CRM_meta_notify_master_uname="node1 " CRM_meta_notify_operation="demote" CRM_meta_notify_promote_resource="rsc1:1 " CRM_meta_notify_promote_uname="node2 " CRM_meta_notify_slave_resource="rsc1:1 " CRM_meta_notify_slave_uname="node2 " CRM_meta_notify_start_resource=" " CRM_meta_notify_start_uname=" " CRM_meta_notify_stop_resource=" " CRM_meta_notify_stop_uname=" " CRM_meta_notify_type="pre" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="36" operation="notify" operation_key="ms1_pre_notify_demote_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="9" priority="1000000">
+    <action_set>
+      <rsc_op id="58" operation="notify" operation_key="rsc1:0_post_notify_promote_0" internal_operation_key="rsc1:1_post_notify_promote_0" on_node="node2" on_node_uuid="node2">
+        <primitive id="rsc1" long-id="rsc1:0" class="ocf" provider="pacemaker" type="Stateful"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_active_resource=" " CRM_meta_notify_active_uname=" " CRM_meta_notify_demote_resource="rsc1:0 " CRM_meta_notify_demote_uname="node1 " CRM_meta_notify_inactive_resource=" " CRM_meta_notify_key_operation="promoted" CRM_meta_notify_key_type="post" CRM_meta_notify_master_resource="rsc1:0 " CRM_meta_notify_master_uname="node1 " CRM_meta_notify_operation="promote" CRM_meta_notify_promote_resource="rsc1:1 " CRM_meta_notify_promote_uname="node2 " CRM_meta_notify_slave_resource="rsc1:1 " CRM_meta_notify_slave_uname="node2 " CRM_meta_notify_start_resource=" " CRM_meta_notify_start_uname=" " CRM_meta_notify_stop_resource=" " CRM_meta_notify_stop_uname=" " CRM_meta_notify_type="post" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="32" operation="notify" operation_key="ms1_post_notify_promoted_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="10">
+    <action_set>
+      <rsc_op id="57" operation="notify" operation_key="rsc1:0_pre_notify_promote_0" internal_operation_key="rsc1:1_pre_notify_promote_0" on_node="node2" on_node_uuid="node2">
+        <primitive id="rsc1" long-id="rsc1:0" class="ocf" provider="pacemaker" type="Stateful"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_active_resource=" " CRM_meta_notify_active_uname=" " CRM_meta_notify_demote_resource="rsc1:0 " CRM_meta_notify_demote_uname="node1 " CRM_meta_notify_inactive_resource=" " CRM_meta_notify_key_operation="promote" CRM_meta_notify_key_type="pre" CRM_meta_notify_master_resource="rsc1:0 " CRM_meta_notify_master_uname="node1 " CRM_meta_notify_operation="promote" CRM_meta_notify_promote_resource="rsc1:1 " CRM_meta_notify_promote_uname="node2 " CRM_meta_notify_slave_resource="rsc1:1 " CRM_meta_notify_slave_uname="node2 " CRM_meta_notify_start_resource=" " CRM_meta_notify_start_uname=" " CRM_meta_notify_stop_resource=" " CRM_meta_notify_stop_uname=" " CRM_meta_notify_type="pre" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="30" operation="notify" operation_key="ms1_pre_notify_promote_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="11">
+    <action_set>
+      <rsc_op id="15" operation="monitor" operation_key="rsc1:0_monitor_5000" internal_operation_key="rsc1:1_monitor_5000" on_node="node2" on_node_uuid="node2">
+        <primitive id="rsc1" long-id="rsc1:0" class="ocf" provider="pacemaker" type="Stateful"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="5000" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_name="monitor" CRM_meta_notify="true" CRM_meta_op_target_rc="8" CRM_meta_role="Master" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="14" operation="promote" operation_key="rsc1:0_promote_0" internal_operation_key="rsc1:1_promote_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="33" operation="notified" operation_key="ms1_confirmed-post_notify_promoted_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="39" operation="notified" operation_key="ms1_confirmed-post_notify_demoted_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="12">
+    <action_set>
+      <rsc_op id="14" operation="promote" operation_key="rsc1:0_promote_0" internal_operation_key="rsc1:1_promote_0" on_node="node2" on_node_uuid="node2">
+        <primitive id="rsc1" long-id="rsc1:0" class="ocf" provider="pacemaker" type="Stateful"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_active_resource=" " CRM_meta_notify_active_uname=" " CRM_meta_notify_demote_resource="rsc1:0 " CRM_meta_notify_demote_uname="node1 " CRM_meta_notify_inactive_resource=" " CRM_meta_notify_master_resource="rsc1:0 " CRM_meta_notify_master_uname="node1 " CRM_meta_notify_promote_resource="rsc1:1 " CRM_meta_notify_promote_uname="node2 " CRM_meta_notify_slave_resource="rsc1:1 " CRM_meta_notify_slave_uname="node2 " CRM_meta_notify_start_resource=" " CRM_meta_notify_start_uname=" " CRM_meta_notify_stop_resource=" " CRM_meta_notify_stop_uname=" " CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="3" operation="cancel" operation_key="rsc1:0_cancel_10000" internal_operation_key="rsc1:1_monitor_10000" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="28" operation="promote" operation_key="ms1_promote_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="13">
+    <action_set>
+      <rsc_op id="3" operation="cancel" operation_key="rsc1:0_cancel_10000" internal_operation_key="rsc1:1_monitor_10000" on_node="node2" on_node_uuid="node2">
+        <primitive id="rsc1" long-id="rsc1:0" class="ocf" provider="pacemaker" type="Stateful"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_name="monitor" CRM_meta_notify="true" CRM_meta_operation="monitor" CRM_meta_role="Slave" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="14" priority="1000000">
+    <action_set>
+      <pseudo_event id="39" operation="notified" operation_key="ms1_confirmed-post_notify_demoted_0">
+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_key_operation="demoted" CRM_meta_notify_key_type="confirmed-post" CRM_meta_notify_operation="demote" CRM_meta_notify_type="post" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="38" operation="notify" operation_key="ms1_post_notify_demoted_0"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="60" operation="notify" operation_key="rsc1:1_post_notify_demote_0" internal_operation_key="rsc1:0_post_notify_demote_0" on_node="node1" on_node_uuid="node1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="62" operation="notify" operation_key="rsc1:0_post_notify_demote_0" internal_operation_key="rsc1:1_post_notify_demote_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="15" priority="1000000">
+    <action_set>
+      <pseudo_event id="38" operation="notify" operation_key="ms1_post_notify_demoted_0">
+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_key_operation="demoted" CRM_meta_notify_key_type="post" CRM_meta_notify_operation="demote" CRM_meta_notify_type="post" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="35" operation="demoted" operation_key="ms1_demoted_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="37" operation="notified" operation_key="ms1_confirmed-pre_notify_demote_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="16">
+    <action_set>
+      <pseudo_event id="37" operation="notified" operation_key="ms1_confirmed-pre_notify_demote_0">
+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_key_operation="demote" CRM_meta_notify_key_type="confirmed-pre" CRM_meta_notify_operation="demote" CRM_meta_notify_type="pre" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="36" operation="notify" operation_key="ms1_pre_notify_demote_0"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="59" operation="notify" operation_key="rsc1:1_pre_notify_demote_0" internal_operation_key="rsc1:0_pre_notify_demote_0" on_node="node1" on_node_uuid="node1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="61" operation="notify" operation_key="rsc1:0_pre_notify_demote_0" internal_operation_key="rsc1:1_pre_notify_demote_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="17">
+    <action_set>
+      <pseudo_event id="36" operation="notify" operation_key="ms1_pre_notify_demote_0">
+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_key_operation="demote" CRM_meta_notify_key_type="pre" CRM_meta_notify_operation="demote" CRM_meta_notify_type="pre" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="18" priority="1000000">
+    <action_set>
+      <pseudo_event id="35" operation="demoted" operation_key="ms1_demoted_0">
+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="9" operation="demote" operation_key="rsc1:1_demote_0" internal_operation_key="rsc1:0_demote_0" on_node="node1" on_node_uuid="node1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="34" operation="demote" operation_key="ms1_demote_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="19">
+    <action_set>
+      <pseudo_event id="34" operation="demote" operation_key="ms1_demote_0">
+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="37" operation="notified" operation_key="ms1_confirmed-pre_notify_demote_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="20" priority="1000000">
+    <action_set>
+      <pseudo_event id="33" operation="notified" operation_key="ms1_confirmed-post_notify_promoted_0">
+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_key_operation="promoted" CRM_meta_notify_key_type="confirmed-post" CRM_meta_notify_operation="promote" CRM_meta_notify_type="post" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="32" operation="notify" operation_key="ms1_post_notify_promoted_0"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="56" operation="notify" operation_key="rsc1:1_post_notify_promote_0" internal_operation_key="rsc1:0_post_notify_promote_0" on_node="node1" on_node_uuid="node1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="58" operation="notify" operation_key="rsc1:0_post_notify_promote_0" internal_operation_key="rsc1:1_post_notify_promote_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="21" priority="1000000">
+    <action_set>
+      <pseudo_event id="32" operation="notify" operation_key="ms1_post_notify_promoted_0">
+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_key_operation="promoted" CRM_meta_notify_key_type="post" CRM_meta_notify_operation="promote" CRM_meta_notify_type="post" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="29" operation="promoted" operation_key="ms1_promoted_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="31" operation="notified" operation_key="ms1_confirmed-pre_notify_promote_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="22">
+    <action_set>
+      <pseudo_event id="31" operation="notified" operation_key="ms1_confirmed-pre_notify_promote_0">
+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_key_operation="promote" CRM_meta_notify_key_type="confirmed-pre" CRM_meta_notify_operation="promote" CRM_meta_notify_type="pre" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="30" operation="notify" operation_key="ms1_pre_notify_promote_0"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="55" operation="notify" operation_key="rsc1:1_pre_notify_promote_0" internal_operation_key="rsc1:0_pre_notify_promote_0" on_node="node1" on_node_uuid="node1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="57" operation="notify" operation_key="rsc1:0_pre_notify_promote_0" internal_operation_key="rsc1:1_pre_notify_promote_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="23">
+    <action_set>
+      <pseudo_event id="30" operation="notify" operation_key="ms1_pre_notify_promote_0">
+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_key_operation="promote" CRM_meta_notify_key_type="pre" CRM_meta_notify_operation="promote" CRM_meta_notify_type="pre" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="39" operation="notified" operation_key="ms1_confirmed-post_notify_demoted_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="24" priority="1000000">
+    <action_set>
+      <pseudo_event id="29" operation="promoted" operation_key="ms1_promoted_0">
+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="14" operation="promote" operation_key="rsc1:0_promote_0" internal_operation_key="rsc1:1_promote_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="25">
+    <action_set>
+      <pseudo_event id="28" operation="promote" operation_key="ms1_promote_0">
+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="31" operation="notified" operation_key="ms1_confirmed-pre_notify_promote_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="35" operation="demoted" operation_key="ms1_demoted_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="41" operation="start" operation_key="rsc2_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="26">
+    <action_set>
+      <rsc_op id="44" operation="migrate_from" operation_key="rsc2_migrate_from_0" on_node="node2" on_node_uuid="node2">
+        <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
+        <attributes CRM_meta_migrate_source="node1" CRM_meta_migrate_target="node2" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="43" operation="migrate_to" operation_key="rsc2_migrate_to_0" on_node="node1" on_node_uuid="node1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="27">
+    <action_set>
+      <rsc_op id="43" operation="migrate_to" operation_key="rsc2_migrate_to_0" on_node="node1" on_node_uuid="node1">
+        <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
+        <attributes CRM_meta_migrate_source="node1" CRM_meta_migrate_target="node2" CRM_meta_record_pending="true" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="39" operation="notified" operation_key="ms1_confirmed-post_notify_demoted_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="28">
+    <action_set>
+      <rsc_op id="42" operation="monitor" operation_key="rsc2_monitor_5000" on_node="node2" on_node_uuid="node2">
+        <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
+        <attributes CRM_meta_interval="5000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="41" operation="start" operation_key="rsc2_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="29">
+    <action_set>
+      <pseudo_event id="41" operation="start" operation_key="rsc2_start_0">
+        <attributes CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="40" operation="stop" operation_key="rsc2_stop_0" on_node="node1" on_node_uuid="node1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="44" operation="migrate_from" operation_key="rsc2_migrate_from_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="30">
+    <action_set>
+      <rsc_op id="40" operation="stop" operation_key="rsc2_stop_0" on_node="node1" on_node_uuid="node1">
+        <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
+        <attributes CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="39" operation="notified" operation_key="ms1_confirmed-post_notify_demoted_0"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="44" operation="migrate_from" operation_key="rsc2_migrate_from_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="31" priority="1000000">
+    <action_set>
+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
+        <attributes CRM_meta_op_no_wait="true" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="32" priority="1000000">
+    <action_set>
+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
+        <attributes CRM_meta_op_no_wait="true" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="33">
+    <action_set>
+      <pseudo_event id="4" operation="all_stopped" operation_key="all_stopped">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="40" operation="stop" operation_key="rsc2_stop_0" on_node="node1" on_node_uuid="node1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
Index: pacemaker/pengine/test10/a-demote-then-b-migrate.scores
===================================================================
--- /dev/null
+++ pacemaker/pengine/test10/a-demote-then-b-migrate.scores
@@ -0,0 +1,15 @@
+Allocation scores:
+clone_color: ms1 allocation score on node1: 0
+clone_color: ms1 allocation score on node2: 0
+clone_color: rsc1:0 allocation score on node1: 1
+clone_color: rsc1:0 allocation score on node2: 0
+clone_color: rsc1:1 allocation score on node1: 0
+clone_color: rsc1:1 allocation score on node2: 1
+native_color: rsc1:0 allocation score on node1: 1
+native_color: rsc1:0 allocation score on node2: 0
+native_color: rsc1:1 allocation score on node1: -INFINITY
+native_color: rsc1:1 allocation score on node2: 1
+native_color: rsc2 allocation score on node1: -INFINITY
+native_color: rsc2 allocation score on node2: 0
+rsc1:0 promotion score on node1: -INFINITY
+rsc1:1 promotion score on node2: INFINITY
Index: pacemaker/pengine/test10/a-demote-then-b-migrate.summary
===================================================================
--- /dev/null
+++ pacemaker/pengine/test10/a-demote-then-b-migrate.summary
@@ -0,0 +1,56 @@
+
+Current cluster status:
+Online: [ node1 node2 ]
+
+ Master/Slave Set: ms1 [rsc1]
+     Masters: [ node1 ]
+     Slaves: [ node2 ]
+ rsc2	(ocf::pacemaker:Dummy):	Started node1 
+
+Transition Summary:
+ * Demote  rsc1:0	(Master -> Slave node1)
+ * Promote rsc1:1	(Slave -> Master node2)
+ * Migrate rsc2	(Started node1 -> node2)
+
+Executing cluster transition:
+ * Resource action: rsc1:1          cancel=5000 on node1
+ * Resource action: rsc1:0          cancel=10000 on node2
+ * Pseudo action:   ms1_pre_notify_demote_0
+ * Resource action: rsc1:1          notify on node1
+ * Resource action: rsc1:0          notify on node2
+ * Pseudo action:   ms1_confirmed-pre_notify_demote_0
+ * Pseudo action:   ms1_demote_0
+ * Resource action: rsc1:1          demote on node1
+ * Pseudo action:   ms1_demoted_0
+ * Pseudo action:   ms1_post_notify_demoted_0
+ * Resource action: rsc1:1          notify on node1
+ * Resource action: rsc1:0          notify on node2
+ * Pseudo action:   ms1_confirmed-post_notify_demoted_0
+ * Pseudo action:   ms1_pre_notify_promote_0
+ * Resource action: rsc2            migrate_to on node1
+ * Resource action: rsc1:1          notify on node1
+ * Resource action: rsc1:0          notify on node2
+ * Pseudo action:   ms1_confirmed-pre_notify_promote_0
+ * Resource action: rsc2            migrate_from on node2
+ * Resource action: rsc2            stop on node1
+ * Pseudo action:   all_stopped
+ * Pseudo action:   rsc2_start_0
+ * Pseudo action:   ms1_promote_0
+ * Resource action: rsc2            monitor=5000 on node2
+ * Resource action: rsc1:0          promote on node2
+ * Pseudo action:   ms1_promoted_0
+ * Pseudo action:   ms1_post_notify_promoted_0
+ * Resource action: rsc1:1          notify on node1
+ * Resource action: rsc1:0          notify on node2
+ * Pseudo action:   ms1_confirmed-post_notify_promoted_0
+ * Resource action: rsc1:1          monitor=10000 on node1
+ * Resource action: rsc1:0          monitor=5000 on node2
+
+Revised cluster status:
+Online: [ node1 node2 ]
+
+ Master/Slave Set: ms1 [rsc1]
+     Masters: [ node2 ]
+     Slaves: [ node1 ]
+ rsc2	(ocf::pacemaker:Dummy):	Started node2 
+
Index: pacemaker/pengine/test10/a-demote-then-b-migrate.xml
===================================================================
--- /dev/null
+++ pacemaker/pengine/test10/a-demote-then-b-migrate.xml
@@ -0,0 +1,79 @@
+<cib epoch="1" num_updates="37" admin_epoch="0" validate-with="pacemaker-1.2" cib-last-written="Fri Jul 13 13:51:19 2012" have-quorum="1">
+  <configuration>
+    <crm_config>
+      <cluster_property_set id="cib-bootstrap-options">
+        <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
+        <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+      </cluster_property_set>
+    </crm_config>
+    <nodes>
+      <node id="node1" type="normal" uname="node1"/>
+      <node id="node2" type="normal" uname="node2"/>
+    </nodes>
+    <resources>
+      <master id="ms1">
+        <meta_attributes id="ms1-meta_attributes">
+          <nvpair id="ms1-meta_attributes-master-max" name="master-max" value="2"/>
+          <nvpair id="ms1-notify" name="notify" value="true"/>
+          <nvpair id="ms1-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+        <primitive id="rsc1" class="ocf" provider="pacemaker" type="Stateful">
+          <operations id="rsc1-operations">
+            <op id="rsc1-monitor-master-5" name="monitor" interval="5" role="Master"/>
+            <op id="rsc1-monitor-slave-10" name="monitor" interval="10" role="Slave"/>
+          </operations>
+        </primitive>
+      </master>
+      <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy">
+        <meta_attributes id="rsc2-meta_attributes">
+          <nvpair id="rsc2-meta_attributes-allow-migrate" name="allow-migrate" value="true"/>
+        </meta_attributes>
+        <operations id="rsc2-operations">
+          <op id="rsc2-monitor-5" name="monitor" interval="5"/>
+        </operations>
+      </primitive>
+    </resources>
+    <constraints>
+      <rsc_order id="rsc2-then-ms1-promote" first="rsc2" first-action="start" then="ms1" then-action="promote" kind="Mandatory"/>
+      <rsc_colocation id="ms1-master-with-rsc2" rsc="ms1" rsc-role="Master" with-rsc="rsc2" score="INFINITY"/>
+      <rsc_location id="loc-ms1-node1" rsc="ms1" role="Master" node="node1" score="100"/>
+      <rsc_location id="loc-ms1-node2" rsc="ms1" role="Master" node="node2" score="100"/>
+      <rsc_location id="loc-rsc2" rsc="rsc2" node="node1" score="-INFINITY"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="node1" uname="node1" ha="active" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+      <lrm id="node1">
+        <lrm_resources>
+          <lrm_resource id="rsc1:1" class="ocf" provider="pacemaker" type="Stateful">
+            <lrm_rsc_op id="rsc1_last_0" operation_key="rsc1_promote_0" operation="promote" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="5:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;5:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="5" rc-code="0" op-status="0" interval="0" last-run="1422546618" last-rc-change="1422546618" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="rsc1_post_notify_start_0" operation_key="rsc1_notify_0" operation="notify" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="3" rc-code="0" op-status="0" interval="0" last-run="1422546618" last-rc-change="1422546618" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="rsc1_pre_notify_promote_0" operation_key="rsc1_notify_0" operation="notify" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="4" rc-code="0" op-status="0" interval="0" last-run="1422546618" last-rc-change="1422546618" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="rsc1_post_notify_promote_0" operation_key="rsc1_notify_0" operation="notify" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="6:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;6:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1422546618" last-rc-change="1422546618" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="rsc1_monitor_5000" operation_key="rsc1_monitor_5000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="7:-1:8:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:8;7:-1:8:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="7" rc-code="8" op-status="0" interval="5000" last-rc-change="1422546618" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="rsc2" class="ocf" provider="pacemaker" type="Dummy">
+            <lrm_rsc_op id="rsc2_last_0" operation_key="rsc2_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="2" rc-code="0" op-status="0" interval="0" last-run="1422546618" last-rc-change="1422546618" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="rsc2_monitor_5000" operation_key="rsc2_monitor_5000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="3" rc-code="0" op-status="0" interval="5000" last-rc-change="1422546618" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="node2" uname="node2" ha="active" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+      <lrm id="node2">
+        <lrm_resources>
+          <lrm_resource id="rsc1:0" class="ocf" provider="pacemaker" type="Stateful">
+            <lrm_rsc_op id="rsc1_last_0" operation_key="rsc1_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="2" rc-code="0" op-status="0" interval="0" last-run="1422546618" last-rc-change="1422546618" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="rsc1_post_notify_start_0" operation_key="rsc1_notify_0" operation="notify" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="3" rc-code="0" op-status="0" interval="0" last-run="1422546618" last-rc-change="1422546618" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="rsc1_pre_notify_promote_0" operation_key="rsc1_notify_0" operation="notify" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="4" rc-code="0" op-status="0" interval="0" last-run="1422546618" last-rc-change="1422546618" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="rsc1_post_notify_promote_0" operation_key="rsc1_notify_0" operation="notify" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="5:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;5:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="5" rc-code="0" op-status="0" interval="0" last-run="1422546618" last-rc-change="1422546618" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="rsc1_monitor_10000" operation_key="rsc1_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="6:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;6:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="6" rc-code="0" op-status="0" interval="10000" last-rc-change="1422546618" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="rsc2" class="ocf" provider="pacemaker" type="Dummy">
+            <lrm_rsc_op id="rsc2_last_0" operation_key="rsc2_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="1" rc-code="7" op-status="0" interval="0" last-run="1422546618" last-rc-change="1422546618" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+  </status>
+</cib>
Index: pacemaker/pengine/test10/a-promote-then-b-migrate.dot
===================================================================
--- /dev/null
+++ pacemaker/pengine/test10/a-promote-then-b-migrate.dot
@@ -0,0 +1,49 @@
+digraph "g" {
+"Cancel rsc1:1_monitor_10000 node2" -> "rsc1:1_promote_0 node2" [ style = bold]
+"Cancel rsc1:1_monitor_10000 node2" [ style=bold color="green" fontcolor="black"]
+"all_stopped" [ style=bold color="green" fontcolor="orange"]
+"ms1_confirmed-post_notify_promoted_0" -> "rsc1:1_monitor_5000 node2" [ style = bold]
+"ms1_confirmed-post_notify_promoted_0" -> "rsc2_migrate_to_0 node1" [ style = bold]
+"ms1_confirmed-post_notify_promoted_0" -> "rsc2_start_0 node2" [ style = bold]
+"ms1_confirmed-post_notify_promoted_0" [ style=bold color="green" fontcolor="orange"]
+"ms1_confirmed-pre_notify_promote_0" -> "ms1_post_notify_promoted_0" [ style = bold]
+"ms1_confirmed-pre_notify_promote_0" -> "ms1_promote_0" [ style = bold]
+"ms1_confirmed-pre_notify_promote_0" [ style=bold color="green" fontcolor="orange"]
+"ms1_post_notify_promoted_0" -> "ms1_confirmed-post_notify_promoted_0" [ style = bold]
+"ms1_post_notify_promoted_0" -> "rsc1:0_post_notify_promote_0 node1" [ style = bold]
+"ms1_post_notify_promoted_0" -> "rsc1:1_post_notify_promote_0 node2" [ style = bold]
+"ms1_post_notify_promoted_0" [ style=bold color="green" fontcolor="orange"]
+"ms1_pre_notify_promote_0" -> "ms1_confirmed-pre_notify_promote_0" [ style = bold]
+"ms1_pre_notify_promote_0" -> "rsc1:0_pre_notify_promote_0 node1" [ style = bold]
+"ms1_pre_notify_promote_0" -> "rsc1:1_pre_notify_promote_0 node2" [ style = bold]
+"ms1_pre_notify_promote_0" [ style=bold color="green" fontcolor="orange"]
+"ms1_promote_0" -> "rsc1:1_promote_0 node2" [ style = bold]
+"ms1_promote_0" [ style=bold color="green" fontcolor="orange"]
+"ms1_promoted_0" -> "ms1_post_notify_promoted_0" [ style = bold]
+"ms1_promoted_0" [ style=bold color="green" fontcolor="orange"]
+"probe_complete node1" [ style=bold color="green" fontcolor="black"]
+"probe_complete node2" [ style=bold color="green" fontcolor="black"]
+"rsc1:0_post_notify_promote_0 node1" -> "ms1_confirmed-post_notify_promoted_0" [ style = bold]
+"rsc1:0_post_notify_promote_0 node1" [ style=bold color="green" fontcolor="black"]
+"rsc1:0_pre_notify_promote_0 node1" -> "ms1_confirmed-pre_notify_promote_0" [ style = bold]
+"rsc1:0_pre_notify_promote_0 node1" [ style=bold color="green" fontcolor="black"]
+"rsc1:1_monitor_5000 node2" [ style=bold color="green" fontcolor="black"]
+"rsc1:1_post_notify_promote_0 node2" -> "ms1_confirmed-post_notify_promoted_0" [ style = bold]
+"rsc1:1_post_notify_promote_0 node2" [ style=bold color="green" fontcolor="black"]
+"rsc1:1_pre_notify_promote_0 node2" -> "ms1_confirmed-pre_notify_promote_0" [ style = bold]
+"rsc1:1_pre_notify_promote_0 node2" [ style=bold color="green" fontcolor="black"]
+"rsc1:1_promote_0 node2" -> "ms1_promoted_0" [ style = bold]
+"rsc1:1_promote_0 node2" -> "rsc1:1_monitor_5000 node2" [ style = bold]
+"rsc1:1_promote_0 node2" [ style=bold color="green" fontcolor="black"]
+"rsc2_migrate_from_0 node2" -> "rsc2_start_0 node2" [ style = bold]
+"rsc2_migrate_from_0 node2" -> "rsc2_stop_0 node1" [ style = bold]
+"rsc2_migrate_from_0 node2" [ style=bold color="green" fontcolor="black"]
+"rsc2_migrate_to_0 node1" -> "rsc2_migrate_from_0 node2" [ style = bold]
+"rsc2_migrate_to_0 node1" [ style=bold color="green" fontcolor="black"]
+"rsc2_monitor_5000 node2" [ style=bold color="green" fontcolor="black"]
+"rsc2_start_0 node2" -> "rsc2_monitor_5000 node2" [ style = bold]
+"rsc2_start_0 node2" [ style=bold color="green" fontcolor="orange"]
+"rsc2_stop_0 node1" -> "all_stopped" [ style = bold]
+"rsc2_stop_0 node1" -> "rsc2_start_0 node2" [ style = bold]
+"rsc2_stop_0 node1" [ style=bold color="green" fontcolor="black"]
+}
Index: pacemaker/pengine/test10/a-promote-then-b-migrate.exp
===================================================================
--- /dev/null
+++ pacemaker/pengine/test10/a-promote-then-b-migrate.exp
@@ -0,0 +1,276 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0" priority="1000000">
+    <action_set>
+      <rsc_op id="55" operation="notify" operation_key="rsc1:0_post_notify_promote_0" on_node="node1" on_node_uuid="node1">
+        <primitive id="rsc1" long-id="rsc1:0" class="ocf" provider="pacemaker" type="Stateful"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_active_resource=" " CRM_meta_notify_active_uname=" " CRM_meta_notify_demote_resource=" " CRM_meta_notify_demote_uname=" " CRM_meta_notify_inactive_resource=" " CRM_meta_notify_key_operation="promoted" CRM_meta_notify_key_type="post" CRM_meta_notify_master_resource="rsc1:0 " CRM_meta_notify_master_uname="node1 " CRM_meta_notify_operation="promote" CRM_meta_notify_promote_resource="rsc1:1 " CRM_meta_notify_promote_uname="node2 " CRM_meta_notify_slave_resource="rsc1:1 " CRM_meta_notify_slave_uname="node2 " CRM_meta_notify_start_resource=" " CRM_meta_notify_start_uname=" " CRM_meta_notify_stop_resource=" " CRM_meta_notify_stop_uname=" " CRM_meta_notify_type="post" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="32" operation="notify" operation_key="ms1_post_notify_promoted_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="54" operation="notify" operation_key="rsc1:0_pre_notify_promote_0" on_node="node1" on_node_uuid="node1">
+        <primitive id="rsc1" long-id="rsc1:0" class="ocf" provider="pacemaker" type="Stateful"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_active_resource=" " CRM_meta_notify_active_uname=" " CRM_meta_notify_demote_resource=" " CRM_meta_notify_demote_uname=" " CRM_meta_notify_inactive_resource=" " CRM_meta_notify_key_operation="promote" CRM_meta_notify_key_type="pre" CRM_meta_notify_master_resource="rsc1:0 " CRM_meta_notify_master_uname="node1 " CRM_meta_notify_operation="promote" CRM_meta_notify_promote_resource="rsc1:1 " CRM_meta_notify_promote_uname="node2 " CRM_meta_notify_slave_resource="rsc1:1 " CRM_meta_notify_slave_uname="node2 " CRM_meta_notify_start_resource=" " CRM_meta_notify_start_uname=" " CRM_meta_notify_stop_resource=" " CRM_meta_notify_stop_uname=" " CRM_meta_notify_type="pre" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="30" operation="notify" operation_key="ms1_pre_notify_promote_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2" priority="1000000">
+    <action_set>
+      <rsc_op id="57" operation="notify" operation_key="rsc1:1_post_notify_promote_0" on_node="node2" on_node_uuid="node2">
+        <primitive id="rsc1" long-id="rsc1:1" class="ocf" provider="pacemaker" type="Stateful"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_active_resource=" " CRM_meta_notify_active_uname=" " CRM_meta_notify_demote_resource=" " CRM_meta_notify_demote_uname=" " CRM_meta_notify_inactive_resource=" " CRM_meta_notify_key_operation="promoted" CRM_meta_notify_key_type="post" CRM_meta_notify_master_resource="rsc1:0 " CRM_meta_notify_master_uname="node1 " CRM_meta_notify_operation="promote" CRM_meta_notify_promote_resource="rsc1:1 " CRM_meta_notify_promote_uname="node2 " CRM_meta_notify_slave_resource="rsc1:1 " CRM_meta_notify_slave_uname="node2 " CRM_meta_notify_start_resource=" " CRM_meta_notify_start_uname=" " CRM_meta_notify_stop_resource=" " CRM_meta_notify_stop_uname=" " CRM_meta_notify_type="post" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="32" operation="notify" operation_key="ms1_post_notify_promoted_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <rsc_op id="56" operation="notify" operation_key="rsc1:1_pre_notify_promote_0" on_node="node2" on_node_uuid="node2">
+        <primitive id="rsc1" long-id="rsc1:1" class="ocf" provider="pacemaker" type="Stateful"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_active_resource=" " CRM_meta_notify_active_uname=" " CRM_meta_notify_demote_resource=" " CRM_meta_notify_demote_uname=" " CRM_meta_notify_inactive_resource=" " CRM_meta_notify_key_operation="promote" CRM_meta_notify_key_type="pre" CRM_meta_notify_master_resource="rsc1:0 " CRM_meta_notify_master_uname="node1 " CRM_meta_notify_operation="promote" CRM_meta_notify_promote_resource="rsc1:1 " CRM_meta_notify_promote_uname="node2 " CRM_meta_notify_slave_resource="rsc1:1 " CRM_meta_notify_slave_uname="node2 " CRM_meta_notify_start_resource=" " CRM_meta_notify_start_uname=" " CRM_meta_notify_stop_resource=" " CRM_meta_notify_stop_uname=" " CRM_meta_notify_type="pre" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="30" operation="notify" operation_key="ms1_pre_notify_promote_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="4">
+    <action_set>
+      <rsc_op id="15" operation="monitor" operation_key="rsc1:1_monitor_5000" on_node="node2" on_node_uuid="node2">
+        <primitive id="rsc1" long-id="rsc1:1" class="ocf" provider="pacemaker" type="Stateful"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="5000" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_name="monitor" CRM_meta_notify="true" CRM_meta_op_target_rc="8" CRM_meta_role="Master" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="14" operation="promote" operation_key="rsc1:1_promote_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="33" operation="notified" operation_key="ms1_confirmed-post_notify_promoted_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <rsc_op id="14" operation="promote" operation_key="rsc1:1_promote_0" on_node="node2" on_node_uuid="node2">
+        <primitive id="rsc1" long-id="rsc1:1" class="ocf" provider="pacemaker" type="Stateful"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_active_resource=" " CRM_meta_notify_active_uname=" " CRM_meta_notify_demote_resource=" " CRM_meta_notify_demote_uname=" " CRM_meta_notify_inactive_resource=" " CRM_meta_notify_master_resource="rsc1:0 " CRM_meta_notify_master_uname="node1 " CRM_meta_notify_promote_resource="rsc1:1 " CRM_meta_notify_promote_uname="node2 " CRM_meta_notify_slave_resource="rsc1:1 " CRM_meta_notify_slave_uname="node2 " CRM_meta_notify_start_resource=" " CRM_meta_notify_start_uname=" " CRM_meta_notify_stop_resource=" " CRM_meta_notify_stop_uname=" " CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="3" operation="cancel" operation_key="rsc1:1_monitor_10000" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="28" operation="promote" operation_key="ms1_promote_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="6">
+    <action_set>
+      <rsc_op id="3" operation="cancel" operation_key="rsc1:1_monitor_10000" on_node="node2" on_node_uuid="node2">
+        <primitive id="rsc1" long-id="rsc1:1" class="ocf" provider="pacemaker" type="Stateful"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_name="monitor" CRM_meta_notify="true" CRM_meta_operation="monitor" CRM_meta_role="Slave" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="7" priority="1000000">
+    <action_set>
+      <pseudo_event id="33" operation="notified" operation_key="ms1_confirmed-post_notify_promoted_0">
+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_key_operation="promoted" CRM_meta_notify_key_type="confirmed-post" CRM_meta_notify_operation="promote" CRM_meta_notify_type="post" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="32" operation="notify" operation_key="ms1_post_notify_promoted_0"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="55" operation="notify" operation_key="rsc1:0_post_notify_promote_0" on_node="node1" on_node_uuid="node1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="57" operation="notify" operation_key="rsc1:1_post_notify_promote_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="8" priority="1000000">
+    <action_set>
+      <pseudo_event id="32" operation="notify" operation_key="ms1_post_notify_promoted_0">
+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_key_operation="promoted" CRM_meta_notify_key_type="post" CRM_meta_notify_operation="promote" CRM_meta_notify_type="post" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="29" operation="promoted" operation_key="ms1_promoted_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="31" operation="notified" operation_key="ms1_confirmed-pre_notify_promote_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="9">
+    <action_set>
+      <pseudo_event id="31" operation="notified" operation_key="ms1_confirmed-pre_notify_promote_0">
+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_key_operation="promote" CRM_meta_notify_key_type="confirmed-pre" CRM_meta_notify_operation="promote" CRM_meta_notify_type="pre" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="30" operation="notify" operation_key="ms1_pre_notify_promote_0"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="54" operation="notify" operation_key="rsc1:0_pre_notify_promote_0" on_node="node1" on_node_uuid="node1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="56" operation="notify" operation_key="rsc1:1_pre_notify_promote_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="10">
+    <action_set>
+      <pseudo_event id="30" operation="notify" operation_key="ms1_pre_notify_promote_0">
+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_notify_key_operation="promote" CRM_meta_notify_key_type="pre" CRM_meta_notify_operation="promote" CRM_meta_notify_type="pre" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="11" priority="1000000">
+    <action_set>
+      <pseudo_event id="29" operation="promoted" operation_key="ms1_promoted_0">
+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="14" operation="promote" operation_key="rsc1:1_promote_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="12">
+    <action_set>
+      <pseudo_event id="28" operation="promote" operation_key="ms1_promote_0">
+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="2" CRM_meta_master_node_max="1" CRM_meta_notify="true" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="31" operation="notified" operation_key="ms1_confirmed-pre_notify_promote_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="13">
+    <action_set>
+      <rsc_op id="44" operation="migrate_from" operation_key="rsc2_migrate_from_0" on_node="node2" on_node_uuid="node2">
+        <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
+        <attributes CRM_meta_migrate_source="node1" CRM_meta_migrate_target="node2" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="43" operation="migrate_to" operation_key="rsc2_migrate_to_0" on_node="node1" on_node_uuid="node1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="14">
+    <action_set>
+      <rsc_op id="43" operation="migrate_to" operation_key="rsc2_migrate_to_0" on_node="node1" on_node_uuid="node1">
+        <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
+        <attributes CRM_meta_migrate_source="node1" CRM_meta_migrate_target="node2" CRM_meta_record_pending="true" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="33" operation="notified" operation_key="ms1_confirmed-post_notify_promoted_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="15">
+    <action_set>
+      <rsc_op id="42" operation="monitor" operation_key="rsc2_monitor_5000" on_node="node2" on_node_uuid="node2">
+        <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
+        <attributes CRM_meta_interval="5000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="41" operation="start" operation_key="rsc2_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="16">
+    <action_set>
+      <pseudo_event id="41" operation="start" operation_key="rsc2_start_0">
+        <attributes CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="33" operation="notified" operation_key="ms1_confirmed-post_notify_promoted_0"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="40" operation="stop" operation_key="rsc2_stop_0" on_node="node1" on_node_uuid="node1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="44" operation="migrate_from" operation_key="rsc2_migrate_from_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="17">
+    <action_set>
+      <rsc_op id="40" operation="stop" operation_key="rsc2_stop_0" on_node="node1" on_node_uuid="node1">
+        <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
+        <attributes CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="44" operation="migrate_from" operation_key="rsc2_migrate_from_0" on_node="node2" on_node_uuid="node2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="18" priority="1000000">
+    <action_set>
+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
+        <attributes CRM_meta_op_no_wait="true" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="19" priority="1000000">
+    <action_set>
+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
+        <attributes CRM_meta_op_no_wait="true" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="20">
+    <action_set>
+      <pseudo_event id="4" operation="all_stopped" operation_key="all_stopped">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="40" operation="stop" operation_key="rsc2_stop_0" on_node="node1" on_node_uuid="node1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
Index: pacemaker/pengine/test10/a-promote-then-b-migrate.scores
===================================================================
--- /dev/null
+++ pacemaker/pengine/test10/a-promote-then-b-migrate.scores
@@ -0,0 +1,15 @@
+Allocation scores:
+clone_color: ms1 allocation score on node1: 0
+clone_color: ms1 allocation score on node2: 0
+clone_color: rsc1:0 allocation score on node1: 1
+clone_color: rsc1:0 allocation score on node2: 0
+clone_color: rsc1:1 allocation score on node1: 0
+clone_color: rsc1:1 allocation score on node2: 1
+native_color: rsc1:0 allocation score on node1: 1
+native_color: rsc1:0 allocation score on node2: 0
+native_color: rsc1:1 allocation score on node1: -INFINITY
+native_color: rsc1:1 allocation score on node2: 1
+native_color: rsc2 allocation score on node1: -INFINITY
+native_color: rsc2 allocation score on node2: 1
+rsc1:0 promotion score on node1: 1
+rsc1:1 promotion score on node2: 99
Index: pacemaker/pengine/test10/a-promote-then-b-migrate.summary
===================================================================
--- /dev/null
+++ pacemaker/pengine/test10/a-promote-then-b-migrate.summary
@@ -0,0 +1,41 @@
+
+Current cluster status:
+Online: [ node1 node2 ]
+
+ Master/Slave Set: ms1 [rsc1]
+     Masters: [ node1 ]
+     Slaves: [ node2 ]
+ rsc2	(ocf::pacemaker:Dummy):	Started node1 
+
+Transition Summary:
+ * Promote rsc1:1	(Slave -> Master node2)
+ * Migrate rsc2	(Started node1 -> node2)
+
+Executing cluster transition:
+ * Resource action: rsc1:1          cancel=10000 on node2
+ * Pseudo action:   ms1_pre_notify_promote_0
+ * Resource action: rsc1:0          notify on node1
+ * Resource action: rsc1:1          notify on node2
+ * Pseudo action:   ms1_confirmed-pre_notify_promote_0
+ * Pseudo action:   ms1_promote_0
+ * Resource action: rsc1:1          promote on node2
+ * Pseudo action:   ms1_promoted_0
+ * Pseudo action:   ms1_post_notify_promoted_0
+ * Resource action: rsc1:0          notify on node1
+ * Resource action: rsc1:1          notify on node2
+ * Pseudo action:   ms1_confirmed-post_notify_promoted_0
+ * Resource action: rsc2            migrate_to on node1
+ * Resource action: rsc1:1          monitor=5000 on node2
+ * Resource action: rsc2            migrate_from on node2
+ * Resource action: rsc2            stop on node1
+ * Pseudo action:   all_stopped
+ * Pseudo action:   rsc2_start_0
+ * Resource action: rsc2            monitor=5000 on node2
+
+Revised cluster status:
+Online: [ node1 node2 ]
+
+ Master/Slave Set: ms1 [rsc1]
+     Masters: [ node1 node2 ]
+ rsc2	(ocf::pacemaker:Dummy):	Started node2 
+
Index: pacemaker/pengine/test10/a-promote-then-b-migrate.xml
===================================================================
--- /dev/null
+++ pacemaker/pengine/test10/a-promote-then-b-migrate.xml
@@ -0,0 +1,79 @@
+<cib epoch="1" num_updates="37" admin_epoch="0" validate-with="pacemaker-1.2" cib-last-written="Fri Jul 13 13:51:19 2012" have-quorum="1">
+  <configuration>
+    <crm_config>
+      <cluster_property_set id="cib-bootstrap-options">
+        <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
+        <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+      </cluster_property_set>
+    </crm_config>
+    <nodes>
+      <node id="node1" type="normal" uname="node1"/>
+      <node id="node2" type="normal" uname="node2"/>
+    </nodes>
+    <resources>
+      <master id="ms1">
+        <meta_attributes id="ms1-meta_attributes">
+          <nvpair id="ms1-meta_attributes-master-max" name="master-max" value="2"/>
+          <nvpair id="ms1-notify" name="notify" value="true"/>
+          <nvpair id="ms1-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+        <primitive id="rsc1" class="ocf" provider="pacemaker" type="Stateful">
+          <operations id="rsc1-operations">
+            <op id="rsc1-monitor-master-5" name="monitor" interval="5" role="Master"/>
+            <op id="rsc1-monitor-slave-10" name="monitor" interval="10" role="Slave"/>
+          </operations>
+        </primitive>
+      </master>
+      <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy">
+        <meta_attributes id="rsc2-meta_attributes">
+          <nvpair id="rsc2-meta_attributes-allow-migrate" name="allow-migrate" value="true"/>
+        </meta_attributes>
+        <operations id="rsc2-operations">
+          <op id="rsc2-monitor-5" name="monitor" interval="5"/>
+        </operations>
+      </primitive>
+    </resources>
+    <constraints>
+      <rsc_order id="ms1-promote-then-rsc2" first="ms1" first-action="promote" then="rsc2" then-action="start" kind="Mandatory"/>
+      <rsc_colocation id="rsc2-with-ms1-master" rsc="rsc2" with-rsc="ms1" with-rsc-role="Master" score="INFINITY"/>
+      <rsc_location id="loc-ms1-node1" rsc="ms1" role="Master" node="node1" score="100"/>
+      <rsc_location id="loc-ms1-node2" rsc="ms1" role="Master" node="node2" score="100"/>
+      <rsc_location id="loc-rsc2" rsc="rsc2" node="node1" score="-INFINITY"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="node1" uname="node1" ha="active" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+      <lrm id="node1">
+        <lrm_resources>
+          <lrm_resource id="rsc1:0" class="ocf" provider="pacemaker" type="Stateful">
+            <lrm_rsc_op id="rsc1_last_0" operation_key="rsc1_promote_0" operation="promote" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="5:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;5:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="5" rc-code="0" op-status="0" interval="0" last-run="1422545797" last-rc-change="1422545797" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="rsc1_post_notify_start_0" operation_key="rsc1_notify_0" operation="notify" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="3" rc-code="0" op-status="0" interval="0" last-run="1422545797" last-rc-change="1422545797" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="rsc1_pre_notify_promote_0" operation_key="rsc1_notify_0" operation="notify" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="4" rc-code="0" op-status="0" interval="0" last-run="1422545797" last-rc-change="1422545797" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="rsc1_post_notify_promote_0" operation_key="rsc1_notify_0" operation="notify" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="6:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;6:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1422545797" last-rc-change="1422545797" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="rsc1_monitor_5000" operation_key="rsc1_monitor_5000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="7:-1:8:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:8;7:-1:8:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="7" rc-code="8" op-status="0" interval="5000" last-rc-change="1422545797" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="rsc2" class="ocf" provider="pacemaker" type="Dummy">
+            <lrm_rsc_op id="rsc2_last_0" operation_key="rsc2_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="2" rc-code="0" op-status="0" interval="0" last-run="1422545797" last-rc-change="1422545797" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="rsc2_monitor_5000" operation_key="rsc2_monitor_5000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="3" rc-code="0" op-status="0" interval="5000" last-rc-change="1422545797" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="node2" uname="node2" ha="active" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+      <lrm id="node2">
+        <lrm_resources>
+          <lrm_resource id="rsc1:1" class="ocf" provider="pacemaker" type="Stateful">
+            <lrm_rsc_op id="rsc1_last_0" operation_key="rsc1_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="2" rc-code="0" op-status="0" interval="0" last-run="1422545797" last-rc-change="1422545797" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="rsc1_post_notify_start_0" operation_key="rsc1_notify_0" operation="notify" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="3" rc-code="0" op-status="0" interval="0" last-run="1422545797" last-rc-change="1422545797" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="rsc1_pre_notify_promote_0" operation_key="rsc1_notify_0" operation="notify" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="4" rc-code="0" op-status="0" interval="0" last-run="1422545797" last-rc-change="1422545797" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="rsc1_post_notify_promote_0" operation_key="rsc1_notify_0" operation="notify" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="5:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;5:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="5" rc-code="0" op-status="0" interval="0" last-run="1422545797" last-rc-change="1422545797" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="rsc1_monitor_10000" operation_key="rsc1_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="6:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;6:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="6" rc-code="0" op-status="0" interval="10000" last-rc-change="1422545797" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="rsc2" class="ocf" provider="pacemaker" type="Dummy">
+            <lrm_rsc_op id="rsc2_last_0" operation_key="rsc2_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="1" rc-code="7" op-status="0" interval="0" last-run="1422545797" last-rc-change="1422545797" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+  </status>
+</cib>
