diff --git a/cib/notify.c b/cib/notify.c index 14d52fb1d7e..3f633ee5288 100644 --- a/cib/notify.c +++ b/cib/notify.c @@ -116,28 +116,6 @@ cib_notify_send_one(gpointer key, gpointer value, gpointer user_data) if (do_send) { switch (client->kind) { case CRM_CLIENT_IPC: -#ifdef HAVE_IPCS_GET_BUFFER_SIZE - { - int max_send_size = qb_ipcs_connection_get_buffer_size(client->ipcs); - if (max_send_size < update->iov_size) { - struct iovec *iov; - int new_size = crm_ipc_prepare(0, update->msg, &iov, max_send_size); - - if (new_size > 0) { - free(update->iov[0].iov_base); - free(update->iov[1].iov_base); - free(update->iov); - - update->iov = iov; - update->iov_size = new_size; - } else { - crm_warn("Preparing notification for client %s/%s failed", client->name, client->id); - return FALSE; - } - } - } -#endif - if (crm_ipcs_sendv(client, update->iov, crm_ipc_server_event) < 0) { crm_warn("Notification of client %s/%s failed", client->name, client->id); } diff --git a/configure.ac b/configure.ac index 5d8843e554a..5b716dbb39a 100644 --- a/configure.ac +++ b/configure.ac @@ -1017,7 +1017,7 @@ AC_CHECK_LIB(qb, qb_ipcs_connection_auth_set) LIBQB_LOG=1 PCMK_FEATURES="$PCMK_FEATURES libqb-logging libqb-ipc" -AC_CHECK_FUNCS(qb_ipcs_connection_get_buffer_size, AC_DEFINE(HAVE_IPCS_GET_BUFFER_SIZE, 1, [Have qb_ipcs_connection_get_buffer_size function])) +AC_CHECK_FUNCS(qb_ipcs_connection_get_buffer_size, AC_DEFINE(HAVE_IPCS_GET_BUFFER_SIZE, 1, [Have qb_ipcc_get_buffer_size function])) if ! pkg-config --atleast-version 0.13 libqb diff --git a/include/crm/common/ipc.h b/include/crm/common/ipc.h index 8492a625023..3118cf70583 100644 --- a/include/crm/common/ipc.h +++ b/include/crm/common/ipc.h @@ -73,6 +73,7 @@ int crm_ipc_ready(crm_ipc_t * client); long crm_ipc_read(crm_ipc_t * client); const char *crm_ipc_buffer(crm_ipc_t * client); const char *crm_ipc_name(crm_ipc_t * client); +int crm_ipc_default_buffer_size(void); /* Utils */ xmlNode *create_hello_message(const char *uuid, const char *client_name, diff --git a/include/crm/pengine/internal.h b/include/crm/pengine/internal.h index 04c8494afcb..46e63c4eb17 100644 --- a/include/crm/pengine/internal.h +++ b/include/crm/pengine/internal.h @@ -264,5 +264,5 @@ gboolean xml_contains_remote_node(xmlNode *xml); gboolean is_baremetal_remote_node(node_t *node); gboolean is_container_remote_node(node_t *node); gboolean is_remote_node(node_t *node); -gboolean rsc_contains_remote_node(pe_working_set_t * data_set, resource_t *rsc); +resource_t * rsc_contains_remote_node(pe_working_set_t * data_set, resource_t *rsc); #endif diff --git a/include/crm/pengine/status.h b/include/crm/pengine/status.h index 02e3e04e198..b7468130417 100644 --- a/include/crm/pengine/status.h +++ b/include/crm/pengine/status.h @@ -72,7 +72,6 @@ enum pe_find { # define pe_flag_startup_probes 0x00010000ULL # define pe_flag_have_status 0x00020000ULL # define pe_flag_have_remote_nodes 0x00040000ULL -# define pe_flag_container_probes 0x00080000ULL # define pe_flag_quick_location 0x00100000ULL @@ -186,6 +185,7 @@ struct node_s { # define pe_rsc_migrating 0x00400000ULL # define pe_rsc_failure_ignored 0x01000000ULL +# define pe_rsc_unexpectedly_running 0x02000000ULL # define pe_rsc_needs_quorum 0x10000000ULL # define pe_rsc_needs_fencing 0x20000000ULL diff --git a/lib/common/ipc.c b/lib/common/ipc.c index 175bb3c685c..0fe275901c1 100644 --- a/lib/common/ipc.c +++ b/lib/common/ipc.c @@ -60,6 +60,12 @@ crm_ipc_init(void) } } +int +crm_ipc_default_buffer_size(void) +{ + return pick_ipc_buffer(0); +} + static char * generateReference(const char *custom1, const char *custom2) { @@ -668,21 +674,13 @@ crm_ipcs_send(crm_client_t * c, uint32_t request, xmlNode * message, { struct iovec *iov = NULL; ssize_t rc = 0; - int32_t max_msg_size = 0; if(c == NULL) { return -EDESTADDRREQ; } crm_ipc_init(); - /* when sending from server to client, we need to use the client's - * max buffer size if possible */ - max_msg_size = ipc_buffer_max; -#ifdef HAVE_IPCS_GET_BUFFER_SIZE - max_msg_size = qb_ipcs_connection_get_buffer_size(c->ipcs); -#endif - - rc = crm_ipc_prepare(request, message, &iov, max_msg_size); + rc = crm_ipc_prepare(request, message, &iov, ipc_buffer_max); if (rc > 0) { rc = crm_ipcs_sendv(c, iov, flags | crm_ipc_server_free); @@ -790,6 +788,15 @@ crm_ipc_connect(crm_ipc_t * client) qb_ipcc_context_set(client->ipc, client); +#ifdef HAVE_IPCS_GET_BUFFER_SIZE + client->max_buf_size = qb_ipcc_get_buffer_size(client->ipc); + if (client->max_buf_size < client->buf_size) { + free(client->buffer); + client->buffer = calloc(1, client->max_buf_size); + client->buf_size = client->max_buf_size; + } +#endif + return TRUE; } diff --git a/lib/common/mainloop.c b/lib/common/mainloop.c index 7df6fa26b64..4f21d69724f 100644 --- a/lib/common/mainloop.c +++ b/lib/common/mainloop.c @@ -573,6 +573,12 @@ mainloop_add_ipc_server(const char *name, enum qb_ipc_type type, crm_client_init(); server = qb_ipcs_create(name, 0, pick_ipc_type(type), callbacks); + +#ifdef HAVE_IPCS_GET_BUFFER_SIZE + /* All clients should use at least ipc_buffer_max as their buffer size */ + qb_ipcs_enforce_buffer_size(server, crm_ipc_default_buffer_size()); +#endif + qb_ipcs_poll_handlers_set(server, &gio_poll_funcs); rc = qb_ipcs_run(server); diff --git a/lib/pengine/common.c b/lib/pengine/common.c index 8874c38ca83..6f32490ca5c 100644 --- a/lib/pengine/common.c +++ b/lib/pengine/common.c @@ -116,8 +116,6 @@ pe_cluster_option pe_opts[] = { "This was the old default. However when set to FALSE, the cluster will instead use the resource's failcount and value for resource-failure-stickiness" }, { "enable-startup-probes", NULL, "boolean", NULL, "true", &check_boolean, "Should the cluster check for active resources during startup", NULL }, - { "enable-container-probes", NULL, "boolean", NULL, "true", &check_boolean, - "Should the cluster check for active resources on container nodes during startup", NULL }, /* Stonith Options */ { "stonith-enabled", "stonith_enabled", "boolean", NULL, "true", &check_boolean, diff --git a/lib/pengine/unpack.c b/lib/pengine/unpack.c index 6dffd565372..772fc91e373 100644 --- a/lib/pengine/unpack.c +++ b/lib/pengine/unpack.c @@ -88,11 +88,6 @@ unpack_config(xmlNode * config, pe_working_set_t * data_set) crm_info("Startup probes: disabled (dangerous)"); } - set_config_flag(data_set, "enable-container-probes", pe_flag_container_probes); - if(is_not_set(data_set->flags, pe_flag_container_probes)) { - crm_info("Container probes: disabled"); - } - value = pe_pref(data_set->config_hash, "stonith-timeout"); data_set->stonith_timeout = crm_get_msec(value); crm_debug("STONITH timeout: %d", data_set->stonith_timeout); @@ -2062,6 +2057,9 @@ unpack_lrm_resources(node_t * node, xmlNode * lrm_rsc_list, pe_working_set_t * d { xmlNode *rsc_entry = NULL; gboolean found_orphaned_container_filler = FALSE; + GListPtr unexpected_containers = NULL; + GListPtr gIter = NULL; + resource_t *remote = NULL; CRM_CHECK(node != NULL, return FALSE); @@ -2073,9 +2071,29 @@ unpack_lrm_resources(node_t * node, xmlNode * lrm_rsc_list, pe_working_set_t * d if (crm_str_eq((const char *)rsc_entry->name, XML_LRM_TAG_RESOURCE, TRUE)) { resource_t *rsc; rsc = unpack_lrm_rsc_state(node, rsc_entry, data_set); - if (rsc && is_set(rsc->flags, pe_rsc_orphan_container_filler)) { + if (!rsc) { + continue; + } + if (is_set(rsc->flags, pe_rsc_orphan_container_filler)) { found_orphaned_container_filler = TRUE; } + if (is_set(rsc->flags, pe_rsc_unexpectedly_running)) { + remote = rsc_contains_remote_node(data_set, rsc); + if (remote) { + unexpected_containers = g_list_append(unexpected_containers, remote); + } + } + } + } + + /* If a container resource is unexpectedly up... and the remote-node + * connection resource for that container is not up, the entire container + * must be recovered. */ + for (gIter = unexpected_containers; gIter != NULL; gIter = gIter->next) { + remote = (resource_t *) gIter->data; + if (remote->role != RSC_ROLE_STARTED) { + crm_warn("Recovering container resource %s. Resource is unexpectedly running and involves a remote-node."); + set_bit(remote->container->flags, pe_rsc_failed); } } @@ -2085,7 +2103,7 @@ unpack_lrm_resources(node_t * node, xmlNode * lrm_rsc_list, pe_working_set_t * d if (found_orphaned_container_filler) { handle_orphaned_container_fillers(lrm_rsc_list, data_set); } - + g_list_free(unexpected_containers); return TRUE; } @@ -2469,6 +2487,7 @@ determine_op_status( result = PCMK_LRM_OP_DONE; pe_rsc_info(rsc, "Operation %s found resource %s active on %s", task, rsc->id, node->details->uname); + set_bit(rsc->flags, pe_rsc_unexpectedly_running); /* legacy code for pre-0.6.5 operations */ } else if (target_rc < 0 && interval > 0 && rsc->role == RSC_ROLE_MASTER) { diff --git a/lib/pengine/utils.c b/lib/pengine/utils.c index ac71de6c0f9..5d7ac23bfb3 100644 --- a/lib/pengine/utils.c +++ b/lib/pengine/utils.c @@ -1805,11 +1805,11 @@ is_remote_node(node_t *node) return FALSE; } -gboolean +resource_t * rsc_contains_remote_node(pe_working_set_t * data_set, resource_t *rsc) { if (is_set(data_set->flags, pe_flag_have_remote_nodes) == FALSE) { - return FALSE; + return NULL; } if (rsc->fillers) { @@ -1818,11 +1818,11 @@ rsc_contains_remote_node(pe_working_set_t * data_set, resource_t *rsc) resource_t *filler = (resource_t *) gIter->data; if (filler->is_remote_node) { - return TRUE; + return filler; } } } - return FALSE; + return NULL; } gboolean diff --git a/pengine/allocate.c b/pengine/allocate.c index f3b0f627544..ebe6b669778 100644 --- a/pengine/allocate.c +++ b/pengine/allocate.c @@ -850,8 +850,8 @@ probe_resources(pe_working_set_t * data_set) * it is being shutdown. */ continue; - } else if (is_container_remote_node(node) && is_not_set(data_set->flags, pe_flag_container_probes)) { - /* skip container nodes if container node probes are disabled */ + } else if (is_container_remote_node(node)) { + /* TODO enable container node probes once ordered probing is implemented. */ continue; } else if (probe_complete == NULL) { diff --git a/pengine/native.c b/pengine/native.c index 0a6e1492a92..0a323fef0ee 100644 --- a/pengine/native.c +++ b/pengine/native.c @@ -2414,7 +2414,7 @@ native_create_probe(resource_t * rsc, node_t * node, action_t * complete, if (force == FALSE && is_not_set(data_set->flags, pe_flag_startup_probes)) { pe_rsc_trace(rsc, "Skipping active resource detection for %s", rsc->id); return FALSE; - } else if (force == FALSE && is_container_remote_node(node) && is_not_set(data_set->flags, pe_flag_container_probes)) { + } else if (force == FALSE && is_container_remote_node(node)) { pe_rsc_trace(rsc, "Skipping active resource detection for %s on container %s", rsc->id, node->details->id); return FALSE; diff --git a/pengine/regression.sh b/pengine/regression.sh index 7b086bb4f59..06ab17cc961 100755 --- a/pengine/regression.sh +++ b/pengine/regression.sh @@ -714,7 +714,7 @@ do_test whitebox-ms-ordering "Verify promote/demote can not occur before connect do_test whitebox-ms-ordering "Verify promote/demote can not occur before connection is established" 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-disable-probes "Verify probes are not executed when container probes are disabled" +do_test whitebox-unexpectedly-running "Recover container nodes the cluster did not start." echo "" do_test remote-startup-probes "Baremetal remote-node startup probes" diff --git a/pengine/test10/master-partially-demoted-group.xml b/pengine/test10/master-partially-demoted-group.xml index 56582d11f8b..13760ba9c03 100644 --- a/pengine/test10/master-partially-demoted-group.xml +++ b/pengine/test10/master-partially-demoted-group.xml @@ -23,7 +23,6 @@ - diff --git a/pengine/test10/whitebox-asymmetric.dot b/pengine/test10/whitebox-asymmetric.dot index 0c4ee01ef8e..896f66a790a 100644 --- a/pengine/test10/whitebox-asymmetric.dot +++ b/pengine/test10/whitebox-asymmetric.dot @@ -1,26 +1,10 @@ digraph "g" { "18node2_monitor_30000 18builder" [ style=bold color="green" fontcolor="black"] "18node2_start_0 18builder" -> "18node2_monitor_30000 18builder" [ style = bold] -"18node2_start_0 18builder" -> "nfs_mount_monitor_0 18node2" [ style = bold] "18node2_start_0 18builder" -> "nfs_mount_monitor_10000 18node2" [ style = bold] "18node2_start_0 18builder" -> "nfs_mount_start_0 18node2" [ style = bold] -"18node2_start_0 18builder" -> "vg_tags_dup_monitor_0 18node2" [ style = bold] -"18node2_start_0 18builder" -> "vg_tags_monitor_0 18node2" [ style = bold] -"18node2_start_0 18builder" -> "webserver_monitor_0 18node2" [ style = bold] "18node2_start_0 18builder" [ style=bold color="green" fontcolor="black"] -"nfs_mount_monitor_0 18node2" -> "probe_complete 18node2" [ style = bold] -"nfs_mount_monitor_0 18node2" [ style=bold color="green" fontcolor="black"] "nfs_mount_monitor_10000 18node2" [ style=bold color="green" fontcolor="black"] "nfs_mount_start_0 18node2" -> "nfs_mount_monitor_10000 18node2" [ style = bold] "nfs_mount_start_0 18node2" [ style=bold color="green" fontcolor="black"] -"probe_complete 18node2" -> "probe_complete" [ style = bold] -"probe_complete 18node2" [ style=bold color="green" fontcolor="black"] -"probe_complete" -> "nfs_mount_start_0 18node2" [ style = bold] -"probe_complete" [ style=bold color="green" fontcolor="orange"] -"vg_tags_dup_monitor_0 18node2" -> "probe_complete 18node2" [ style = bold] -"vg_tags_dup_monitor_0 18node2" [ style=bold color="green" fontcolor="black"] -"vg_tags_monitor_0 18node2" -> "probe_complete 18node2" [ style = bold] -"vg_tags_monitor_0 18node2" [ style=bold color="green" fontcolor="black"] -"webserver_monitor_0 18node2" -> "probe_complete 18node2" [ style = bold] -"webserver_monitor_0 18node2" [ style=bold color="green" fontcolor="black"] } diff --git a/pengine/test10/whitebox-asymmetric.exp b/pengine/test10/whitebox-asymmetric.exp index 8b2eede9d62..c6a69bc0794 100644 --- a/pengine/test10/whitebox-asymmetric.exp +++ b/pengine/test10/whitebox-asymmetric.exp @@ -1,141 +1,53 @@ - - - - - - - - - - - - - - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/pengine/test10/whitebox-asymmetric.summary b/pengine/test10/whitebox-asymmetric.summary index 7d7597707ea..1a688022bc7 100644 --- a/pengine/test10/whitebox-asymmetric.summary +++ b/pengine/test10/whitebox-asymmetric.summary @@ -16,13 +16,8 @@ Transition Summary: Executing cluster transition: * Resource action: 18node2 start on 18builder - * Resource action: webserver monitor on 18node2 - * Resource action: nfs_mount monitor on 18node2 - * Resource action: vg_tags monitor on 18node2 - * Resource action: vg_tags_dup monitor on 18node2 - * Resource action: 18node2 monitor=30000 on 18builder - * Pseudo action: probe_complete * Resource action: nfs_mount start on 18node2 + * Resource action: 18node2 monitor=30000 on 18builder * Resource action: nfs_mount monitor=10000 on 18node2 Revised cluster status: diff --git a/pengine/test10/whitebox-disable-probes.dot b/pengine/test10/whitebox-disable-probes.dot deleted file mode 100644 index 9a64dea567d..00000000000 --- a/pengine/test10/whitebox-disable-probes.dot +++ /dev/null @@ -1,17 +0,0 @@ - digraph "g" { -"M-clone_running_0" [ style=bold color="green" fontcolor="orange"] -"M-clone_start_0" -> "M-clone_running_0" [ style = bold] -"M-clone_start_0" -> "M_start_0 lxc1" [ style = bold] -"M-clone_start_0" [ style=bold color="green" fontcolor="orange"] -"M_monitor_10000 lxc1" [ style=bold color="green" fontcolor="black"] -"M_start_0 lxc1" -> "M-clone_running_0" [ style = bold] -"M_start_0 lxc1" -> "M_monitor_10000 lxc1" [ style = bold] -"M_start_0 lxc1" [ style=bold color="green" fontcolor="black"] -"container1_start_0 18node1" -> "lxc1_start_0 18node1" [ style = bold] -"container1_start_0 18node1" [ style=bold color="green" fontcolor="black"] -"lxc1_monitor_30000 18node1" [ style=bold color="green" fontcolor="black"] -"lxc1_start_0 18node1" -> "M_monitor_10000 lxc1" [ style = bold] -"lxc1_start_0 18node1" -> "M_start_0 lxc1" [ style = bold] -"lxc1_start_0 18node1" -> "lxc1_monitor_30000 18node1" [ style = bold] -"lxc1_start_0 18node1" [ style=bold color="green" fontcolor="black"] -} diff --git a/pengine/test10/whitebox-disable-probes.exp b/pengine/test10/whitebox-disable-probes.exp deleted file mode 100644 index 9ade280ceef..00000000000 --- a/pengine/test10/whitebox-disable-probes.exp +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/pengine/test10/whitebox-disable-probes.scores b/pengine/test10/whitebox-disable-probes.scores deleted file mode 100644 index 1a00b280d51..00000000000 --- a/pengine/test10/whitebox-disable-probes.scores +++ /dev/null @@ -1,101 +0,0 @@ -Allocation scores: -clone_color: M-clone allocation score on 18node1: 0 -clone_color: M-clone allocation score on 18node2: 0 -clone_color: M-clone allocation score on 18node3: 0 -clone_color: M-clone allocation score on lxc1: 0 -clone_color: M-clone allocation score on lxc2: 0 -clone_color: M:0 allocation score on 18node1: 100 -clone_color: M:0 allocation score on 18node2: 0 -clone_color: M:0 allocation score on 18node3: 0 -clone_color: M:0 allocation score on lxc1: 0 -clone_color: M:0 allocation score on lxc2: 0 -clone_color: M:1 allocation score on 18node1: 0 -clone_color: M:1 allocation score on 18node2: 100 -clone_color: M:1 allocation score on 18node3: 0 -clone_color: M:1 allocation score on lxc1: 0 -clone_color: M:1 allocation score on lxc2: 0 -clone_color: M:2 allocation score on 18node1: 0 -clone_color: M:2 allocation score on 18node2: 0 -clone_color: M:2 allocation score on 18node3: 100 -clone_color: M:2 allocation score on lxc1: 0 -clone_color: M:2 allocation score on lxc2: 0 -clone_color: M:3 allocation score on 18node1: 0 -clone_color: M:3 allocation score on 18node2: 0 -clone_color: M:3 allocation score on 18node3: 0 -clone_color: M:3 allocation score on lxc1: 0 -clone_color: M:3 allocation score on lxc2: 100 -clone_color: M:4 allocation score on 18node1: 0 -clone_color: M:4 allocation score on 18node2: 0 -clone_color: M:4 allocation score on 18node3: 0 -clone_color: M:4 allocation score on lxc1: 0 -clone_color: M:4 allocation score on lxc2: 0 -native_color: A allocation score on 18node1: 100 -native_color: A allocation score on 18node2: 0 -native_color: A allocation score on 18node3: 0 -native_color: A allocation score on lxc1: 0 -native_color: A allocation score on lxc2: 0 -native_color: B allocation score on 18node1: 0 -native_color: B allocation score on 18node2: 0 -native_color: B allocation score on 18node3: 0 -native_color: B allocation score on lxc1: 0 -native_color: B allocation score on lxc2: 100 -native_color: C allocation score on 18node1: 0 -native_color: C allocation score on 18node2: 0 -native_color: C allocation score on 18node3: 0 -native_color: C allocation score on lxc1: 0 -native_color: C allocation score on lxc2: 100 -native_color: D allocation score on 18node1: 100 -native_color: D allocation score on 18node2: 0 -native_color: D allocation score on 18node3: 0 -native_color: D allocation score on lxc1: 0 -native_color: D allocation score on lxc2: 0 -native_color: M:0 allocation score on 18node1: 100 -native_color: M:0 allocation score on 18node2: 0 -native_color: M:0 allocation score on 18node3: -INFINITY -native_color: M:0 allocation score on lxc1: 0 -native_color: M:0 allocation score on lxc2: -INFINITY -native_color: M:1 allocation score on 18node1: -INFINITY -native_color: M:1 allocation score on 18node2: 100 -native_color: M:1 allocation score on 18node3: -INFINITY -native_color: M:1 allocation score on lxc1: 0 -native_color: M:1 allocation score on lxc2: -INFINITY -native_color: M:2 allocation score on 18node1: 0 -native_color: M:2 allocation score on 18node2: 0 -native_color: M:2 allocation score on 18node3: 100 -native_color: M:2 allocation score on lxc1: 0 -native_color: M:2 allocation score on lxc2: -INFINITY -native_color: M:3 allocation score on 18node1: 0 -native_color: M:3 allocation score on 18node2: 0 -native_color: M:3 allocation score on 18node3: 0 -native_color: M:3 allocation score on lxc1: 0 -native_color: M:3 allocation score on lxc2: 100 -native_color: M:4 allocation score on 18node1: -INFINITY -native_color: M:4 allocation score on 18node2: -INFINITY -native_color: M:4 allocation score on 18node3: -INFINITY -native_color: M:4 allocation score on lxc1: 0 -native_color: M:4 allocation score on lxc2: -INFINITY -native_color: container1 allocation score on 18node1: 0 -native_color: container1 allocation score on 18node2: 0 -native_color: container1 allocation score on 18node3: 0 -native_color: container1 allocation score on lxc1: -INFINITY -native_color: container1 allocation score on lxc2: -INFINITY -native_color: container2 allocation score on 18node1: 0 -native_color: container2 allocation score on 18node2: 200 -native_color: container2 allocation score on 18node3: 0 -native_color: container2 allocation score on lxc1: -INFINITY -native_color: container2 allocation score on lxc2: -INFINITY -native_color: lxc1 allocation score on 18node1: 0 -native_color: lxc1 allocation score on 18node2: -INFINITY -native_color: lxc1 allocation score on 18node3: -INFINITY -native_color: lxc1 allocation score on lxc1: -INFINITY -native_color: lxc1 allocation score on lxc2: -INFINITY -native_color: lxc2 allocation score on 18node1: -INFINITY -native_color: lxc2 allocation score on 18node2: 100 -native_color: lxc2 allocation score on 18node3: -INFINITY -native_color: lxc2 allocation score on lxc1: -INFINITY -native_color: lxc2 allocation score on lxc2: -INFINITY -native_color: shoot1 allocation score on 18node1: 0 -native_color: shoot1 allocation score on 18node2: 0 -native_color: shoot1 allocation score on 18node3: 100 -native_color: shoot1 allocation score on lxc1: -INFINITY -native_color: shoot1 allocation score on lxc2: -INFINITY diff --git a/pengine/test10/whitebox-disable-probes.summary b/pengine/test10/whitebox-disable-probes.summary deleted file mode 100644 index 99cbad0ffb9..00000000000 --- a/pengine/test10/whitebox-disable-probes.summary +++ /dev/null @@ -1,44 +0,0 @@ - -Current cluster status: -Online: [ 18node1 18node2 18node3 ] -Containers: [ lxc2:container2 ] - - container1 (ocf::heartbeat:VirtualDomain): Stopped - container2 (ocf::heartbeat:VirtualDomain): Started 18node2 - shoot1 (stonith:fence_xvm): Started 18node3 - Clone Set: M-clone [M] - Started: [ 18node1 18node2 18node3 lxc2 ] - Stopped: [ lxc1 ] - A (ocf::pacemaker:Dummy): Started 18node1 - B (ocf::pacemaker:Dummy): Started lxc2 - C (ocf::pacemaker:Dummy): Started lxc2 - D (ocf::pacemaker:Dummy): Started 18node1 - -Transition Summary: - * Start container1 (18node1) - * Start M:4 (lxc1) - * Start lxc1 (18node1) - -Executing cluster transition: - * Resource action: container1 start on 18node1 - * Pseudo action: M-clone_start_0 - * Resource action: lxc1 start on 18node1 - * Resource action: M start on lxc1 - * Pseudo action: M-clone_running_0 - * Resource action: lxc1 monitor=30000 on 18node1 - * Resource action: M monitor=10000 on lxc1 - -Revised cluster status: -Online: [ 18node1 18node2 18node3 ] -Containers: [ lxc1:container1 lxc2:container2 ] - - container1 (ocf::heartbeat:VirtualDomain): Started 18node1 - container2 (ocf::heartbeat:VirtualDomain): Started 18node2 - shoot1 (stonith:fence_xvm): Started 18node3 - Clone Set: M-clone [M] - Started: [ 18node1 18node2 18node3 lxc1 lxc2 ] - A (ocf::pacemaker:Dummy): Started 18node1 - B (ocf::pacemaker:Dummy): Started lxc2 - C (ocf::pacemaker:Dummy): Started lxc2 - D (ocf::pacemaker:Dummy): Started 18node1 - diff --git a/pengine/test10/whitebox-disable-probes.xml b/pengine/test10/whitebox-disable-probes.xml deleted file mode 100644 index ef2bd31df86..00000000000 --- a/pengine/test10/whitebox-disable-probes.xml +++ /dev/null @@ -1,260 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/pengine/test10/whitebox-fail1.dot b/pengine/test10/whitebox-fail1.dot index 008ee4d1b8f..b595015d262 100644 --- a/pengine/test10/whitebox-fail1.dot +++ b/pengine/test10/whitebox-fail1.dot @@ -1,22 +1,10 @@ digraph "g" { -"A_monitor_0 lxc1" -> "probe_complete lxc1" [ style = bold] -"A_monitor_0 lxc1" [ style=bold color="green" fontcolor="black"] -"A_monitor_0 lxc2" -> "probe_complete lxc2" [ style = bold] -"A_monitor_0 lxc2" [ style=bold color="green" fontcolor="black"] -"B_monitor_0 lxc2" -> "probe_complete lxc2" [ style = bold] -"B_monitor_0 lxc2" [ style=bold color="green" fontcolor="black"] "B_monitor_10000 lxc1" [ style=bold color="green" fontcolor="black"] "B_start_0 lxc1" -> "B_monitor_10000 lxc1" [ style = bold] "B_start_0 lxc1" [ style=bold color="green" fontcolor="black"] "B_stop_0 lxc1" -> "B_start_0 lxc1" [ style = bold] "B_stop_0 lxc1" -> "all_stopped" [ style = bold] "B_stop_0 lxc1" [ style=bold color="green" fontcolor="orange"] -"C_monitor_0 lxc1" -> "probe_complete lxc1" [ style = bold] -"C_monitor_0 lxc1" [ style=bold color="green" fontcolor="black"] -"D_monitor_0 lxc1" -> "probe_complete lxc1" [ style = bold] -"D_monitor_0 lxc1" [ style=bold color="green" fontcolor="black"] -"D_monitor_0 lxc2" -> "probe_complete lxc2" [ style = bold] -"D_monitor_0 lxc2" [ style=bold color="green" fontcolor="black"] "M-clone_running_0" [ style=bold color="green" fontcolor="orange"] "M-clone_start_0" -> "M-clone_running_0" [ style = bold] "M-clone_start_0" -> "M_start_0 lxc1" [ style = bold] @@ -43,11 +31,8 @@ digraph "g" { "container1_stop_0 18node2" -> "container1_start_0 18node2" [ style = bold] "container1_stop_0 18node2" [ style=bold color="green" fontcolor="black"] "lxc1_monitor_30000 18node2" [ style=bold color="green" fontcolor="black"] -"lxc1_start_0 18node2" -> "A_monitor_0 lxc1" [ style = bold] "lxc1_start_0 18node2" -> "B_monitor_10000 lxc1" [ style = bold] "lxc1_start_0 18node2" -> "B_start_0 lxc1" [ style = bold] -"lxc1_start_0 18node2" -> "C_monitor_0 lxc1" [ style = bold] -"lxc1_start_0 18node2" -> "D_monitor_0 lxc1" [ style = bold] "lxc1_start_0 18node2" -> "M_monitor_10000 lxc1" [ style = bold] "lxc1_start_0 18node2" -> "M_start_0 lxc1" [ style = bold] "lxc1_start_0 18node2" -> "lxc1_monitor_30000 18node2" [ style = bold] @@ -56,12 +41,4 @@ digraph "g" { "lxc1_stop_0 18node2" -> "container1_stop_0 18node2" [ style = bold] "lxc1_stop_0 18node2" -> "lxc1_start_0 18node2" [ style = bold] "lxc1_stop_0 18node2" [ style=bold color="green" fontcolor="black"] -"probe_complete lxc1" -> "probe_complete" [ style = bold] -"probe_complete lxc1" [ style=bold color="green" fontcolor="black"] -"probe_complete lxc2" -> "probe_complete" [ style = bold] -"probe_complete lxc2" [ style=bold color="green" fontcolor="black"] -"probe_complete" -> "B_start_0 lxc1" [ style = bold] -"probe_complete" -> "B_stop_0 lxc1" [ style = bold] -"probe_complete" -> "M_stop_0 lxc1" [ style = bold] -"probe_complete" [ style=bold color="green" fontcolor="orange"] } diff --git a/pengine/test10/whitebox-fail1.exp b/pengine/test10/whitebox-fail1.exp index 6e10cf302a0..d4c37114002 100644 --- a/pengine/test10/whitebox-fail1.exp +++ b/pengine/test10/whitebox-fail1.exp @@ -1,7 +1,7 @@ - + @@ -21,48 +21,48 @@ - + - + - + - + - + - + - + - + - + @@ -71,31 +71,28 @@ - - - - + - + - + - + - + @@ -103,91 +100,66 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - - - - + - + - + - + @@ -195,81 +167,34 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + @@ -278,62 +203,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - + @@ -344,13 +218,13 @@ - + - + - + diff --git a/pengine/test10/whitebox-fail1.summary b/pengine/test10/whitebox-fail1.summary index 6d9531877d7..5e5887b4ce1 100644 --- a/pengine/test10/whitebox-fail1.summary +++ b/pengine/test10/whitebox-fail1.summary @@ -21,23 +21,16 @@ Transition Summary: Executing cluster transition: * Pseudo action: M-clone_stop_0 - * Resource action: A monitor on lxc2 - * Resource action: B monitor on lxc2 - * Resource action: D monitor on lxc2 * Resource action: lxc1 stop on 18node2 * Resource action: container1 stop on 18node2 - * Resource action: container1 start on 18node2 - * Resource action: lxc1 start on 18node2 - * Resource action: lxc1 monitor=30000 on 18node2 - * Resource action: A monitor on lxc1 - * Resource action: C monitor on lxc1 - * Resource action: D monitor on lxc1 - * Pseudo action: probe_complete * Pseudo action: M_stop_0 * Pseudo action: M-clone_stopped_0 * Pseudo action: M-clone_start_0 * Pseudo action: B_stop_0 * Pseudo action: all_stopped + * Resource action: container1 start on 18node2 + * Resource action: lxc1 start on 18node2 + * Resource action: lxc1 monitor=30000 on 18node2 * Resource action: M start on lxc1 * Pseudo action: M-clone_running_0 * Resource action: B start on lxc1 diff --git a/pengine/test10/whitebox-fail2.dot b/pengine/test10/whitebox-fail2.dot index 008ee4d1b8f..b595015d262 100644 --- a/pengine/test10/whitebox-fail2.dot +++ b/pengine/test10/whitebox-fail2.dot @@ -1,22 +1,10 @@ digraph "g" { -"A_monitor_0 lxc1" -> "probe_complete lxc1" [ style = bold] -"A_monitor_0 lxc1" [ style=bold color="green" fontcolor="black"] -"A_monitor_0 lxc2" -> "probe_complete lxc2" [ style = bold] -"A_monitor_0 lxc2" [ style=bold color="green" fontcolor="black"] -"B_monitor_0 lxc2" -> "probe_complete lxc2" [ style = bold] -"B_monitor_0 lxc2" [ style=bold color="green" fontcolor="black"] "B_monitor_10000 lxc1" [ style=bold color="green" fontcolor="black"] "B_start_0 lxc1" -> "B_monitor_10000 lxc1" [ style = bold] "B_start_0 lxc1" [ style=bold color="green" fontcolor="black"] "B_stop_0 lxc1" -> "B_start_0 lxc1" [ style = bold] "B_stop_0 lxc1" -> "all_stopped" [ style = bold] "B_stop_0 lxc1" [ style=bold color="green" fontcolor="orange"] -"C_monitor_0 lxc1" -> "probe_complete lxc1" [ style = bold] -"C_monitor_0 lxc1" [ style=bold color="green" fontcolor="black"] -"D_monitor_0 lxc1" -> "probe_complete lxc1" [ style = bold] -"D_monitor_0 lxc1" [ style=bold color="green" fontcolor="black"] -"D_monitor_0 lxc2" -> "probe_complete lxc2" [ style = bold] -"D_monitor_0 lxc2" [ style=bold color="green" fontcolor="black"] "M-clone_running_0" [ style=bold color="green" fontcolor="orange"] "M-clone_start_0" -> "M-clone_running_0" [ style = bold] "M-clone_start_0" -> "M_start_0 lxc1" [ style = bold] @@ -43,11 +31,8 @@ digraph "g" { "container1_stop_0 18node2" -> "container1_start_0 18node2" [ style = bold] "container1_stop_0 18node2" [ style=bold color="green" fontcolor="black"] "lxc1_monitor_30000 18node2" [ style=bold color="green" fontcolor="black"] -"lxc1_start_0 18node2" -> "A_monitor_0 lxc1" [ style = bold] "lxc1_start_0 18node2" -> "B_monitor_10000 lxc1" [ style = bold] "lxc1_start_0 18node2" -> "B_start_0 lxc1" [ style = bold] -"lxc1_start_0 18node2" -> "C_monitor_0 lxc1" [ style = bold] -"lxc1_start_0 18node2" -> "D_monitor_0 lxc1" [ style = bold] "lxc1_start_0 18node2" -> "M_monitor_10000 lxc1" [ style = bold] "lxc1_start_0 18node2" -> "M_start_0 lxc1" [ style = bold] "lxc1_start_0 18node2" -> "lxc1_monitor_30000 18node2" [ style = bold] @@ -56,12 +41,4 @@ digraph "g" { "lxc1_stop_0 18node2" -> "container1_stop_0 18node2" [ style = bold] "lxc1_stop_0 18node2" -> "lxc1_start_0 18node2" [ style = bold] "lxc1_stop_0 18node2" [ style=bold color="green" fontcolor="black"] -"probe_complete lxc1" -> "probe_complete" [ style = bold] -"probe_complete lxc1" [ style=bold color="green" fontcolor="black"] -"probe_complete lxc2" -> "probe_complete" [ style = bold] -"probe_complete lxc2" [ style=bold color="green" fontcolor="black"] -"probe_complete" -> "B_start_0 lxc1" [ style = bold] -"probe_complete" -> "B_stop_0 lxc1" [ style = bold] -"probe_complete" -> "M_stop_0 lxc1" [ style = bold] -"probe_complete" [ style=bold color="green" fontcolor="orange"] } diff --git a/pengine/test10/whitebox-fail2.exp b/pengine/test10/whitebox-fail2.exp index 6e10cf302a0..d4c37114002 100644 --- a/pengine/test10/whitebox-fail2.exp +++ b/pengine/test10/whitebox-fail2.exp @@ -1,7 +1,7 @@ - + @@ -21,48 +21,48 @@ - + - + - + - + - + - + - + - + - + @@ -71,31 +71,28 @@ - - - - + - + - + - + - + @@ -103,91 +100,66 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - - - - + - + - + - + @@ -195,81 +167,34 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + @@ -278,62 +203,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - + @@ -344,13 +218,13 @@ - + - + - + diff --git a/pengine/test10/whitebox-fail2.summary b/pengine/test10/whitebox-fail2.summary index 6b3bc9b6d7e..338173dbe29 100644 --- a/pengine/test10/whitebox-fail2.summary +++ b/pengine/test10/whitebox-fail2.summary @@ -21,23 +21,16 @@ Transition Summary: Executing cluster transition: * Pseudo action: M-clone_stop_0 - * Resource action: A monitor on lxc2 - * Resource action: B monitor on lxc2 - * Resource action: D monitor on lxc2 * Resource action: lxc1 stop on 18node2 * Resource action: container1 stop on 18node2 - * Resource action: container1 start on 18node2 - * Resource action: lxc1 start on 18node2 - * Resource action: lxc1 monitor=30000 on 18node2 - * Resource action: A monitor on lxc1 - * Resource action: C monitor on lxc1 - * Resource action: D monitor on lxc1 - * Pseudo action: probe_complete * Pseudo action: M_stop_0 * Pseudo action: M-clone_stopped_0 * Pseudo action: M-clone_start_0 * Pseudo action: B_stop_0 * Pseudo action: all_stopped + * Resource action: container1 start on 18node2 + * Resource action: lxc1 start on 18node2 + * Resource action: lxc1 monitor=30000 on 18node2 * Resource action: M start on lxc1 * Pseudo action: M-clone_running_0 * Resource action: B start on lxc1 diff --git a/pengine/test10/whitebox-fail3.dot b/pengine/test10/whitebox-fail3.dot index 8b0b77ebc69..123acd0ef02 100644 --- a/pengine/test10/whitebox-fail3.dot +++ b/pengine/test10/whitebox-fail3.dot @@ -1,17 +1,12 @@ digraph "g" { "18builder_monitor_30000 dvossel-laptop2" [ style=bold color="green" fontcolor="black"] "18builder_start_0 dvossel-laptop2" -> "18builder_monitor_30000 dvossel-laptop2" [ style = bold] -"18builder_start_0 dvossel-laptop2" -> "FAKE_monitor_0 18builder" [ style = bold] "18builder_start_0 dvossel-laptop2" -> "FAKE_start_0 18builder" [ style = bold] -"18builder_start_0 dvossel-laptop2" -> "W:1_monitor_0 18builder" [ style = bold] "18builder_start_0 dvossel-laptop2" -> "W:1_monitor_10000 18builder" [ style = bold] "18builder_start_0 dvossel-laptop2" -> "W:1_start_0 18builder" [ style = bold] -"18builder_start_0 dvossel-laptop2" -> "X:1_monitor_0 18builder" [ style = bold] "18builder_start_0 dvossel-laptop2" -> "X:1_monitor_10000 18builder" [ style = bold] "18builder_start_0 dvossel-laptop2" -> "X:1_start_0 18builder" [ style = bold] "18builder_start_0 dvossel-laptop2" [ style=bold color="green" fontcolor="black"] -"FAKE_monitor_0 18builder" -> "probe_complete 18builder" [ style = bold] -"FAKE_monitor_0 18builder" [ style=bold color="green" fontcolor="black"] "FAKE_start_0 18builder" [ style=bold color="green" fontcolor="black"] "FAKE_stop_0 dvossel-laptop2" -> "FAKE_start_0 18builder" [ style = bold] "FAKE_stop_0 dvossel-laptop2" -> "all_stopped" [ style = bold] @@ -20,8 +15,6 @@ digraph "g" { "W-master_start_0" -> "W-master_running_0" [ style = bold] "W-master_start_0" -> "W:1_start_0 18builder" [ style = bold] "W-master_start_0" [ style=bold color="green" fontcolor="orange"] -"W:1_monitor_0 18builder" -> "probe_complete 18builder" [ style = bold] -"W:1_monitor_0 18builder" [ style=bold color="green" fontcolor="black"] "W:1_monitor_10000 18builder" [ style=bold color="green" fontcolor="black"] "W:1_start_0 18builder" -> "W-master_running_0" [ style = bold] "W:1_start_0 18builder" -> "W:1_monitor_10000 18builder" [ style = bold] @@ -30,20 +23,11 @@ digraph "g" { "X-master_start_0" -> "X-master_running_0" [ style = bold] "X-master_start_0" -> "X:1_start_0 18builder" [ style = bold] "X-master_start_0" [ style=bold color="green" fontcolor="orange"] -"X:1_monitor_0 18builder" -> "probe_complete 18builder" [ style = bold] -"X:1_monitor_0 18builder" [ style=bold color="green" fontcolor="black"] "X:1_monitor_10000 18builder" [ style=bold color="green" fontcolor="black"] "X:1_start_0 18builder" -> "X-master_running_0" [ style = bold] "X:1_start_0 18builder" -> "X:1_monitor_10000 18builder" [ style = bold] "X:1_start_0 18builder" [ style=bold color="green" fontcolor="black"] "all_stopped" [ style=bold color="green" fontcolor="orange"] -"probe_complete 18builder" -> "probe_complete" [ style = bold] -"probe_complete 18builder" [ style=bold color="green" fontcolor="black"] -"probe_complete" -> "FAKE_start_0 18builder" [ style = bold] -"probe_complete" -> "FAKE_stop_0 dvossel-laptop2" [ style = bold] -"probe_complete" -> "W:1_start_0 18builder" [ style = bold] -"probe_complete" -> "X:1_start_0 18builder" [ style = bold] -"probe_complete" [ style=bold color="green" fontcolor="orange"] "vm_start_0 dvossel-laptop2" -> "18builder_start_0 dvossel-laptop2" [ style = bold] "vm_start_0 dvossel-laptop2" [ style=bold color="green" fontcolor="black"] } diff --git a/pengine/test10/whitebox-fail3.exp b/pengine/test10/whitebox-fail3.exp index 4035f952cb8..0f7c43b16a1 100644 --- a/pengine/test10/whitebox-fail3.exp +++ b/pengine/test10/whitebox-fail3.exp @@ -1,7 +1,7 @@ - + @@ -10,248 +10,166 @@ - + - + - - - - + - + - - - - - + - - - - - - - - - - - - - - + - + - + - + - + - + - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - + - + - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -259,7 +177,7 @@ - + diff --git a/pengine/test10/whitebox-fail3.summary b/pengine/test10/whitebox-fail3.summary index ec9b2ab000f..7acf1b6c8d0 100644 --- a/pengine/test10/whitebox-fail3.summary +++ b/pengine/test10/whitebox-fail3.summary @@ -21,21 +21,17 @@ Transition Summary: Executing cluster transition: * Resource action: vm start on dvossel-laptop2 + * Resource action: FAKE stop on dvossel-laptop2 * Pseudo action: W-master_start_0 * Pseudo action: X-master_start_0 * Resource action: 18builder start on dvossel-laptop2 - * Resource action: FAKE monitor on 18builder - * Resource action: W monitor on 18builder - * Resource action: X monitor on 18builder - * Resource action: 18builder monitor=30000 on dvossel-laptop2 - * Pseudo action: probe_complete - * Resource action: FAKE stop on dvossel-laptop2 + * Pseudo action: all_stopped + * Resource action: FAKE start on 18builder * Resource action: W start on 18builder * Pseudo action: W-master_running_0 * Resource action: X start on 18builder * Pseudo action: X-master_running_0 - * Pseudo action: all_stopped - * Resource action: FAKE start on 18builder + * Resource action: 18builder monitor=30000 on dvossel-laptop2 * Resource action: W monitor=10000 on 18builder * Resource action: X monitor=10000 on 18builder diff --git a/pengine/test10/whitebox-move.dot b/pengine/test10/whitebox-move.dot index 762a0fe1c16..7368b1e0052 100644 --- a/pengine/test10/whitebox-move.dot +++ b/pengine/test10/whitebox-move.dot @@ -1,6 +1,4 @@ digraph "g" { -"A_monitor_0 lxc2" -> "probe_complete lxc2" [ style = bold] -"A_monitor_0 lxc2" [ style=bold color="green" fontcolor="black"] "A_monitor_10000 lxc1" [ style=bold color="green" fontcolor="black"] "A_start_0 lxc1" -> "A_monitor_10000 lxc1" [ style = bold] "A_start_0 lxc1" [ style=bold color="green" fontcolor="black"] @@ -43,12 +41,4 @@ digraph "g" { "lxc1_stop_0 18node1" -> "container1_stop_0 18node1" [ style = bold] "lxc1_stop_0 18node1" -> "lxc1_start_0 18node2" [ style = bold] "lxc1_stop_0 18node1" [ style=bold color="green" fontcolor="black"] -"probe_complete lxc1" -> "probe_complete" [ style = bold] -"probe_complete lxc1" [ style=bold color="green" fontcolor="black"] -"probe_complete lxc2" -> "probe_complete" [ style = bold] -"probe_complete lxc2" [ style=bold color="green" fontcolor="black"] -"probe_complete" -> "A_start_0 lxc1" [ style = bold] -"probe_complete" -> "A_stop_0 lxc1" [ style = bold] -"probe_complete" -> "M_stop_0 lxc1" [ style = bold] -"probe_complete" [ style=bold color="green" fontcolor="orange"] } diff --git a/pengine/test10/whitebox-move.exp b/pengine/test10/whitebox-move.exp index f54d5b8305d..5a9fea622fd 100644 --- a/pengine/test10/whitebox-move.exp +++ b/pengine/test10/whitebox-move.exp @@ -1,62 +1,59 @@ - + - + - + - + - + - + - + - + - + - - - - + @@ -69,31 +66,31 @@ - + - + - + - + - + - + @@ -101,73 +98,57 @@ - + - + - + - + - + - + - - - - + - + - + - - - - - - - - - - - - - - + @@ -176,94 +157,59 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -271,16 +217,16 @@ - + - + - + - + diff --git a/pengine/test10/whitebox-move.summary b/pengine/test10/whitebox-move.summary index 33b31549b2f..3422ac78906 100644 --- a/pengine/test10/whitebox-move.summary +++ b/pengine/test10/whitebox-move.summary @@ -18,12 +18,10 @@ Transition Summary: Executing cluster transition: * Pseudo action: M-clone_stop_0 - * Resource action: A monitor on lxc2 - * Pseudo action: probe_complete + * Resource action: A stop on lxc1 * Resource action: M stop on lxc1 * Pseudo action: M-clone_stopped_0 * Pseudo action: M-clone_start_0 - * Resource action: A stop on lxc1 * Resource action: lxc1 stop on 18node1 * Resource action: container1 stop on 18node1 * Pseudo action: all_stopped diff --git a/pengine/test10/whitebox-ms-ordering.dot b/pengine/test10/whitebox-ms-ordering.dot index 8cd47985439..74401309e45 100644 --- a/pengine/test10/whitebox-ms-ordering.dot +++ b/pengine/test10/whitebox-ms-ordering.dot @@ -83,10 +83,6 @@ "probe_complete 18node2" [ style=bold color="green" fontcolor="black"] "probe_complete 18node3" -> "probe_nodes_complete" [ style = bold] "probe_complete 18node3" [ style=bold color="green" fontcolor="black"] -"probe_complete lxc1" -> "probe_complete" [ style = bold] -"probe_complete lxc1" [ style=bold color="green" fontcolor="black"] -"probe_complete lxc2" -> "probe_complete" [ style = bold] -"probe_complete lxc2" [ style=bold color="green" fontcolor="black"] "probe_complete" -> "lxc-ms_start_0 lxc1" [ style = bold] "probe_complete" -> "lxc-ms_start_0 lxc2" [ style = bold] "probe_complete" -> "lxc-ms_stop_0 lxc1" [ style = bold] diff --git a/pengine/test10/whitebox-ms-ordering.exp b/pengine/test10/whitebox-ms-ordering.exp index bbb667184c4..f8915297f61 100644 --- a/pengine/test10/whitebox-ms-ordering.exp +++ b/pengine/test10/whitebox-ms-ordering.exp @@ -1,7 +1,7 @@ - + @@ -41,7 +41,7 @@ - + @@ -81,29 +81,29 @@ - + - + - + - + - + - + @@ -113,19 +113,19 @@ - + - + - + - + @@ -134,26 +134,26 @@ - + - + - + - + - + @@ -186,23 +186,23 @@ - + - + - + - + @@ -212,19 +212,19 @@ - + - + - + - + @@ -233,28 +233,28 @@ - + - + - + - + - + @@ -262,166 +262,150 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - @@ -439,7 +423,7 @@ - + @@ -457,7 +441,7 @@ - + @@ -475,7 +459,7 @@ - + @@ -493,22 +477,15 @@ - + - - - - - - - - + - + @@ -516,10 +493,10 @@ - + - + diff --git a/pengine/test10/whitebox-orphaned.dot b/pengine/test10/whitebox-orphaned.dot index 0f30e7c24d5..289a8f6dc13 100644 --- a/pengine/test10/whitebox-orphaned.dot +++ b/pengine/test10/whitebox-orphaned.dot @@ -1,8 +1,4 @@ digraph "g" { -"A_monitor_0 lxc2" -> "probe_complete lxc2" [ style = bold] -"A_monitor_0 lxc2" [ style=bold color="green" fontcolor="black"] -"B_monitor_0 lxc2" -> "probe_complete lxc2" [ style = bold] -"B_monitor_0 lxc2" [ style=bold color="green" fontcolor="black"] "B_monitor_10000 lxc2" [ style=bold color="green" fontcolor="black"] "B_start_0 lxc2" -> "B_monitor_10000 lxc2" [ style = bold] "B_start_0 lxc2" [ style=bold color="green" fontcolor="black"] @@ -10,8 +6,6 @@ "B_stop_0 lxc1" -> "all_stopped" [ style = bold] "B_stop_0 lxc1" -> "lxc1_stop_0 18node2" [ style = bold] "B_stop_0 lxc1" [ style=bold color="green" fontcolor="black"] -"D_monitor_0 lxc2" -> "probe_complete lxc2" [ style = bold] -"D_monitor_0 lxc2" [ style=bold color="green" fontcolor="black"] "M-clone_stop_0" -> "M-clone_stopped_0" [ style = bold] "M-clone_stop_0" -> "M_stop_0 lxc1" [ style = bold] "M-clone_stop_0" [ style=bold color="green" fontcolor="orange"] @@ -21,7 +15,6 @@ "M_stop_0 lxc1" -> "lxc1_stop_0 18node2" [ style = bold] "M_stop_0 lxc1" [ style=bold color="green" fontcolor="black"] "all_stopped" [ style=bold color="green" fontcolor="orange"] -"container1_clear_failcount 18node2" -> "probe_complete" [ style = bold] "container1_clear_failcount 18node2" [ style=bold color="green" fontcolor="black"] "container1_delete_0 18node1" [ style=bold color="green" fontcolor="black"] "container1_delete_0 18node2" [ style=bold color="green" fontcolor="black"] @@ -31,7 +24,6 @@ "container1_stop_0 18node2" -> "container1_delete_0 18node2" [ style = bold] "container1_stop_0 18node2" -> "container1_delete_0 18node3" [ style = bold] "container1_stop_0 18node2" [ style=bold color="green" fontcolor="black"] -"lxc1_clear_failcount 18node2" -> "probe_complete" [ style = bold] "lxc1_clear_failcount 18node2" [ style=bold color="green" fontcolor="black"] "lxc1_delete_0 18node1" [ style=bold color="green" fontcolor="black"] "lxc1_delete_0 18node2" [ style=bold color="green" fontcolor="black"] @@ -42,8 +34,4 @@ "lxc1_stop_0 18node2" -> "lxc1_delete_0 18node2" [ style = bold] "lxc1_stop_0 18node2" -> "lxc1_delete_0 18node3" [ style = bold] "lxc1_stop_0 18node2" [ style=bold color="green" fontcolor="black"] -"probe_complete lxc2" -> "probe_complete" [ style = bold] -"probe_complete lxc2" [ style=bold color="green" fontcolor="black"] -"probe_complete" -> "B_start_0 lxc2" [ style = bold] -"probe_complete" [ style=bold color="green" fontcolor="orange"] } diff --git a/pengine/test10/whitebox-orphaned.exp b/pengine/test10/whitebox-orphaned.exp index 30ffa5ea535..fe96a211d38 100644 --- a/pengine/test10/whitebox-orphaned.exp +++ b/pengine/test10/whitebox-orphaned.exp @@ -1,35 +1,35 @@ - + - + - + - + - + - + @@ -37,83 +37,53 @@ - - - - - - - - - - + - + - + - + - - - - + - + - + - - - - - - - - - - - - - - - - - - - + - + - + - + @@ -122,11 +92,11 @@ - + - + @@ -135,11 +105,11 @@ - + - + @@ -148,11 +118,11 @@ - + - + @@ -161,23 +131,23 @@ - + - + - + - + - + @@ -186,11 +156,11 @@ - + - + @@ -199,11 +169,11 @@ - + - + @@ -212,11 +182,11 @@ - + - + @@ -225,25 +195,7 @@ - - - - - - - - - - - - - - - - - - - + @@ -251,34 +203,16 @@ - + - - - - - - - - - - - - - - - - - - - + - + - + diff --git a/pengine/test10/whitebox-orphaned.summary b/pengine/test10/whitebox-orphaned.summary index 34841491857..7be845326ae 100644 --- a/pengine/test10/whitebox-orphaned.summary +++ b/pengine/test10/whitebox-orphaned.summary @@ -23,13 +23,9 @@ Transition Summary: Executing cluster transition: * Pseudo action: M-clone_stop_0 - * Resource action: A monitor on lxc2 * Resource action: B stop on lxc1 - * Resource action: B monitor on lxc2 - * Resource action: D monitor on lxc2 * Cluster action: clear_failcount for container1 on 18node2 * Cluster action: clear_failcount for lxc1 on 18node2 - * Pseudo action: probe_complete * Resource action: M stop on lxc1 * Pseudo action: M-clone_stopped_0 * Resource action: B start on lxc2 diff --git a/pengine/test10/whitebox-start.dot b/pengine/test10/whitebox-start.dot index f9866021e3d..bec57b08451 100644 --- a/pengine/test10/whitebox-start.dot +++ b/pengine/test10/whitebox-start.dot @@ -1,14 +1,4 @@ digraph "g" { -"A_monitor_0 lxc1" -> "probe_complete lxc1" [ style = bold] -"A_monitor_0 lxc1" [ style=bold color="green" fontcolor="black"] -"A_monitor_0 lxc2" -> "probe_complete lxc2" [ style = bold] -"A_monitor_0 lxc2" [ style=bold color="green" fontcolor="black"] -"C_monitor_0 lxc1" -> "probe_complete lxc1" [ style = bold] -"C_monitor_0 lxc1" [ style=bold color="green" fontcolor="black"] -"D_monitor_0 lxc1" -> "probe_complete lxc1" [ style = bold] -"D_monitor_0 lxc1" [ style=bold color="green" fontcolor="black"] -"D_monitor_0 lxc2" -> "probe_complete lxc2" [ style = bold] -"D_monitor_0 lxc2" [ style=bold color="green" fontcolor="black"] "M-clone_running_0" [ style=bold color="green" fontcolor="orange"] "M-clone_start_0" -> "M-clone_running_0" [ style = bold] "M-clone_start_0" -> "M_start_0 lxc1" [ style = bold] @@ -20,16 +10,8 @@ digraph "g" { "container1_start_0 18node1" -> "lxc1_start_0 18node1" [ style = bold] "container1_start_0 18node1" [ style=bold color="green" fontcolor="black"] "lxc1_monitor_30000 18node1" [ style=bold color="green" fontcolor="black"] -"lxc1_start_0 18node1" -> "A_monitor_0 lxc1" [ style = bold] -"lxc1_start_0 18node1" -> "C_monitor_0 lxc1" [ style = bold] -"lxc1_start_0 18node1" -> "D_monitor_0 lxc1" [ style = bold] "lxc1_start_0 18node1" -> "M_monitor_10000 lxc1" [ style = bold] "lxc1_start_0 18node1" -> "M_start_0 lxc1" [ style = bold] "lxc1_start_0 18node1" -> "lxc1_monitor_30000 18node1" [ style = bold] "lxc1_start_0 18node1" [ style=bold color="green" fontcolor="black"] -"probe_complete lxc1" -> "probe_complete" [ style = bold] -"probe_complete lxc1" [ style=bold color="green" fontcolor="black"] -"probe_complete lxc2" -> "probe_complete" [ style = bold] -"probe_complete lxc2" [ style=bold color="green" fontcolor="black"] -"probe_complete" [ style=bold color="green" fontcolor="orange"] } diff --git a/pengine/test10/whitebox-start.exp b/pengine/test10/whitebox-start.exp index 1b8938e27ab..049fc6d1ecd 100644 --- a/pengine/test10/whitebox-start.exp +++ b/pengine/test10/whitebox-start.exp @@ -1,7 +1,7 @@ - + @@ -10,54 +10,54 @@ - + - + - + - + - + - + - + - + - + - + @@ -65,132 +65,27 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/pengine/test10/whitebox-start.summary b/pengine/test10/whitebox-start.summary index 777fe62ea36..2801abe21f5 100644 --- a/pengine/test10/whitebox-start.summary +++ b/pengine/test10/whitebox-start.summary @@ -22,16 +22,10 @@ Transition Summary: Executing cluster transition: * Resource action: container1 start on 18node1 * Pseudo action: M-clone_start_0 - * Resource action: A monitor on lxc2 - * Resource action: D monitor on lxc2 * Resource action: lxc1 start on 18node1 * Resource action: M start on lxc1 * Pseudo action: M-clone_running_0 - * Resource action: A monitor on lxc1 - * Resource action: C monitor on lxc1 - * Resource action: D monitor on lxc1 * Resource action: lxc1 monitor=30000 on 18node1 - * Pseudo action: probe_complete * Resource action: M monitor=10000 on lxc1 Revised cluster status: diff --git a/pengine/test10/whitebox-stop.dot b/pengine/test10/whitebox-stop.dot index 26dcb24112a..99004830988 100644 --- a/pengine/test10/whitebox-stop.dot +++ b/pengine/test10/whitebox-stop.dot @@ -1,8 +1,4 @@ digraph "g" { -"A_monitor_0 lxc2" -> "probe_complete lxc2" [ style = bold] -"A_monitor_0 lxc2" [ style=bold color="green" fontcolor="black"] -"B_monitor_0 lxc2" -> "probe_complete lxc2" [ style = bold] -"B_monitor_0 lxc2" [ style=bold color="green" fontcolor="black"] "B_monitor_10000 lxc2" [ style=bold color="green" fontcolor="black"] "B_start_0 lxc2" -> "B_monitor_10000 lxc2" [ style = bold] "B_start_0 lxc2" [ style=bold color="green" fontcolor="black"] @@ -10,8 +6,6 @@ digraph "g" { "B_stop_0 lxc1" -> "all_stopped" [ style = bold] "B_stop_0 lxc1" -> "lxc1_stop_0 18node2" [ style = bold] "B_stop_0 lxc1" [ style=bold color="green" fontcolor="black"] -"D_monitor_0 lxc2" -> "probe_complete lxc2" [ style = bold] -"D_monitor_0 lxc2" [ style=bold color="green" fontcolor="black"] "M-clone_stop_0" -> "M-clone_stopped_0" [ style = bold] "M-clone_stop_0" -> "M_stop_0 lxc1" [ style = bold] "M-clone_stop_0" [ style=bold color="green" fontcolor="orange"] @@ -26,8 +20,4 @@ digraph "g" { "lxc1_stop_0 18node2" -> "all_stopped" [ style = bold] "lxc1_stop_0 18node2" -> "container1_stop_0 18node2" [ style = bold] "lxc1_stop_0 18node2" [ style=bold color="green" fontcolor="black"] -"probe_complete lxc2" -> "probe_complete" [ style = bold] -"probe_complete lxc2" [ style=bold color="green" fontcolor="black"] -"probe_complete" -> "B_start_0 lxc2" [ style = bold] -"probe_complete" [ style=bold color="green" fontcolor="orange"] } diff --git a/pengine/test10/whitebox-stop.exp b/pengine/test10/whitebox-stop.exp index d32fdeabf77..71f1bf0e1b8 100644 --- a/pengine/test10/whitebox-stop.exp +++ b/pengine/test10/whitebox-stop.exp @@ -1,48 +1,48 @@ - + - + - + - + - + - + - + - + @@ -50,116 +50,56 @@ - - - - - - - - - - + - + - + - + - - - - + - + - + - - - - - - - - - - - - - - - - - - - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -167,16 +107,16 @@ - + - + - + - + diff --git a/pengine/test10/whitebox-stop.summary b/pengine/test10/whitebox-stop.summary index 8862c4b075b..51357b9552a 100644 --- a/pengine/test10/whitebox-stop.summary +++ b/pengine/test10/whitebox-stop.summary @@ -21,11 +21,7 @@ Transition Summary: Executing cluster transition: * Pseudo action: M-clone_stop_0 - * Resource action: A monitor on lxc2 * Resource action: B stop on lxc1 - * Resource action: B monitor on lxc2 - * Resource action: D monitor on lxc2 - * Pseudo action: probe_complete * Resource action: M stop on lxc1 * Pseudo action: M-clone_stopped_0 * Resource action: B start on lxc2 diff --git a/pengine/test10/whitebox-unexpectedly-running.dot b/pengine/test10/whitebox-unexpectedly-running.dot new file mode 100644 index 00000000000..d87344a9849 --- /dev/null +++ b/pengine/test10/whitebox-unexpectedly-running.dot @@ -0,0 +1,13 @@ + digraph "g" { +"FAKE_monitor_60000 18builder" [ style=bold color="green" fontcolor="black"] +"FAKE_start_0 18builder" -> "FAKE_monitor_60000 18builder" [ style = bold] +"FAKE_start_0 18builder" -> "remote1_start_0 18builder" [ style = bold] +"FAKE_start_0 18builder" [ style=bold color="green" fontcolor="black"] +"FAKE_stop_0 18builder" -> "FAKE_start_0 18builder" [ style = bold] +"FAKE_stop_0 18builder" -> "all_stopped" [ style = bold] +"FAKE_stop_0 18builder" [ style=bold color="green" fontcolor="black"] +"all_stopped" [ style=bold color="green" fontcolor="orange"] +"remote1_monitor_30000 18builder" [ style=bold color="green" fontcolor="black"] +"remote1_start_0 18builder" -> "remote1_monitor_30000 18builder" [ style = bold] +"remote1_start_0 18builder" [ style=bold color="green" fontcolor="black"] +} diff --git a/pengine/test10/whitebox-unexpectedly-running.exp b/pengine/test10/whitebox-unexpectedly-running.exp new file mode 100644 index 00000000000..69994074bf1 --- /dev/null +++ b/pengine/test10/whitebox-unexpectedly-running.exp @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pengine/test10/whitebox-unexpectedly-running.scores b/pengine/test10/whitebox-unexpectedly-running.scores new file mode 100644 index 00000000000..7f8a1d91c58 --- /dev/null +++ b/pengine/test10/whitebox-unexpectedly-running.scores @@ -0,0 +1,5 @@ +Allocation scores: +native_color: FAKE allocation score on 18builder: 0 +native_color: FAKE allocation score on remote1: -INFINITY +native_color: remote1 allocation score on 18builder: 0 +native_color: remote1 allocation score on remote1: -INFINITY diff --git a/pengine/test10/whitebox-unexpectedly-running.summary b/pengine/test10/whitebox-unexpectedly-running.summary new file mode 100644 index 00000000000..f834e417a74 --- /dev/null +++ b/pengine/test10/whitebox-unexpectedly-running.summary @@ -0,0 +1,24 @@ + +Current cluster status: +Online: [ 18builder ] + + FAKE (ocf::pacemaker:Dummy): FAILED 18builder + +Transition Summary: + * Recover FAKE (Started 18builder) + * Start remote1 (18builder) + +Executing cluster transition: + * Resource action: FAKE stop on 18builder + * Pseudo action: all_stopped + * Resource action: FAKE start on 18builder + * Resource action: remote1 start on 18builder + * Resource action: FAKE monitor=60000 on 18builder + * Resource action: remote1 monitor=30000 on 18builder + +Revised cluster status: +Online: [ 18builder ] +Containers: [ remote1:FAKE ] + + FAKE (ocf::pacemaker:Dummy): Started 18builder + diff --git a/pengine/test10/whitebox-unexpectedly-running.xml b/pengine/test10/whitebox-unexpectedly-running.xml new file mode 100644 index 00000000000..4ec20c472cf --- /dev/null +++ b/pengine/test10/whitebox-unexpectedly-running.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +