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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +