diff --git a/pengine/native.c b/pengine/native.c
index 62639d0..3f1807e 100644
--- a/pengine/native.c
+++ b/pengine/native.c
@@ -2913,6 +2913,39 @@ native_start_constraints(resource_t * rsc, action_t * stonith_op, gboolean is_st
}
}
+static GListPtr
+find_fence_target_node_actions(GListPtr search_list, const char *key, node_t *fence_target, pe_working_set_t *data_set)
+{
+ GListPtr gIter = NULL;
+ GListPtr result_list = find_actions(search_list, key, fence_target);
+
+ /* find stop actions for this rsc on any container nodes running on
+ * the fencing target node */
+ for (gIter = fence_target->details->running_rsc; gIter != NULL; gIter = gIter->next) {
+ GListPtr iter = NULL;
+ GListPtr tmp_list = NULL;
+ resource_t *tmp_rsc = (resource_t *) gIter->data;
+ node_t *container_node = NULL;
+
+ /* found a container node that lives on the host node
+ * that is getting fenced. Find stop for our rsc that live on
+ * the container node as well. These stop operations are also
+ * implied by fencing of the host cluster node. */
+ if (tmp_rsc->is_remote_node && tmp_rsc->container != NULL) {
+ container_node = pe_find_node(data_set->nodes, tmp_rsc->id);
+ }
+ if (container_node) {
+ tmp_list = find_actions(search_list, key, container_node);
+ }
+ for (iter = tmp_list; iter != NULL; iter = iter->next) {
+ result_list = g_list_prepend(result_list, (action_t *) iter->data);
+ }
+ g_list_free(tmp_list);
+ }
+
+ return result_list;
+}
+
static void
native_stop_constraints(resource_t * rsc, action_t * stonith_op, gboolean is_stonith,
pe_working_set_t * data_set)
@@ -2923,7 +2956,7 @@ native_stop_constraints(resource_t * rsc, action_t * stonith_op, gboolean is_sto
resource_t *top = uber_parent(rsc);
key = stop_key(rsc);
- action_list = find_actions(rsc->actions, key, stonith_op->node);
+ action_list = find_fence_target_node_actions(rsc->actions, key, stonith_op->node, data_set);
free(key);
/* add the stonith OP as a stop pre-req and the mark the stop
@@ -3032,7 +3065,7 @@ native_stop_constraints(resource_t * rsc, action_t * stonith_op, gboolean is_sto
g_list_free(action_list);
key = demote_key(rsc);
- action_list = find_actions(rsc->actions, key, stonith_op->node);
+ action_list = find_fence_target_node_actions(rsc->actions, key, stonith_op->node, data_set);
free(key);
for (gIter = action_list; gIter != NULL; gIter = gIter->next) {
diff --git a/pengine/regression.sh b/pengine/regression.sh
index c2bc7fb..9172acb 100755
--- a/pengine/regression.sh
+++ b/pengine/regression.sh
@@ -768,6 +768,7 @@ do_test whitebox-orphaned "Properly shutdown orphaned whitebox container"
do_test whitebox-orphan-ms "Properly tear down orphan ms resources on remote-nodes"
do_test whitebox-unexpectedly-running "Recover container nodes the cluster did not start."
do_test whitebox-migrate1 "Migrate both container and connection resource"
+do_test whitebox-imply-stop-on-fence "imply stop action on container node rsc when host node is fenced"
echo ""
do_test remote-startup-probes "Baremetal remote-node startup probes"
diff --git a/pengine/test10/whitebox-imply-stop-on-fence.dot b/pengine/test10/whitebox-imply-stop-on-fence.dot
new file mode 100644
index 0000000..66700b8
--- /dev/null
+++ b/pengine/test10/whitebox-imply-stop-on-fence.dot
@@ -0,0 +1,93 @@
+ digraph "g" {
+"R-lxc-01_kiff-01_monitor_10000 kiff-02" [ style=bold color="green" fontcolor="black"]
+"R-lxc-01_kiff-01_start_0 kiff-02" -> "R-lxc-01_kiff-01_monitor_10000 kiff-02" [ style = bold]
+"R-lxc-01_kiff-01_start_0 kiff-02" -> "lxc-01_kiff-01_start_0 kiff-02" [ style = bold]
+"R-lxc-01_kiff-01_start_0 kiff-02" [ style=bold color="green" fontcolor="black"]
+"R-lxc-01_kiff-01_stop_0 kiff-01" -> "R-lxc-01_kiff-01_start_0 kiff-02" [ style = bold]
+"R-lxc-01_kiff-01_stop_0 kiff-01" -> "all_stopped" [ style = bold]
+"R-lxc-01_kiff-01_stop_0 kiff-01" -> "shared0-clone_stop_0" [ style = bold]
+"R-lxc-01_kiff-01_stop_0 kiff-01" [ style=bold color="green" fontcolor="orange"]
+"R-lxc-02_kiff-01_monitor_10000 kiff-02" [ style=bold color="green" fontcolor="black"]
+"R-lxc-02_kiff-01_start_0 kiff-02" -> "R-lxc-02_kiff-01_monitor_10000 kiff-02" [ style = bold]
+"R-lxc-02_kiff-01_start_0 kiff-02" -> "lxc-02_kiff-01_start_0 kiff-02" [ style = bold]
+"R-lxc-02_kiff-01_start_0 kiff-02" [ style=bold color="green" fontcolor="black"]
+"R-lxc-02_kiff-01_stop_0 kiff-01" -> "R-lxc-02_kiff-01_start_0 kiff-02" [ style = bold]
+"R-lxc-02_kiff-01_stop_0 kiff-01" -> "all_stopped" [ style = bold]
+"R-lxc-02_kiff-01_stop_0 kiff-01" -> "shared0-clone_stop_0" [ style = bold]
+"R-lxc-02_kiff-01_stop_0 kiff-01" [ style=bold color="green" fontcolor="orange"]
+"all_stopped" [ style=bold color="green" fontcolor="orange"]
+"clvmd-clone_stop_0" -> "clvmd-clone_stopped_0" [ style = bold]
+"clvmd-clone_stop_0" -> "clvmd_stop_0 kiff-01" [ style = bold]
+"clvmd-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"clvmd-clone_stopped_0" -> "dlm-clone_stop_0" [ style = bold]
+"clvmd-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"clvmd_stop_0 kiff-01" -> "all_stopped" [ style = bold]
+"clvmd_stop_0 kiff-01" -> "clvmd-clone_stopped_0" [ style = bold]
+"clvmd_stop_0 kiff-01" -> "dlm_stop_0 kiff-01" [ style = bold]
+"clvmd_stop_0 kiff-01" [ style=bold color="green" fontcolor="orange"]
+"dlm-clone_stop_0" -> "dlm-clone_stopped_0" [ style = bold]
+"dlm-clone_stop_0" -> "dlm_stop_0 kiff-01" [ style = bold]
+"dlm-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"dlm-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"dlm_stop_0 kiff-01" -> "all_stopped" [ style = bold]
+"dlm_stop_0 kiff-01" -> "dlm-clone_stopped_0" [ style = bold]
+"dlm_stop_0 kiff-01" [ style=bold color="green" fontcolor="orange"]
+"fence-kiff-02_monitor_60000 kiff-02" [ style=bold color="green" fontcolor="black"]
+"fence-kiff-02_start_0 kiff-02" -> "fence-kiff-02_monitor_60000 kiff-02" [ style = bold]
+"fence-kiff-02_start_0 kiff-02" [ style=bold color="green" fontcolor="black"]
+"fence-kiff-02_stop_0 kiff-01" -> "all_stopped" [ style = bold]
+"fence-kiff-02_stop_0 kiff-01" -> "fence-kiff-02_start_0 kiff-02" [ style = bold]
+"fence-kiff-02_stop_0 kiff-01" [ style=bold color="green" fontcolor="orange"]
+"lxc-01_kiff-01_monitor_30000 kiff-02" [ style=bold color="green" fontcolor="black"]
+"lxc-01_kiff-01_start_0 kiff-02" -> "lxc-01_kiff-01_monitor_30000 kiff-02" [ style = bold]
+"lxc-01_kiff-01_start_0 kiff-02" -> "vm-fs_monitor_20000 lxc-01_kiff-01" [ style = bold]
+"lxc-01_kiff-01_start_0 kiff-02" -> "vm-fs_start_0 lxc-01_kiff-01" [ style = bold]
+"lxc-01_kiff-01_start_0 kiff-02" [ style=bold color="green" fontcolor="black"]
+"lxc-01_kiff-01_stop_0 kiff-01" -> "R-lxc-01_kiff-01_stop_0 kiff-01" [ style = bold]
+"lxc-01_kiff-01_stop_0 kiff-01" -> "all_stopped" [ style = bold]
+"lxc-01_kiff-01_stop_0 kiff-01" -> "lxc-01_kiff-01_start_0 kiff-02" [ style = bold]
+"lxc-01_kiff-01_stop_0 kiff-01" [ style=bold color="green" fontcolor="orange"]
+"lxc-02_kiff-01_monitor_30000 kiff-02" [ style=bold color="green" fontcolor="black"]
+"lxc-02_kiff-01_start_0 kiff-02" -> "lxc-02_kiff-01_monitor_30000 kiff-02" [ style = bold]
+"lxc-02_kiff-01_start_0 kiff-02" [ style=bold color="green" fontcolor="black"]
+"lxc-02_kiff-01_stop_0 kiff-01" -> "R-lxc-02_kiff-01_stop_0 kiff-01" [ style = bold]
+"lxc-02_kiff-01_stop_0 kiff-01" -> "all_stopped" [ style = bold]
+"lxc-02_kiff-01_stop_0 kiff-01" -> "lxc-02_kiff-01_start_0 kiff-02" [ style = bold]
+"lxc-02_kiff-01_stop_0 kiff-01" [ style=bold color="green" fontcolor="orange"]
+"shared0-clone_stop_0" -> "shared0-clone_stopped_0" [ style = bold]
+"shared0-clone_stop_0" -> "shared0_stop_0 kiff-01" [ style = bold]
+"shared0-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"shared0-clone_stopped_0" -> "clvmd-clone_stop_0" [ style = bold]
+"shared0-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"shared0_stop_0 kiff-01" -> "all_stopped" [ style = bold]
+"shared0_stop_0 kiff-01" -> "clvmd_stop_0 kiff-01" [ style = bold]
+"shared0_stop_0 kiff-01" -> "shared0-clone_stopped_0" [ style = bold]
+"shared0_stop_0 kiff-01" [ style=bold color="green" fontcolor="orange"]
+"stonith 'reboot' kiff-01" -> "R-lxc-01_kiff-01_stop_0 kiff-01" [ style = bold]
+"stonith 'reboot' kiff-01" -> "R-lxc-02_kiff-01_stop_0 kiff-01" [ style = bold]
+"stonith 'reboot' kiff-01" -> "clvmd-clone_stop_0" [ style = bold]
+"stonith 'reboot' kiff-01" -> "clvmd_stop_0 kiff-01" [ style = bold]
+"stonith 'reboot' kiff-01" -> "dlm-clone_stop_0" [ style = bold]
+"stonith 'reboot' kiff-01" -> "dlm_stop_0 kiff-01" [ style = bold]
+"stonith 'reboot' kiff-01" -> "fence-kiff-02_stop_0 kiff-01" [ style = bold]
+"stonith 'reboot' kiff-01" -> "lxc-01_kiff-01_stop_0 kiff-01" [ style = bold]
+"stonith 'reboot' kiff-01" -> "lxc-02_kiff-01_stop_0 kiff-01" [ style = bold]
+"stonith 'reboot' kiff-01" -> "shared0-clone_stop_0" [ style = bold]
+"stonith 'reboot' kiff-01" -> "shared0_stop_0 kiff-01" [ style = bold]
+"stonith 'reboot' kiff-01" -> "stonith_complete" [ style = bold]
+"stonith 'reboot' kiff-01" -> "vm-fs_stop_0 lxc-01_kiff-01" [ style = bold]
+"stonith 'reboot' kiff-01" [ style=bold color="green" fontcolor="black"]
+"stonith_complete" -> "R-lxc-01_kiff-01_start_0 kiff-02" [ style = bold]
+"stonith_complete" -> "R-lxc-02_kiff-01_start_0 kiff-02" [ style = bold]
+"stonith_complete" -> "all_stopped" [ style = bold]
+"stonith_complete" -> "lxc-01_kiff-01_start_0 kiff-02" [ style = bold]
+"stonith_complete" -> "lxc-02_kiff-01_start_0 kiff-02" [ style = bold]
+"stonith_complete" -> "vm-fs_start_0 lxc-01_kiff-01" [ style = bold]
+"stonith_complete" [ style=bold color="green" fontcolor="orange"]
+"vm-fs_monitor_20000 lxc-01_kiff-01" [ style=bold color="green" fontcolor="black"]
+"vm-fs_start_0 lxc-01_kiff-01" -> "vm-fs_monitor_20000 lxc-01_kiff-01" [ style = bold]
+"vm-fs_start_0 lxc-01_kiff-01" [ style=bold color="green" fontcolor="black"]
+"vm-fs_stop_0 lxc-01_kiff-01" -> "all_stopped" [ style = bold]
+"vm-fs_stop_0 lxc-01_kiff-01" -> "vm-fs_start_0 lxc-01_kiff-01" [ style = bold]
+"vm-fs_stop_0 lxc-01_kiff-01" [ style=bold color="green" fontcolor="orange"]
+}
diff --git a/pengine/test10/whitebox-imply-stop-on-fence.exp b/pengine/test10/whitebox-imply-stop-on-fence.exp
new file mode 100644
index 0000000..d13c25f
--- /dev/null
+++ b/pengine/test10/whitebox-imply-stop-on-fence.exp
@@ -0,0 +1,466 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pengine/test10/whitebox-imply-stop-on-fence.scores b/pengine/test10/whitebox-imply-stop-on-fence.scores
new file mode 100644
index 0000000..e50f077
--- /dev/null
+++ b/pengine/test10/whitebox-imply-stop-on-fence.scores
@@ -0,0 +1,301 @@
+Allocation scores:
+clone_color: clvmd-clone allocation score on kiff-01: 0
+clone_color: clvmd-clone allocation score on kiff-02: 0
+clone_color: clvmd-clone allocation score on lxc-01_kiff-01: 0
+clone_color: clvmd-clone allocation score on lxc-01_kiff-02: 0
+clone_color: clvmd-clone allocation score on lxc-02_kiff-01: 0
+clone_color: clvmd-clone allocation score on lxc-02_kiff-02: 0
+clone_color: clvmd:0 allocation score on kiff-01: 1
+clone_color: clvmd:0 allocation score on kiff-02: 0
+clone_color: clvmd:0 allocation score on lxc-01_kiff-01: 0
+clone_color: clvmd:0 allocation score on lxc-01_kiff-02: 0
+clone_color: clvmd:0 allocation score on lxc-02_kiff-01: 0
+clone_color: clvmd:0 allocation score on lxc-02_kiff-02: 0
+clone_color: clvmd:1 allocation score on kiff-01: 0
+clone_color: clvmd:1 allocation score on kiff-02: 1
+clone_color: clvmd:1 allocation score on lxc-01_kiff-01: 0
+clone_color: clvmd:1 allocation score on lxc-01_kiff-02: 0
+clone_color: clvmd:1 allocation score on lxc-02_kiff-01: 0
+clone_color: clvmd:1 allocation score on lxc-02_kiff-02: 0
+clone_color: clvmd:2 allocation score on kiff-01: 0
+clone_color: clvmd:2 allocation score on kiff-02: 0
+clone_color: clvmd:2 allocation score on lxc-01_kiff-01: 0
+clone_color: clvmd:2 allocation score on lxc-01_kiff-02: 0
+clone_color: clvmd:2 allocation score on lxc-02_kiff-01: 0
+clone_color: clvmd:2 allocation score on lxc-02_kiff-02: 0
+clone_color: clvmd:3 allocation score on kiff-01: 0
+clone_color: clvmd:3 allocation score on kiff-02: 0
+clone_color: clvmd:3 allocation score on lxc-01_kiff-01: 0
+clone_color: clvmd:3 allocation score on lxc-01_kiff-02: 0
+clone_color: clvmd:3 allocation score on lxc-02_kiff-01: 0
+clone_color: clvmd:3 allocation score on lxc-02_kiff-02: 0
+clone_color: clvmd:4 allocation score on kiff-01: 0
+clone_color: clvmd:4 allocation score on kiff-02: 0
+clone_color: clvmd:4 allocation score on lxc-01_kiff-01: 0
+clone_color: clvmd:4 allocation score on lxc-01_kiff-02: 0
+clone_color: clvmd:4 allocation score on lxc-02_kiff-01: 0
+clone_color: clvmd:4 allocation score on lxc-02_kiff-02: 0
+clone_color: clvmd:5 allocation score on kiff-01: 0
+clone_color: clvmd:5 allocation score on kiff-02: 0
+clone_color: clvmd:5 allocation score on lxc-01_kiff-01: 0
+clone_color: clvmd:5 allocation score on lxc-01_kiff-02: 0
+clone_color: clvmd:5 allocation score on lxc-02_kiff-01: 0
+clone_color: clvmd:5 allocation score on lxc-02_kiff-02: 0
+clone_color: dlm-clone allocation score on kiff-01: 0
+clone_color: dlm-clone allocation score on kiff-02: 0
+clone_color: dlm-clone allocation score on lxc-01_kiff-01: -INFINITY
+clone_color: dlm-clone allocation score on lxc-01_kiff-02: -INFINITY
+clone_color: dlm-clone allocation score on lxc-02_kiff-01: -INFINITY
+clone_color: dlm-clone allocation score on lxc-02_kiff-02: -INFINITY
+clone_color: dlm:0 allocation score on kiff-01: 1
+clone_color: dlm:0 allocation score on kiff-02: 0
+clone_color: dlm:0 allocation score on lxc-01_kiff-01: -INFINITY
+clone_color: dlm:0 allocation score on lxc-01_kiff-02: -INFINITY
+clone_color: dlm:0 allocation score on lxc-02_kiff-01: -INFINITY
+clone_color: dlm:0 allocation score on lxc-02_kiff-02: -INFINITY
+clone_color: dlm:1 allocation score on kiff-01: 0
+clone_color: dlm:1 allocation score on kiff-02: 1
+clone_color: dlm:1 allocation score on lxc-01_kiff-01: -INFINITY
+clone_color: dlm:1 allocation score on lxc-01_kiff-02: -INFINITY
+clone_color: dlm:1 allocation score on lxc-02_kiff-01: -INFINITY
+clone_color: dlm:1 allocation score on lxc-02_kiff-02: -INFINITY
+clone_color: dlm:2 allocation score on kiff-01: 0
+clone_color: dlm:2 allocation score on kiff-02: 0
+clone_color: dlm:2 allocation score on lxc-01_kiff-01: -INFINITY
+clone_color: dlm:2 allocation score on lxc-01_kiff-02: -INFINITY
+clone_color: dlm:2 allocation score on lxc-02_kiff-01: -INFINITY
+clone_color: dlm:2 allocation score on lxc-02_kiff-02: -INFINITY
+clone_color: dlm:3 allocation score on kiff-01: 0
+clone_color: dlm:3 allocation score on kiff-02: 0
+clone_color: dlm:3 allocation score on lxc-01_kiff-01: -INFINITY
+clone_color: dlm:3 allocation score on lxc-01_kiff-02: -INFINITY
+clone_color: dlm:3 allocation score on lxc-02_kiff-01: -INFINITY
+clone_color: dlm:3 allocation score on lxc-02_kiff-02: -INFINITY
+clone_color: dlm:4 allocation score on kiff-01: 0
+clone_color: dlm:4 allocation score on kiff-02: 0
+clone_color: dlm:4 allocation score on lxc-01_kiff-01: -INFINITY
+clone_color: dlm:4 allocation score on lxc-01_kiff-02: -INFINITY
+clone_color: dlm:4 allocation score on lxc-02_kiff-01: -INFINITY
+clone_color: dlm:4 allocation score on lxc-02_kiff-02: -INFINITY
+clone_color: dlm:5 allocation score on kiff-01: 0
+clone_color: dlm:5 allocation score on kiff-02: 0
+clone_color: dlm:5 allocation score on lxc-01_kiff-01: -INFINITY
+clone_color: dlm:5 allocation score on lxc-01_kiff-02: -INFINITY
+clone_color: dlm:5 allocation score on lxc-02_kiff-01: -INFINITY
+clone_color: dlm:5 allocation score on lxc-02_kiff-02: -INFINITY
+clone_color: shared0-clone allocation score on kiff-01: 0
+clone_color: shared0-clone allocation score on kiff-02: 0
+clone_color: shared0-clone allocation score on lxc-01_kiff-01: 0
+clone_color: shared0-clone allocation score on lxc-01_kiff-02: 0
+clone_color: shared0-clone allocation score on lxc-02_kiff-01: 0
+clone_color: shared0-clone allocation score on lxc-02_kiff-02: 0
+clone_color: shared0:0 allocation score on kiff-01: 1
+clone_color: shared0:0 allocation score on kiff-02: 0
+clone_color: shared0:0 allocation score on lxc-01_kiff-01: 0
+clone_color: shared0:0 allocation score on lxc-01_kiff-02: 0
+clone_color: shared0:0 allocation score on lxc-02_kiff-01: 0
+clone_color: shared0:0 allocation score on lxc-02_kiff-02: 0
+clone_color: shared0:1 allocation score on kiff-01: 0
+clone_color: shared0:1 allocation score on kiff-02: 1
+clone_color: shared0:1 allocation score on lxc-01_kiff-01: 0
+clone_color: shared0:1 allocation score on lxc-01_kiff-02: 0
+clone_color: shared0:1 allocation score on lxc-02_kiff-01: 0
+clone_color: shared0:1 allocation score on lxc-02_kiff-02: 0
+clone_color: shared0:2 allocation score on kiff-01: 0
+clone_color: shared0:2 allocation score on kiff-02: 0
+clone_color: shared0:2 allocation score on lxc-01_kiff-01: 0
+clone_color: shared0:2 allocation score on lxc-01_kiff-02: 0
+clone_color: shared0:2 allocation score on lxc-02_kiff-01: 0
+clone_color: shared0:2 allocation score on lxc-02_kiff-02: 0
+clone_color: shared0:3 allocation score on kiff-01: 0
+clone_color: shared0:3 allocation score on kiff-02: 0
+clone_color: shared0:3 allocation score on lxc-01_kiff-01: 0
+clone_color: shared0:3 allocation score on lxc-01_kiff-02: 0
+clone_color: shared0:3 allocation score on lxc-02_kiff-01: 0
+clone_color: shared0:3 allocation score on lxc-02_kiff-02: 0
+clone_color: shared0:4 allocation score on kiff-01: 0
+clone_color: shared0:4 allocation score on kiff-02: 0
+clone_color: shared0:4 allocation score on lxc-01_kiff-01: 0
+clone_color: shared0:4 allocation score on lxc-01_kiff-02: 0
+clone_color: shared0:4 allocation score on lxc-02_kiff-01: 0
+clone_color: shared0:4 allocation score on lxc-02_kiff-02: 0
+clone_color: shared0:5 allocation score on kiff-01: 0
+clone_color: shared0:5 allocation score on kiff-02: 0
+clone_color: shared0:5 allocation score on lxc-01_kiff-01: 0
+clone_color: shared0:5 allocation score on lxc-01_kiff-02: 0
+clone_color: shared0:5 allocation score on lxc-02_kiff-01: 0
+clone_color: shared0:5 allocation score on lxc-02_kiff-02: 0
+native_color: R-lxc-01_kiff-01 allocation score on kiff-01: -INFINITY
+native_color: R-lxc-01_kiff-01 allocation score on kiff-02: 0
+native_color: R-lxc-01_kiff-01 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: R-lxc-01_kiff-01 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: R-lxc-01_kiff-01 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: R-lxc-01_kiff-01 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: R-lxc-01_kiff-02 allocation score on kiff-01: -INFINITY
+native_color: R-lxc-01_kiff-02 allocation score on kiff-02: 100
+native_color: R-lxc-01_kiff-02 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: R-lxc-01_kiff-02 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: R-lxc-01_kiff-02 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: R-lxc-01_kiff-02 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: R-lxc-02_kiff-01 allocation score on kiff-01: -INFINITY
+native_color: R-lxc-02_kiff-01 allocation score on kiff-02: 0
+native_color: R-lxc-02_kiff-01 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: R-lxc-02_kiff-01 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: R-lxc-02_kiff-01 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: R-lxc-02_kiff-01 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: R-lxc-02_kiff-02 allocation score on kiff-01: -INFINITY
+native_color: R-lxc-02_kiff-02 allocation score on kiff-02: 100
+native_color: R-lxc-02_kiff-02 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: R-lxc-02_kiff-02 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: R-lxc-02_kiff-02 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: R-lxc-02_kiff-02 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: clvmd:0 allocation score on kiff-01: -INFINITY
+native_color: clvmd:0 allocation score on kiff-02: -INFINITY
+native_color: clvmd:0 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: clvmd:0 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: clvmd:0 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: clvmd:0 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: clvmd:1 allocation score on kiff-01: -INFINITY
+native_color: clvmd:1 allocation score on kiff-02: 1
+native_color: clvmd:1 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: clvmd:1 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: clvmd:1 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: clvmd:1 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: clvmd:2 allocation score on kiff-01: -INFINITY
+native_color: clvmd:2 allocation score on kiff-02: -INFINITY
+native_color: clvmd:2 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: clvmd:2 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: clvmd:2 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: clvmd:2 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: clvmd:3 allocation score on kiff-01: -INFINITY
+native_color: clvmd:3 allocation score on kiff-02: -INFINITY
+native_color: clvmd:3 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: clvmd:3 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: clvmd:3 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: clvmd:3 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: clvmd:4 allocation score on kiff-01: -INFINITY
+native_color: clvmd:4 allocation score on kiff-02: -INFINITY
+native_color: clvmd:4 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: clvmd:4 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: clvmd:4 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: clvmd:4 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: clvmd:5 allocation score on kiff-01: -INFINITY
+native_color: clvmd:5 allocation score on kiff-02: -INFINITY
+native_color: clvmd:5 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: clvmd:5 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: clvmd:5 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: clvmd:5 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: dlm:0 allocation score on kiff-01: -INFINITY
+native_color: dlm:0 allocation score on kiff-02: -INFINITY
+native_color: dlm:0 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: dlm:0 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: dlm:0 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: dlm:0 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: dlm:1 allocation score on kiff-01: -INFINITY
+native_color: dlm:1 allocation score on kiff-02: 1
+native_color: dlm:1 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: dlm:1 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: dlm:1 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: dlm:1 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: dlm:2 allocation score on kiff-01: -INFINITY
+native_color: dlm:2 allocation score on kiff-02: -INFINITY
+native_color: dlm:2 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: dlm:2 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: dlm:2 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: dlm:2 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: dlm:3 allocation score on kiff-01: -INFINITY
+native_color: dlm:3 allocation score on kiff-02: -INFINITY
+native_color: dlm:3 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: dlm:3 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: dlm:3 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: dlm:3 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: dlm:4 allocation score on kiff-01: -INFINITY
+native_color: dlm:4 allocation score on kiff-02: -INFINITY
+native_color: dlm:4 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: dlm:4 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: dlm:4 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: dlm:4 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: dlm:5 allocation score on kiff-01: -INFINITY
+native_color: dlm:5 allocation score on kiff-02: -INFINITY
+native_color: dlm:5 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: dlm:5 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: dlm:5 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: dlm:5 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: fence-kiff-01 allocation score on kiff-01: 0
+native_color: fence-kiff-01 allocation score on kiff-02: 0
+native_color: fence-kiff-01 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: fence-kiff-01 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: fence-kiff-01 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: fence-kiff-01 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: fence-kiff-02 allocation score on kiff-01: 0
+native_color: fence-kiff-02 allocation score on kiff-02: 0
+native_color: fence-kiff-02 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: fence-kiff-02 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: fence-kiff-02 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: fence-kiff-02 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: lxc-01_kiff-01 allocation score on kiff-01: -INFINITY
+native_color: lxc-01_kiff-01 allocation score on kiff-02: 0
+native_color: lxc-01_kiff-01 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: lxc-01_kiff-01 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: lxc-01_kiff-01 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: lxc-01_kiff-01 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: lxc-01_kiff-02 allocation score on kiff-01: -INFINITY
+native_color: lxc-01_kiff-02 allocation score on kiff-02: 0
+native_color: lxc-01_kiff-02 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: lxc-01_kiff-02 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: lxc-01_kiff-02 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: lxc-01_kiff-02 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: lxc-02_kiff-01 allocation score on kiff-01: -INFINITY
+native_color: lxc-02_kiff-01 allocation score on kiff-02: 0
+native_color: lxc-02_kiff-01 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: lxc-02_kiff-01 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: lxc-02_kiff-01 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: lxc-02_kiff-01 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: lxc-02_kiff-02 allocation score on kiff-01: -INFINITY
+native_color: lxc-02_kiff-02 allocation score on kiff-02: 0
+native_color: lxc-02_kiff-02 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: lxc-02_kiff-02 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: lxc-02_kiff-02 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: lxc-02_kiff-02 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: shared0:0 allocation score on kiff-01: -INFINITY
+native_color: shared0:0 allocation score on kiff-02: -INFINITY
+native_color: shared0:0 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: shared0:0 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: shared0:0 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: shared0:0 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: shared0:1 allocation score on kiff-01: -INFINITY
+native_color: shared0:1 allocation score on kiff-02: 1
+native_color: shared0:1 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: shared0:1 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: shared0:1 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: shared0:1 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: shared0:2 allocation score on kiff-01: -INFINITY
+native_color: shared0:2 allocation score on kiff-02: -INFINITY
+native_color: shared0:2 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: shared0:2 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: shared0:2 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: shared0:2 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: shared0:3 allocation score on kiff-01: -INFINITY
+native_color: shared0:3 allocation score on kiff-02: -INFINITY
+native_color: shared0:3 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: shared0:3 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: shared0:3 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: shared0:3 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: shared0:4 allocation score on kiff-01: -INFINITY
+native_color: shared0:4 allocation score on kiff-02: -INFINITY
+native_color: shared0:4 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: shared0:4 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: shared0:4 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: shared0:4 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: shared0:5 allocation score on kiff-01: -INFINITY
+native_color: shared0:5 allocation score on kiff-02: -INFINITY
+native_color: shared0:5 allocation score on lxc-01_kiff-01: -INFINITY
+native_color: shared0:5 allocation score on lxc-01_kiff-02: -INFINITY
+native_color: shared0:5 allocation score on lxc-02_kiff-01: -INFINITY
+native_color: shared0:5 allocation score on lxc-02_kiff-02: -INFINITY
+native_color: vm-fs allocation score on kiff-01: 0
+native_color: vm-fs allocation score on kiff-02: 0
+native_color: vm-fs allocation score on lxc-01_kiff-01: 0
+native_color: vm-fs allocation score on lxc-01_kiff-02: 0
+native_color: vm-fs allocation score on lxc-02_kiff-01: 0
+native_color: vm-fs allocation score on lxc-02_kiff-02: 0
diff --git a/pengine/test10/whitebox-imply-stop-on-fence.summary b/pengine/test10/whitebox-imply-stop-on-fence.summary
new file mode 100644
index 0000000..79e77de
--- /dev/null
+++ b/pengine/test10/whitebox-imply-stop-on-fence.summary
@@ -0,0 +1,88 @@
+
+Current cluster status:
+Node kiff-01 (1): UNCLEAN (offline)
+Online: [ kiff-02 ]
+Containers: [ lxc-01_kiff-01:R-lxc-01_kiff-01 lxc-01_kiff-02:R-lxc-01_kiff-02 lxc-02_kiff-01:R-lxc-02_kiff-01 lxc-02_kiff-02:R-lxc-02_kiff-02 ]
+
+ fence-kiff-01 (stonith:fence_ipmilan): Started kiff-02
+ fence-kiff-02 (stonith:fence_ipmilan): Started kiff-01
+ Clone Set: dlm-clone [dlm]
+ Started: [ kiff-01 kiff-02 ]
+ Stopped: [ lxc-01_kiff-01 lxc-01_kiff-02 lxc-02_kiff-01 lxc-02_kiff-02 ]
+ Clone Set: clvmd-clone [clvmd]
+ Started: [ kiff-01 kiff-02 ]
+ Stopped: [ lxc-01_kiff-01 lxc-01_kiff-02 lxc-02_kiff-01 lxc-02_kiff-02 ]
+ Clone Set: shared0-clone [shared0]
+ Started: [ kiff-01 kiff-02 ]
+ Stopped: [ lxc-01_kiff-01 lxc-01_kiff-02 lxc-02_kiff-01 lxc-02_kiff-02 ]
+ R-lxc-01_kiff-01 (ocf::heartbeat:VirtualDomain): Started kiff-01
+ R-lxc-02_kiff-01 (ocf::heartbeat:VirtualDomain): Started kiff-01
+ R-lxc-01_kiff-02 (ocf::heartbeat:VirtualDomain): Started kiff-02
+ R-lxc-02_kiff-02 (ocf::heartbeat:VirtualDomain): Started kiff-02
+ vm-fs (ocf::heartbeat:Filesystem): Started lxc-01_kiff-01
+
+Transition Summary:
+ * Move fence-kiff-02 (Started kiff-01 -> kiff-02)
+ * Stop dlm:0 (kiff-01)
+ * Stop clvmd:0 (kiff-01)
+ * Stop shared0:0 (kiff-01)
+ * Move R-lxc-01_kiff-01 (Started kiff-01 -> kiff-02)
+ * Move R-lxc-02_kiff-01 (Started kiff-01 -> kiff-02)
+ * Restart vm-fs (Started lxc-01_kiff-01)
+ * Move lxc-01_kiff-01 (Started kiff-01 -> kiff-02)
+ * Move lxc-02_kiff-01 (Started kiff-01 -> kiff-02)
+
+Executing cluster transition:
+ * Fencing kiff-01 (reboot)
+ * Pseudo action: stonith_complete
+ * Pseudo action: fence-kiff-02_stop_0
+ * Pseudo action: vm-fs_stop_0
+ * Pseudo action: lxc-01_kiff-01_stop_0
+ * Pseudo action: lxc-02_kiff-01_stop_0
+ * Resource action: fence-kiff-02 start on kiff-02
+ * Pseudo action: R-lxc-01_kiff-01_stop_0
+ * Pseudo action: R-lxc-02_kiff-01_stop_0
+ * Resource action: fence-kiff-02 monitor=60000 on kiff-02
+ * Pseudo action: shared0-clone_stop_0
+ * Resource action: R-lxc-01_kiff-01 start on kiff-02
+ * Resource action: R-lxc-02_kiff-01 start on kiff-02
+ * Resource action: lxc-01_kiff-01 start on kiff-02
+ * Resource action: lxc-02_kiff-01 start on kiff-02
+ * Pseudo action: shared0_stop_0
+ * Pseudo action: shared0-clone_stopped_0
+ * Resource action: R-lxc-01_kiff-01 monitor=10000 on kiff-02
+ * Resource action: R-lxc-02_kiff-01 monitor=10000 on kiff-02
+ * Resource action: vm-fs start on lxc-01_kiff-01
+ * Resource action: vm-fs monitor=20000 on lxc-01_kiff-01
+ * Resource action: lxc-01_kiff-01 monitor=30000 on kiff-02
+ * Resource action: lxc-02_kiff-01 monitor=30000 on kiff-02
+ * Pseudo action: clvmd-clone_stop_0
+ * Pseudo action: clvmd_stop_0
+ * Pseudo action: clvmd-clone_stopped_0
+ * Pseudo action: dlm-clone_stop_0
+ * Pseudo action: dlm_stop_0
+ * Pseudo action: dlm-clone_stopped_0
+ * Pseudo action: all_stopped
+
+Revised cluster status:
+Online: [ kiff-02 ]
+OFFLINE: [ kiff-01 ]
+Containers: [ lxc-01_kiff-01:R-lxc-01_kiff-01 lxc-01_kiff-02:R-lxc-01_kiff-02 lxc-02_kiff-01:R-lxc-02_kiff-01 lxc-02_kiff-02:R-lxc-02_kiff-02 ]
+
+ fence-kiff-01 (stonith:fence_ipmilan): Started kiff-02
+ fence-kiff-02 (stonith:fence_ipmilan): Started kiff-02
+ Clone Set: dlm-clone [dlm]
+ Started: [ kiff-02 ]
+ Stopped: [ kiff-01 lxc-01_kiff-01 lxc-01_kiff-02 lxc-02_kiff-01 lxc-02_kiff-02 ]
+ Clone Set: clvmd-clone [clvmd]
+ Started: [ kiff-02 ]
+ Stopped: [ kiff-01 lxc-01_kiff-01 lxc-01_kiff-02 lxc-02_kiff-01 lxc-02_kiff-02 ]
+ Clone Set: shared0-clone [shared0]
+ Started: [ kiff-02 ]
+ Stopped: [ kiff-01 lxc-01_kiff-01 lxc-01_kiff-02 lxc-02_kiff-01 lxc-02_kiff-02 ]
+ R-lxc-01_kiff-01 (ocf::heartbeat:VirtualDomain): Started kiff-02
+ R-lxc-02_kiff-01 (ocf::heartbeat:VirtualDomain): Started kiff-02
+ R-lxc-01_kiff-02 (ocf::heartbeat:VirtualDomain): Started kiff-02
+ R-lxc-02_kiff-02 (ocf::heartbeat:VirtualDomain): Started kiff-02
+ vm-fs (ocf::heartbeat:Filesystem): Started lxc-01_kiff-01
+
diff --git a/pengine/test10/whitebox-imply-stop-on-fence.xml b/pengine/test10/whitebox-imply-stop-on-fence.xml
new file mode 100644
index 0000000..609b281
--- /dev/null
+++ b/pengine/test10/whitebox-imply-stop-on-fence.xml
@@ -0,0 +1,347 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+