diff --git a/pengine/testcases/clone-anon-probe-1.dot b/pengine/testcases/clone-anon-probe-1.dot
new file mode 100644
index 0000000000..76830ba2ad
--- /dev/null
+++ b/pengine/testcases/clone-anon-probe-1.dot
@@ -0,0 +1,23 @@
+digraph "g" {
+"drbd0:0_monitor_0 mysql-02" -> "probe_complete mysql-02" [ style = bold]
+"drbd0:0_monitor_0 mysql-02" [ style=bold color="green" fontcolor="black" ]
+"drbd0:0_start_0 mysql-02" -> "ms-drbd0_running_0" [ style = bold]
+"drbd0:0_start_0 mysql-02" [ style=bold color="green" fontcolor="black" ]
+"drbd0:1_monitor_0 mysql-01" -> "probe_complete mysql-01" [ style = bold]
+"drbd0:1_monitor_0 mysql-01" [ style=bold color="green" fontcolor="black" ]
+"drbd0:1_start_0 mysql-01" -> "ms-drbd0_running_0" [ style = bold]
+"drbd0:1_start_0 mysql-01" [ style=bold color="green" fontcolor="black" ]
+"ms-drbd0_running_0" [ style=bold color="green" fontcolor="orange" ]
+"ms-drbd0_start_0" -> "drbd0:0_start_0 mysql-02" [ style = bold]
+"ms-drbd0_start_0" -> "drbd0:1_start_0 mysql-01" [ style = bold]
+"ms-drbd0_start_0" -> "ms-drbd0_running_0" [ style = bold]
+"ms-drbd0_start_0" [ style=bold color="green" fontcolor="orange" ]
+"probe_complete mysql-01" -> "probe_complete" [ style = bold]
+"probe_complete mysql-01" [ style=bold color="green" fontcolor="black" ]
+"probe_complete mysql-02" -> "probe_complete" [ style = bold]
+"probe_complete mysql-02" [ style=bold color="green" fontcolor="black" ]
+"probe_complete" -> "drbd0:0_start_0 mysql-02" [ style = bold]
+"probe_complete" -> "drbd0:1_start_0 mysql-01" [ style = bold]
+"probe_complete" -> "ms-drbd0_start_0" [ style = bold]
+"probe_complete" [ style=bold color="green" fontcolor="orange" ]
+}
diff --git a/pengine/testcases/clone-anon-probe-1.exp b/pengine/testcases/clone-anon-probe-1.exp
new file mode 100644
index 0000000000..44e8c66f68
--- /dev/null
+++ b/pengine/testcases/clone-anon-probe-1.exp
@@ -0,0 +1,122 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pengine/testcases/clone-anon-probe-1.xml b/pengine/testcases/clone-anon-probe-1.xml
new file mode 100644
index 0000000000..703b3dfa18
--- /dev/null
+++ b/pengine/testcases/clone-anon-probe-1.xml
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pengine/testcases/clone-anon-probe-2.dot b/pengine/testcases/clone-anon-probe-2.dot
new file mode 100644
index 0000000000..165d48bef2
--- /dev/null
+++ b/pengine/testcases/clone-anon-probe-2.dot
@@ -0,0 +1,8 @@
+digraph "g" {
+"drbd0:1_start_0 mysql-01" -> "ms-drbd0_running_0" [ style = bold]
+"drbd0:1_start_0 mysql-01" [ style=bold color="green" fontcolor="black" ]
+"ms-drbd0_running_0" [ style=bold color="green" fontcolor="orange" ]
+"ms-drbd0_start_0" -> "drbd0:1_start_0 mysql-01" [ style = bold]
+"ms-drbd0_start_0" -> "ms-drbd0_running_0" [ style = bold]
+"ms-drbd0_start_0" [ style=bold color="green" fontcolor="orange" ]
+}
diff --git a/pengine/testcases/clone-anon-probe-2.exp b/pengine/testcases/clone-anon-probe-2.exp
new file mode 100644
index 0000000000..b7f4e56a7e
--- /dev/null
+++ b/pengine/testcases/clone-anon-probe-2.exp
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pengine/testcases/clone-anon-probe-2.xml b/pengine/testcases/clone-anon-probe-2.xml
new file mode 100644
index 0000000000..0f270f5b0b
--- /dev/null
+++ b/pengine/testcases/clone-anon-probe-2.xml
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pengine/testcases/master-failed-demote-2.dot b/pengine/testcases/master-failed-demote-2.dot
new file mode 100644
index 0000000000..25f43f1f89
--- /dev/null
+++ b/pengine/testcases/master-failed-demote-2.dot
@@ -0,0 +1,42 @@
+digraph "g" {
+"Cancel stateful-1:1_monitor_20000 dl380g5a" -> "stateful-1:1_promote_0 dl380g5a" [ style = bold]
+"Cancel stateful-1:1_monitor_20000 dl380g5a" [ style=bold color="green" fontcolor="black" ]
+"Cancel stateful-2:1_monitor_20000 dl380g5a" -> "stateful-2:1_promote_0 dl380g5a" [ style = bold]
+"Cancel stateful-2:1_monitor_20000 dl380g5a" [ style=bold color="green" fontcolor="black" ]
+"all_stopped" [ style=bold color="green" fontcolor="orange" ]
+"group:0_stop_0" -> "group:0_stopped_0" [ style = bold]
+"group:0_stop_0" -> "stateful-1:0_stop_0 dl380g5b" [ style = bold]
+"group:0_stop_0" -> "stateful-2:0_stop_0" [ style = bold]
+"group:0_stop_0" [ style=bold color="green" fontcolor="orange" ]
+"group:0_stopped_0" -> "ms-sf_stopped_0" [ style = bold]
+"group:0_stopped_0" [ style=bold color="green" fontcolor="orange" ]
+"group:1_promote_0" -> "stateful-1:1_promote_0 dl380g5a" [ style = bold]
+"group:1_promote_0" -> "stateful-2:1_promote_0 dl380g5a" [ style = bold]
+"group:1_promote_0" [ style=bold color="green" fontcolor="orange" ]
+"group:1_promoted_0" -> "ms-sf_promoted_0" [ style = bold]
+"group:1_promoted_0" [ style=bold color="green" fontcolor="orange" ]
+"ms-sf_promote_0" -> "group:1_promote_0" [ style = bold]
+"ms-sf_promote_0" [ style=bold color="green" fontcolor="orange" ]
+"ms-sf_promoted_0" [ style=bold color="green" fontcolor="orange" ]
+"ms-sf_stop_0" -> "group:0_stop_0" [ style = bold]
+"ms-sf_stop_0" -> "ms-sf_stopped_0" [ style = bold]
+"ms-sf_stop_0" [ style=bold color="green" fontcolor="orange" ]
+"ms-sf_stopped_0" -> "ms-sf_promote_0" [ style = bold]
+"ms-sf_stopped_0" [ style=bold color="green" fontcolor="orange" ]
+"stateful-1:0_stop_0 dl380g5b" -> "all_stopped" [ style = bold]
+"stateful-1:0_stop_0 dl380g5b" -> "group:0_stopped_0" [ style = bold]
+"stateful-1:0_stop_0 dl380g5b" [ style=bold color="green" fontcolor="black" ]
+"stateful-1:1_monitor_10000 dl380g5a" [ style=bold color="green" fontcolor="black" ]
+"stateful-1:1_promote_0 dl380g5a" -> "group:1_promoted_0" [ style = bold]
+"stateful-1:1_promote_0 dl380g5a" -> "stateful-1:1_monitor_10000 dl380g5a" [ style = bold]
+"stateful-1:1_promote_0 dl380g5a" -> "stateful-2:1_promote_0 dl380g5a" [ style = bold]
+"stateful-1:1_promote_0 dl380g5a" [ style=bold color="green" fontcolor="black" ]
+"stateful-2:0_stop_0" -> "all_stopped" [ style = bold]
+"stateful-2:0_stop_0" -> "group:0_stopped_0" [ style = bold]
+"stateful-2:0_stop_0" -> "stateful-1:0_stop_0 dl380g5b" [ style = bold]
+"stateful-2:0_stop_0" [ style=bold color="green" fontcolor="orange" ]
+"stateful-2:1_monitor_10000 dl380g5a" [ style=bold color="green" fontcolor="black" ]
+"stateful-2:1_promote_0 dl380g5a" -> "group:1_promoted_0" [ style = bold]
+"stateful-2:1_promote_0 dl380g5a" -> "stateful-2:1_monitor_10000 dl380g5a" [ style = bold]
+"stateful-2:1_promote_0 dl380g5a" [ style=bold color="green" fontcolor="black" ]
+}
diff --git a/pengine/testcases/master-failed-demote-2.exp b/pengine/testcases/master-failed-demote-2.exp
new file mode 100644
index 0000000000..6abe98443d
--- /dev/null
+++ b/pengine/testcases/master-failed-demote-2.exp
@@ -0,0 +1,229 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pengine/testcases/master-failed-demote-2.xml b/pengine/testcases/master-failed-demote-2.xml
new file mode 100644
index 0000000000..1e5bb7d845
--- /dev/null
+++ b/pengine/testcases/master-failed-demote-2.xml
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+