diff --git a/crmd/crmd_lrm.h b/crmd/crmd_lrm.h index 46cddc2..3a08392 100644 --- a/crmd/crmd_lrm.h +++ b/crmd/crmd_lrm.h @@ -71,6 +71,12 @@ struct pending_deletion_op_s { xmlNode *do_lrm_query_internal(lrm_state_t * lrm_state, gboolean is_replace); /*! + * \brief Is this the local ipc connection to the lrmd + */ +gboolean +lrm_state_is_local(lrm_state_t *lrm_state); + +/*! * \brief Clear all state information from a single state entry. * \note This does not close the lrmd connection */ diff --git a/crmd/lrm.c b/crmd/lrm.c index b68f657..5bff4d5 100644 --- a/crmd/lrm.c +++ b/crmd/lrm.c @@ -1163,7 +1163,12 @@ get_lrm_resource(lrm_state_t * lrm_state, xmlNode * resource, xmlNode * op_msg, fsa_data_t *msg_data = NULL; crm_err("Could not add resource %s to LRM %s", id, lrm_state->node_name); - register_fsa_error(C_FSA_INTERNAL, I_FAIL, NULL); + /* only register this as a internal error if this involves the local + * lrmd. Otherwise we're likely dealing with an unresponsive remote-node + * which is not a FSA failure. */ + if (lrm_state_is_local(lrm_state) == TRUE) { + register_fsa_error(C_FSA_INTERNAL, I_FAIL, NULL); + } } } @@ -1211,6 +1216,28 @@ delete_resource(lrm_state_t * lrm_state, delete_rsc_entry(lrm_state, request, id, gIter, rc, user); } +static int +get_fake_call_id(lrm_state_t *lrm_state, const char *rsc_id) +{ + int call_id = 0; + rsc_history_t *entry = NULL; + + entry = g_hash_table_lookup(lrm_state->resource_history, rsc_id); + + /* Make sure the call id is greater than the last successful operation, + * otherwise the failure will not result in a possible recovery of the resource + * as it could appear the failure occurred before the successful start */ + if (entry) { + call_id = entry->last_callid + 1; + } + + if (call_id < 0) { + call_id = 1; + } + return call_id; +} + + /* A_LRM_INVOKE */ void do_lrm_invoke(long long action, @@ -1272,7 +1299,6 @@ do_lrm_invoke(long long action, operation = CRM_OP_LRM_REFRESH; } else if (safe_str_eq(crm_op, CRM_OP_LRM_FAIL)) { - rsc_history_t *entry = NULL; lrmd_event_data_t *op = NULL; lrmd_rsc_info_t *rsc = NULL; xmlNode *xml_rsc = find_xml_node(input->xml, XML_CIB_TAG_RESOURCE, TRUE); @@ -1293,16 +1319,7 @@ do_lrm_invoke(long long action, free((char *)op->user_data); op->user_data = NULL; - entry = g_hash_table_lookup(lrm_state->resource_history, op->rsc_id); - /* Make sure the call id is greater than the last successful operation, - * otherwise the failure will not result in a possible recovery of the resource - * as it could appear the failure occurred before the successful start */ - if (entry) { - op->call_id = entry->last_callid + 1; - if (op->call_id < 0) { - op->call_id = 1; - } - } + op->call_id = get_fake_call_id(lrm_state, op->rsc_id); op->interval = 0; op->op_status = PCMK_LRM_OP_DONE; op->rc = PCMK_OCF_UNKNOWN_ERROR; @@ -1430,6 +1447,21 @@ do_lrm_invoke(long long action, rsc = get_lrm_resource(lrm_state, xml_rsc, input->xml, create_rsc); if (rsc == NULL && create_rsc) { + lrmd_event_data_t *op = NULL; + + /* if the operation couldn't complete because we can't register + * the resource, return a generic error */ + op = construct_op(lrm_state, input->xml, ID(xml_rsc), operation); + CRM_ASSERT(op != NULL); + + op->op_status = PCMK_LRM_OP_DONE; + op->rc = PCMK_OCF_UNKNOWN_ERROR; + op->t_run = time(NULL); + op->t_rcchange = op->t_run; + + send_direct_ack(from_host, from_sys, NULL, op, ID(xml_rsc)); + lrmd_free_event(op); + crm_err("Invalid resource definition"); crm_log_xml_warn(input->msg, "bad input"); @@ -1767,6 +1799,7 @@ do_lrm_rsc_op(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, const char *operat lrmd_key_value_t *params = NULL; fsa_data_t *msg_data = NULL; const char *transition = NULL; + gboolean stop_recurring = FALSE; CRM_CHECK(rsc != NULL, return); CRM_CHECK(operation != NULL, return); @@ -1781,10 +1814,25 @@ do_lrm_rsc_op(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, const char *operat op = construct_op(lrm_state, msg, rsc->id, operation); CRM_CHECK(op != NULL, return); - /* stop any previous monitor operations before changing the resource state */ - if (op->interval == 0 + if (is_remote_lrmd_ra(NULL, NULL, rsc->id) + && op->interval == 0 + && strcmp(operation, CRMD_ACTION_MIGRATE) == 0) { + + /* pcmk remote connections are a special use case. + * We never ever want to stop monitoring a connection resource until + * the entire migration has completed. If the connection is ever unexpected + * severed, even during a migration, this is an event we must detect.*/ + stop_recurring = FALSE; + + } else if (op->interval == 0 && strcmp(operation, CRMD_ACTION_STATUS) != 0 && strcmp(operation, CRMD_ACTION_NOTIFY) != 0) { + + /* stop any previous monitor operations before changing the resource state */ + stop_recurring = TRUE; + } + + if (stop_recurring == TRUE) { guint removed = 0; struct stop_recurring_action_s data; @@ -1837,10 +1885,20 @@ do_lrm_rsc_op(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, const char *operat op->op_type, op->user_data, op->interval, op->timeout, op->start_delay, params); - if (call_id <= 0) { + if (call_id <= 0 && lrm_state_is_local(lrm_state)) { crm_err("Operation %s on %s failed: %d", operation, rsc->id, call_id); register_fsa_error(C_FSA_INTERNAL, I_FAIL, NULL); + } else if (call_id <= 0) { + + crm_err("Operation %s on resource %s failed to execute on remote node %s: %d", operation, rsc->id, lrm_state->node_name, call_id); + op->call_id = get_fake_call_id(lrm_state, rsc->id); + op->op_status = PCMK_LRM_OP_DONE; + op->rc = PCMK_OCF_UNKNOWN_ERROR; + op->t_run = time(NULL); + op->t_rcchange = op->t_run; + process_lrm_event(lrm_state, op); + } else { /* record all operations so we can wait * for them to complete during shutdown diff --git a/crmd/lrm_state.c b/crmd/lrm_state.c index 72f66c7..efd061c 100644 --- a/crmd/lrm_state.c +++ b/crmd/lrm_state.c @@ -90,6 +90,21 @@ free_recurring_op(gpointer value) free(op); } +gboolean +lrm_state_is_local(lrm_state_t *lrm_state) +{ + if (lrm_state == NULL || fsa_our_uname == NULL) { + return FALSE; + } + + if (strcmp(lrm_state->node_name, fsa_our_uname) != 0) { + return FALSE; + } + + return TRUE; + +} + lrm_state_t * lrm_state_create(const char *node_name) { diff --git a/crmd/remote_lrmd_ra.c b/crmd/remote_lrmd_ra.c index 2f658ee..ae59070 100644 --- a/crmd/remote_lrmd_ra.c +++ b/crmd/remote_lrmd_ra.c @@ -231,7 +231,7 @@ retry_start_cmd_cb(gpointer data) return FALSE; } cmd = ra_data->cur_cmd; - if (safe_str_neq(cmd->action, "start")) { + if (safe_str_neq(cmd->action, "start") && safe_str_neq(cmd->action, "migrate_from")) { return FALSE; } update_remaining_timeout(cmd); @@ -264,7 +264,7 @@ connection_takeover_timeout_cb(gpointer data) lrm_state_t *lrm_state = NULL; remote_ra_cmd_t *cmd = data; - crm_debug("takeover event timed out for node %s", cmd->rsc_id); + crm_info("takeover event timed out for node %s", cmd->rsc_id); cmd->takeover_timeout_id = 0; lrm_state = lrm_state_find(cmd->rsc_id); @@ -281,7 +281,7 @@ monitor_timeout_cb(gpointer data) lrm_state_t *lrm_state = NULL; remote_ra_cmd_t *cmd = data; - crm_debug("Poke async response timed out for node %s", cmd->rsc_id); + crm_info("Poke async response timed out for node %s", cmd->rsc_id); cmd->monitor_timeout_id = 0; cmd->op_status = PCMK_LRM_OP_TIMEOUT; cmd->rc = PCMK_OCF_UNKNOWN_ERROR; diff --git a/include/crm/pengine/common.h b/include/crm/pengine/common.h index 33acc6e..0d853c0 100644 --- a/include/crm/pengine/common.h +++ b/include/crm/pengine/common.h @@ -34,7 +34,18 @@ enum action_fail_response { action_fail_stop, action_fail_standby, action_fail_fence, - action_fail_restart_container + action_fail_restart_container, + /* This is reserved for internal use for baremetal remote node connection + * resources. This fail action means + * 1. If stonith is enabled, fence the baremetal remote node + * 2. stonith not enabled, attempt to recover the connection resources + * + * This response value gives us control of saying types of + * connection resource failures result in fencing the remote node. + * Example: recurring monitors failure should result in fencing. + */ + action_fail_reset_remote, + }; /* the "done" action must be the "pre" action +1 */ diff --git a/include/crm/pengine/status.h b/include/crm/pengine/status.h index f08a910..da20f64 100644 --- a/include/crm/pengine/status.h +++ b/include/crm/pengine/status.h @@ -138,6 +138,8 @@ struct node_shared_s { gboolean is_dc; gboolean rsc_discovery_enabled; + gboolean remote_requires_reset; + int num_resources; GListPtr running_rsc; /* resource_t* */ GListPtr allocated_rsc; /* resource_t* */ diff --git a/lib/common/ipc.c b/lib/common/ipc.c index f26225f..1b8558d 100644 --- a/lib/common/ipc.c +++ b/lib/common/ipc.c @@ -1144,7 +1144,7 @@ crm_ipc_send(crm_ipc_t * client, xmlNode * message, enum crm_ipc_flags flags, in id++; CRM_LOG_ASSERT(id != 0); /* Crude wrap-around detection */ - rc = crm_ipc_prepare(id, message, &iov, ipc_buffer_max); + rc = crm_ipc_prepare(id, message, &iov, client->max_buf_size); if(rc < 0) { return rc; } @@ -1158,10 +1158,10 @@ crm_ipc_send(crm_ipc_t * client, xmlNode * message, enum crm_ipc_flags flags, in } if(header->size_compressed) { - if(factor < 10 && (ipc_buffer_max / 10) < (rc / factor)) { + if(factor < 10 && (client->max_buf_size / 10) < (rc / factor)) { crm_notice("Compressed message exceeds %d0%% of the configured ipc limit (%d bytes), " "consider setting PCMK_ipc_buffer to %d or higher", - factor, ipc_buffer_max, 2*ipc_buffer_max); + factor, client->max_buf_size, 2*client->max_buf_size); factor++; } } diff --git a/lib/lrmd/lrmd_client.c b/lib/lrmd/lrmd_client.c index b8c5d23..74bd692 100644 --- a/lib/lrmd/lrmd_client.c +++ b/lib/lrmd/lrmd_client.c @@ -604,12 +604,18 @@ lrmd_tls_recv_reply(lrmd_t * lrmd, int total_timeout, int expected_reply_id, int remaining_timeout = total_timeout; } if (remaining_timeout <= 0) { + crm_err("Never received the expected reply during the timeout period, disconnecting."); + *disconnected = TRUE; return NULL; } crm_remote_recv(native->remote, remaining_timeout, disconnected); xml = crm_remote_parse_buffer(native->remote); - if (!xml || *disconnected) { + if (!xml) { + crm_err("Unable to receive expected reply, disconnecting."); + *disconnected = TRUE; + return NULL; + } else if (*disconnected) { return NULL; } } diff --git a/lib/pengine/common.c b/lib/pengine/common.c index e5e4ea7..42eda33 100644 --- a/lib/pengine/common.c +++ b/lib/pengine/common.c @@ -214,6 +214,9 @@ fail2text(enum action_fail_response fail) case action_fail_restart_container: result = "restart-container"; break; + case action_fail_reset_remote: + result = "reset-remote"; + break; } return result; } diff --git a/lib/pengine/unpack.c b/lib/pengine/unpack.c index a19bdff..bdd6450 100644 --- a/lib/pengine/unpack.c +++ b/lib/pengine/unpack.c @@ -80,6 +80,15 @@ pe_fence_node(pe_working_set_t * data_set, node_t * node, const char *reason) node->details->uname, reason); set_bit(node->details->remote_rsc->flags, pe_rsc_failed); + } else if (is_baremetal_remote_node(node)) { + if(pe_can_fence(data_set, node)) { + crm_warn("Node %s will be fenced %s", node->details->uname, reason); + } else { + crm_warn("Node %s is unclean %s", node->details->uname, reason); + } + node->details->unclean = TRUE; + node->details->remote_requires_reset = TRUE; + } else if (node->details->unclean == FALSE) { if(pe_can_fence(data_set, node)) { crm_warn("Node %s will be fenced %s", node->details->uname, reason); @@ -1143,8 +1152,10 @@ unpack_remote_status(xmlNode * status, pe_working_set_t * data_set) } crm_trace("Processing remote node id=%s, uname=%s", id, uname); - this_node->details->unclean = FALSE; - this_node->details->unseen = FALSE; + if (this_node->details->remote_requires_reset == FALSE) { + this_node->details->unclean = FALSE; + this_node->details->unseen = FALSE; + } attrs = find_xml_node(state, XML_TAG_TRANSIENT_NODEATTRS, FALSE); add_node_attrs(attrs, this_node, TRUE, data_set); @@ -1777,6 +1788,7 @@ process_rsc_state(resource_t * rsc, node_t * node, enum action_fail_response on_fail, xmlNode * migrate_op, pe_working_set_t * data_set) { + node_t *tmpnode = NULL; CRM_ASSERT(rsc); pe_rsc_trace(rsc, "Resource %s is %s on %s: on_fail=%s", rsc->id, role2text(rsc->role), node->details->uname, fail2text(on_fail)); @@ -1817,7 +1829,7 @@ process_rsc_state(resource_t * rsc, node_t * node, should_fence = TRUE; } else if (is_set(data_set->flags, pe_flag_stonith_enabled)) { if (is_baremetal_remote_node(node) && is_not_set(node->details->remote_rsc->flags, pe_rsc_failed)) { - /* setting unceen = true means that fencing of the remote node will + /* setting unseen = true means that fencing of the remote node will * only occur if the connection resource is not going to start somewhere. * This allows connection resources on a failed cluster-node to move to * another node without requiring the baremetal remote nodes to be fenced @@ -1892,7 +1904,20 @@ process_rsc_state(resource_t * rsc, node_t * node, if (rsc->container) { stop_action(rsc->container, node, FALSE); - + } else if (rsc->role != RSC_ROLE_STOPPED && rsc->role != RSC_ROLE_UNKNOWN) { + stop_action(rsc, node, FALSE); + } + break; + case action_fail_reset_remote: + set_bit(rsc->flags, pe_rsc_failed); + tmpnode = NULL; + if (rsc->is_remote_node) { + tmpnode = pe_find_node(data_set->nodes, rsc->id); + } + if (tmpnode && is_baremetal_remote_node(tmpnode)) { + /* connection resource to baremetal resource failed in a way that + * should result in fencing the remote-node. */ + pe_fence_node(data_set, tmpnode, "because of connection failure(s)"); } else if (rsc->role != RSC_ROLE_STOPPED && rsc->role != RSC_ROLE_UNKNOWN) { stop_action(rsc, node, FALSE); } @@ -1904,7 +1929,7 @@ process_rsc_state(resource_t * rsc, node_t * node, * result in a fencing operation regardless if we're going to attempt to * reconnect to the remote-node in this transition or not. */ if (is_set(rsc->flags, pe_rsc_failed) && rsc->is_remote_node) { - node_t *tmpnode = pe_find_node(data_set->nodes, rsc->id); + tmpnode = pe_find_node(data_set->nodes, rsc->id); if (tmpnode && tmpnode->details->unclean) { tmpnode->details->unseen = FALSE; } @@ -2510,10 +2535,9 @@ unpack_rsc_op_failure(resource_t *rsc, node_t *node, int rc, xmlNode *xml_op, en action = custom_action(rsc, strdup(key), task, NULL, TRUE, FALSE, data_set); if ((action->on_fail <= action_fail_fence && *on_fail < action->on_fail) || - (action->on_fail == action_fail_restart_container - && *on_fail <= action_fail_recover) || (*on_fail == action_fail_restart_container - && action->on_fail >= - action_fail_migrate)) { + (action->on_fail == action_fail_reset_remote && *on_fail <= action_fail_recover) || + (action->on_fail == action_fail_restart_container && *on_fail <= action_fail_recover) || + (*on_fail == action_fail_restart_container && action->on_fail >= action_fail_migrate)) { pe_rsc_trace(rsc, "on-fail %s -> %s for %s (%s)", fail2text(*on_fail), fail2text(action->on_fail), action->uuid, key); *on_fail = action->on_fail; @@ -2881,13 +2905,11 @@ update_resource_state(resource_t *rsc, node_t * node, xmlNode * xml_op, const ch case action_fail_block: case action_fail_ignore: case action_fail_recover: - *on_fail = action_fail_ignore; - rsc->next_role = RSC_ROLE_UNKNOWN; - break; - case action_fail_restart_container: + case action_fail_reset_remote: *on_fail = action_fail_ignore; rsc->next_role = RSC_ROLE_UNKNOWN; + break; } } } diff --git a/lib/pengine/utils.c b/lib/pengine/utils.c index baf6cb9..a40de60 100644 --- a/lib/pengine/utils.c +++ b/lib/pengine/utils.c @@ -35,6 +35,7 @@ void unpack_operation(action_t * action, xmlNode * xml_obj, resource_t * contain pe_working_set_t * data_set); static xmlNode *find_rsc_op_entry_helper(resource_t * rsc, const char *key, gboolean include_disabled); +static gboolean is_rsc_baremetal_remote_node(resource_t *rsc, pe_working_set_t * data_set); bool pe_can_fence(pe_working_set_t * data_set, node_t *node) { @@ -686,6 +687,19 @@ unpack_operation(action_t * action, xmlNode * xml_obj, resource_t * container, NULL, action->meta, NULL, FALSE, data_set->now); g_hash_table_remove(action->meta, "id"); + field = XML_LRM_ATTR_INTERVAL; + value = g_hash_table_lookup(action->meta, field); + if (value != NULL) { + interval = crm_get_interval(value); + if (interval > 0) { + value_ms = crm_itoa(interval); + g_hash_table_replace(action->meta, strdup(field), value_ms); + + } else { + g_hash_table_remove(action->meta, field); + } + } + /* Begin compatability code */ value = g_hash_table_lookup(action->meta, "requires"); @@ -789,6 +803,22 @@ unpack_operation(action_t * action, xmlNode * xml_obj, resource_t * container, action->on_fail = action_fail_restart_container; value = "restart container (and possibly migrate) (default)"; + /* for baremetal remote nodes, ensure that a recurring monitor operation failure + * defaults to either fencing the remote-node for recovery, or at least + * attempting to recover the the connection when fencing is disabled. */ + } else if (value == NULL && + is_rsc_baremetal_remote_node(action->rsc, data_set) && + safe_str_eq(action->task, CRMD_ACTION_STATUS) && + interval > 0) { + + if (is_set(data_set->flags, pe_flag_stonith_enabled)) { + action->on_fail = action_fail_reset_remote; + value = "fence baremetal remote node (default)"; + } else { + action->on_fail = action_fail_recover; + value = "recover baremetal remote node connection (default)"; + } + } else if (value == NULL && safe_str_eq(action->task, CRMD_ACTION_STOP)) { if (is_set(data_set->flags, pe_flag_stonith_enabled)) { action->on_fail = action_fail_fence; @@ -824,19 +854,6 @@ unpack_operation(action_t * action, xmlNode * xml_obj, resource_t * container, pe_rsc_trace(action->rsc, "\t%s failure results in: %s", action->task, role2text(action->fail_role)); - field = XML_LRM_ATTR_INTERVAL; - value = g_hash_table_lookup(action->meta, field); - if (value != NULL) { - interval = crm_get_interval(value); - if (interval > 0) { - value_ms = crm_itoa(interval); - g_hash_table_replace(action->meta, strdup(field), value_ms); - - } else { - g_hash_table_remove(action->meta, field); - } - } - field = XML_OP_ATTR_START_DELAY; value = g_hash_table_lookup(action->meta, field); if (value != NULL) { @@ -1939,6 +1956,25 @@ const char *rsc_printable_id(resource_t *rsc) } gboolean +is_rsc_baremetal_remote_node(resource_t *rsc, pe_working_set_t * data_set) +{ + node_t *node; + + if (rsc == NULL) { + return FALSE; + } else if (rsc->is_remote_node == FALSE) { + return FALSE; + } + + node = pe_find_node(data_set->nodes, rsc->id); + if (node == NULL) { + return FALSE; + } + + return is_baremetal_remote_node(node); +} + +gboolean is_baremetal_remote_node(node_t *node) { if (is_remote_node(node) && (node->details->remote_rsc == FALSE || node->details->remote_rsc->container == FALSE)) { diff --git a/pengine/allocate.c b/pengine/allocate.c index 45e2212..9c3cb60 100644 --- a/pengine/allocate.c +++ b/pengine/allocate.c @@ -1191,7 +1191,10 @@ allocate_resources(pe_working_set_t * data_set) continue; } pe_rsc_trace(rsc, "Allocating: %s", rsc->id); - rsc->cmds->allocate(rsc, NULL, data_set); + /* for remote node connection resources, always prefer the partial migration + * target during resource allocation if the rsc is in the middle of a + * migration */ + rsc->cmds->allocate(rsc, rsc->partial_migration_target, data_set); } } @@ -1716,9 +1719,18 @@ apply_remote_node_ordering(pe_working_set_t *data_set) node_t *cluster_node = remote_rsc->running_on ? remote_rsc->running_on->data : NULL; /* if the current cluster node a baremetal connection resource - * is residing on is unclean, we can't process any operations on that - * remote node until after it starts somewhere else. */ - if (cluster_node && cluster_node->details->unclean == TRUE) { + * is residing on is unclean or went offline we can't process any + * operations on that remote node until after it starts somewhere else. */ + if (cluster_node == NULL || + cluster_node->details->unclean == TRUE || + cluster_node->details->online == FALSE) { + after_start = TRUE; + } else if (g_list_length(remote_rsc->running_on) > 1 && + remote_rsc->partial_migration_source && + remote_rsc->partial_migration_target) { + /* if we're caught in the middle of migrating a connection resource, + * then we have to wait until after the resource migrates before performing + * any actions. */ after_start = TRUE; } } diff --git a/pengine/native.c b/pengine/native.c index 6d62010..62639d0 100644 --- a/pengine/native.c +++ b/pengine/native.c @@ -1137,12 +1137,18 @@ handle_migration_actions(resource_t * rsc, node_t *current, node_t *chosen, pe_w if (migrate_to) { add_hash_param(migrate_to->meta, XML_LRM_ATTR_MIGRATE_SOURCE, current->details->uname); add_hash_param(migrate_to->meta, XML_LRM_ATTR_MIGRATE_TARGET, chosen->details->uname); - /* migrate_to takes place on the source node, but can - * have an effect on the target node depending on how - * the agent is written. Because of this, we have to maintain - * a record that the migrate_to occurred incase the source node - * loses membership while the migrate_to action is still in-flight. */ - add_hash_param(migrate_to->meta, XML_OP_ATTR_PENDING, "true"); + + /* pcmk remote connections don't require pending to be recorded in cib. + * We can optimize cib writes by only setting PENDING for non pcmk remote + * connection resources */ + if (rsc->is_remote_node == FALSE) { + /* migrate_to takes place on the source node, but can + * have an effect on the target node depending on how + * the agent is written. Because of this, we have to maintain + * a record that the migrate_to occurred incase the source node + * loses membership while the migrate_to action is still in-flight. */ + add_hash_param(migrate_to->meta, XML_OP_ATTR_PENDING, "true"); + } } if (migrate_from) { diff --git a/pengine/regression.sh b/pengine/regression.sh index aa03b18..3a244d7 100755 --- a/pengine/regression.sh +++ b/pengine/regression.sh @@ -769,6 +769,11 @@ do_test remote-disable "Disable a baremetal remote-node" do_test remote-orphaned "Properly shutdown orphaned connection resource" do_test remote-recover "Recover connection resource after cluster-node fails." do_test remote-stale-node-entry "Make sure we properly handle leftover remote-node entries in the node section" +do_test remote-partial-migrate "Make sure partial migrations are handled before ops on the remote node." +do_test remote-partial-migrate2 "Make sure partial migration target is prefered for remote connection." +do_test remote-recover-fail "Make sure start failure causes fencing if rsc are active on remote." +do_test remote-start-fail "Make sure a start failure does not result in fencing if no active resources are on remote." +do_test remote-unclean2 "Make monitor failure always results in fencing, even if no rsc are active on remote." echo "" do_test resource-discovery "Exercises resource-discovery location constraint option." diff --git a/pengine/test10/remote-fence-unclean.exp b/pengine/test10/remote-fence-unclean.exp index 9b1e327..b8c90f2 100644 --- a/pengine/test10/remote-fence-unclean.exp +++ b/pengine/test10/remote-fence-unclean.exp @@ -8,7 +8,7 @@ - + @@ -17,7 +17,7 @@ - + @@ -176,13 +176,13 @@ - + - + diff --git a/pengine/test10/remote-move.exp b/pengine/test10/remote-move.exp index 6724679..6287daa 100644 --- a/pengine/test10/remote-move.exp +++ b/pengine/test10/remote-move.exp @@ -51,7 +51,7 @@ - + diff --git a/pengine/test10/remote-partial-migrate.dot b/pengine/test10/remote-partial-migrate.dot new file mode 100644 index 0000000..8d776dc --- /dev/null +++ b/pengine/test10/remote-partial-migrate.dot @@ -0,0 +1,86 @@ + digraph "g" { +"FAKE10_monitor_10000 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE10_start_0 pcmk1" -> "FAKE10_monitor_10000 pcmk1" [ style = bold] +"FAKE10_start_0 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE13_monitor_10000 pcmk2" [ style=bold color="green" fontcolor="black"] +"FAKE13_start_0 pcmk2" -> "FAKE13_monitor_10000 pcmk2" [ style = bold] +"FAKE13_start_0 pcmk2" [ style=bold color="green" fontcolor="black"] +"FAKE15_monitor_10000 pcmk3" [ style=bold color="green" fontcolor="black"] +"FAKE15_start_0 pcmk3" -> "FAKE15_monitor_10000 pcmk3" [ style = bold] +"FAKE15_start_0 pcmk3" [ style=bold color="green" fontcolor="black"] +"FAKE16_monitor_10000 pcmk_remote3" [ style=bold color="green" fontcolor="black"] +"FAKE16_start_0 pcmk_remote3" -> "FAKE16_monitor_10000 pcmk_remote3" [ style = bold] +"FAKE16_start_0 pcmk_remote3" [ style=bold color="green" fontcolor="black"] +"FAKE16_stop_0 pcmk1" -> "FAKE16_start_0 pcmk_remote3" [ style = bold] +"FAKE16_stop_0 pcmk1" -> "all_stopped" [ style = bold] +"FAKE16_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE22_monitor_10000 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE22_start_0 pcmk1" -> "FAKE22_monitor_10000 pcmk1" [ style = bold] +"FAKE22_start_0 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE23_monitor_10000 pcmk_remote1" [ style=bold color="green" fontcolor="black"] +"FAKE23_start_0 pcmk_remote1" -> "FAKE23_monitor_10000 pcmk_remote1" [ style = bold] +"FAKE23_start_0 pcmk_remote1" [ style=bold color="green" fontcolor="black"] +"FAKE23_stop_0 pcmk1" -> "FAKE23_start_0 pcmk_remote1" [ style = bold] +"FAKE23_stop_0 pcmk1" -> "all_stopped" [ style = bold] +"FAKE23_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE26_monitor_10000 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE26_start_0 pcmk1" -> "FAKE26_monitor_10000 pcmk1" [ style = bold] +"FAKE26_start_0 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE29_monitor_10000 pcmk2" [ style=bold color="green" fontcolor="black"] +"FAKE29_start_0 pcmk2" -> "FAKE29_monitor_10000 pcmk2" [ style = bold] +"FAKE29_start_0 pcmk2" [ style=bold color="green" fontcolor="black"] +"FAKE30_monitor_10000 pcmk_remote2" [ style=bold color="green" fontcolor="black"] +"FAKE30_start_0 pcmk_remote2" -> "FAKE30_monitor_10000 pcmk_remote2" [ style = bold] +"FAKE30_start_0 pcmk_remote2" [ style=bold color="green" fontcolor="black"] +"FAKE30_stop_0 pcmk1" -> "FAKE30_start_0 pcmk_remote2" [ style = bold] +"FAKE30_stop_0 pcmk1" -> "all_stopped" [ style = bold] +"FAKE30_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE36_monitor_10000 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE36_start_0 pcmk1" -> "FAKE36_monitor_10000 pcmk1" [ style = bold] +"FAKE36_start_0 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE37_monitor_10000 pcmk2" [ style=bold color="green" fontcolor="black"] +"FAKE37_start_0 pcmk2" -> "FAKE37_monitor_10000 pcmk2" [ style = bold] +"FAKE37_start_0 pcmk2" [ style=bold color="green" fontcolor="black"] +"FAKE37_stop_0 pcmk1" -> "FAKE37_start_0 pcmk2" [ style = bold] +"FAKE37_stop_0 pcmk1" -> "all_stopped" [ style = bold] +"FAKE37_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE43_monitor_10000 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE43_start_0 pcmk1" -> "FAKE43_monitor_10000 pcmk1" [ style = bold] +"FAKE43_start_0 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE44_monitor_10000 pcmk2" [ style=bold color="green" fontcolor="black"] +"FAKE44_start_0 pcmk2" -> "FAKE44_monitor_10000 pcmk2" [ style = bold] +"FAKE44_start_0 pcmk2" [ style=bold color="green" fontcolor="black"] +"FAKE44_stop_0 pcmk1" -> "FAKE44_start_0 pcmk2" [ style = bold] +"FAKE44_stop_0 pcmk1" -> "all_stopped" [ style = bold] +"FAKE44_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE4_monitor_10000 pcmk_remote3" [ style=bold color="green" fontcolor="black"] +"FAKE4_start_0 pcmk_remote3" -> "FAKE4_monitor_10000 pcmk_remote3" [ style = bold] +"FAKE4_start_0 pcmk_remote3" [ style=bold color="green" fontcolor="black"] +"FAKE50_monitor_10000 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE50_start_0 pcmk1" -> "FAKE50_monitor_10000 pcmk1" [ style = bold] +"FAKE50_start_0 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE9_monitor_10000 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE9_start_0 pcmk1" -> "FAKE9_monitor_10000 pcmk1" [ style = bold] +"FAKE9_start_0 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE9_stop_0 pcmk_remote3" -> "FAKE9_start_0 pcmk1" [ style = bold] +"FAKE9_stop_0 pcmk_remote3" -> "all_stopped" [ style = bold] +"FAKE9_stop_0 pcmk_remote3" [ style=bold color="green" fontcolor="black"] +"all_stopped" [ style=bold color="green" fontcolor="orange"] +"pcmk_remote3_migrate_from_0 pcmk2" -> "pcmk_remote3_start_0 pcmk2" [ style = bold] +"pcmk_remote3_migrate_from_0 pcmk2" -> "pcmk_remote3_stop_0 pcmk1" [ style = bold] +"pcmk_remote3_migrate_from_0 pcmk2" [ style=bold color="green" fontcolor="black"] +"pcmk_remote3_monitor_60000 pcmk2" [ style=bold color="green" fontcolor="black"] +"pcmk_remote3_start_0 pcmk2" -> "FAKE16_monitor_10000 pcmk_remote3" [ style = bold] +"pcmk_remote3_start_0 pcmk2" -> "FAKE16_start_0 pcmk_remote3" [ style = bold] +"pcmk_remote3_start_0 pcmk2" -> "FAKE4_monitor_10000 pcmk_remote3" [ style = bold] +"pcmk_remote3_start_0 pcmk2" -> "FAKE4_start_0 pcmk_remote3" [ style = bold] +"pcmk_remote3_start_0 pcmk2" -> "FAKE9_stop_0 pcmk_remote3" [ style = bold] +"pcmk_remote3_start_0 pcmk2" -> "pcmk_remote3_monitor_60000 pcmk2" [ style = bold] +"pcmk_remote3_start_0 pcmk2" [ style=bold color="green" fontcolor="orange"] +"pcmk_remote3_stop_0 pcmk1" -> "all_stopped" [ style = bold] +"pcmk_remote3_stop_0 pcmk1" -> "pcmk_remote3_start_0 pcmk2" [ style = bold] +"pcmk_remote3_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"] +"probe_complete pcmk_remote1" [ style=bold color="green" fontcolor="black"] +"probe_complete pcmk_remote2" [ style=bold color="green" fontcolor="black"] +"probe_complete pcmk_remote4" [ style=bold color="green" fontcolor="black"] +} diff --git a/pengine/test10/remote-partial-migrate.exp b/pengine/test10/remote-partial-migrate.exp new file mode 100644 index 0000000..0a531df --- /dev/null +++ b/pengine/test10/remote-partial-migrate.exp @@ -0,0 +1,553 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pengine/test10/remote-partial-migrate.scores b/pengine/test10/remote-partial-migrate.scores new file mode 100644 index 0000000..a81602d --- /dev/null +++ b/pengine/test10/remote-partial-migrate.scores @@ -0,0 +1,449 @@ +Allocation scores: +native_color: FAKE1 allocation score on pcmk1: 0 +native_color: FAKE1 allocation score on pcmk2: 0 +native_color: FAKE1 allocation score on pcmk3: 0 +native_color: FAKE1 allocation score on pcmk_remote1: 0 +native_color: FAKE1 allocation score on pcmk_remote2: 0 +native_color: FAKE1 allocation score on pcmk_remote3: 0 +native_color: FAKE1 allocation score on pcmk_remote4: 0 +native_color: FAKE1 allocation score on pcmk_remote5: 0 +native_color: FAKE10 allocation score on pcmk1: 0 +native_color: FAKE10 allocation score on pcmk2: 0 +native_color: FAKE10 allocation score on pcmk3: 0 +native_color: FAKE10 allocation score on pcmk_remote1: 0 +native_color: FAKE10 allocation score on pcmk_remote2: 0 +native_color: FAKE10 allocation score on pcmk_remote3: 0 +native_color: FAKE10 allocation score on pcmk_remote4: 0 +native_color: FAKE10 allocation score on pcmk_remote5: 0 +native_color: FAKE11 allocation score on pcmk1: 0 +native_color: FAKE11 allocation score on pcmk2: 0 +native_color: FAKE11 allocation score on pcmk3: 0 +native_color: FAKE11 allocation score on pcmk_remote1: 0 +native_color: FAKE11 allocation score on pcmk_remote2: 0 +native_color: FAKE11 allocation score on pcmk_remote3: 0 +native_color: FAKE11 allocation score on pcmk_remote4: 0 +native_color: FAKE11 allocation score on pcmk_remote5: 0 +native_color: FAKE12 allocation score on pcmk1: 0 +native_color: FAKE12 allocation score on pcmk2: 0 +native_color: FAKE12 allocation score on pcmk3: 0 +native_color: FAKE12 allocation score on pcmk_remote1: 0 +native_color: FAKE12 allocation score on pcmk_remote2: 0 +native_color: FAKE12 allocation score on pcmk_remote3: 0 +native_color: FAKE12 allocation score on pcmk_remote4: 0 +native_color: FAKE12 allocation score on pcmk_remote5: 0 +native_color: FAKE13 allocation score on pcmk1: 0 +native_color: FAKE13 allocation score on pcmk2: 0 +native_color: FAKE13 allocation score on pcmk3: 0 +native_color: FAKE13 allocation score on pcmk_remote1: 0 +native_color: FAKE13 allocation score on pcmk_remote2: 0 +native_color: FAKE13 allocation score on pcmk_remote3: 0 +native_color: FAKE13 allocation score on pcmk_remote4: 0 +native_color: FAKE13 allocation score on pcmk_remote5: 0 +native_color: FAKE14 allocation score on pcmk1: 0 +native_color: FAKE14 allocation score on pcmk2: 0 +native_color: FAKE14 allocation score on pcmk3: 0 +native_color: FAKE14 allocation score on pcmk_remote1: 0 +native_color: FAKE14 allocation score on pcmk_remote2: 0 +native_color: FAKE14 allocation score on pcmk_remote3: 0 +native_color: FAKE14 allocation score on pcmk_remote4: 0 +native_color: FAKE14 allocation score on pcmk_remote5: 0 +native_color: FAKE15 allocation score on pcmk1: 0 +native_color: FAKE15 allocation score on pcmk2: 0 +native_color: FAKE15 allocation score on pcmk3: 0 +native_color: FAKE15 allocation score on pcmk_remote1: 0 +native_color: FAKE15 allocation score on pcmk_remote2: 0 +native_color: FAKE15 allocation score on pcmk_remote3: 0 +native_color: FAKE15 allocation score on pcmk_remote4: 0 +native_color: FAKE15 allocation score on pcmk_remote5: 0 +native_color: FAKE16 allocation score on pcmk1: 0 +native_color: FAKE16 allocation score on pcmk2: 0 +native_color: FAKE16 allocation score on pcmk3: 0 +native_color: FAKE16 allocation score on pcmk_remote1: 0 +native_color: FAKE16 allocation score on pcmk_remote2: 0 +native_color: FAKE16 allocation score on pcmk_remote3: 0 +native_color: FAKE16 allocation score on pcmk_remote4: 0 +native_color: FAKE16 allocation score on pcmk_remote5: 0 +native_color: FAKE17 allocation score on pcmk1: 0 +native_color: FAKE17 allocation score on pcmk2: 0 +native_color: FAKE17 allocation score on pcmk3: 0 +native_color: FAKE17 allocation score on pcmk_remote1: 0 +native_color: FAKE17 allocation score on pcmk_remote2: 0 +native_color: FAKE17 allocation score on pcmk_remote3: 0 +native_color: FAKE17 allocation score on pcmk_remote4: 0 +native_color: FAKE17 allocation score on pcmk_remote5: 0 +native_color: FAKE18 allocation score on pcmk1: 0 +native_color: FAKE18 allocation score on pcmk2: 0 +native_color: FAKE18 allocation score on pcmk3: 0 +native_color: FAKE18 allocation score on pcmk_remote1: 0 +native_color: FAKE18 allocation score on pcmk_remote2: 0 +native_color: FAKE18 allocation score on pcmk_remote3: 0 +native_color: FAKE18 allocation score on pcmk_remote4: 0 +native_color: FAKE18 allocation score on pcmk_remote5: 0 +native_color: FAKE19 allocation score on pcmk1: 0 +native_color: FAKE19 allocation score on pcmk2: 0 +native_color: FAKE19 allocation score on pcmk3: 0 +native_color: FAKE19 allocation score on pcmk_remote1: 0 +native_color: FAKE19 allocation score on pcmk_remote2: 0 +native_color: FAKE19 allocation score on pcmk_remote3: 0 +native_color: FAKE19 allocation score on pcmk_remote4: 0 +native_color: FAKE19 allocation score on pcmk_remote5: 0 +native_color: FAKE2 allocation score on pcmk1: 0 +native_color: FAKE2 allocation score on pcmk2: 0 +native_color: FAKE2 allocation score on pcmk3: 0 +native_color: FAKE2 allocation score on pcmk_remote1: 0 +native_color: FAKE2 allocation score on pcmk_remote2: 0 +native_color: FAKE2 allocation score on pcmk_remote3: 0 +native_color: FAKE2 allocation score on pcmk_remote4: 0 +native_color: FAKE2 allocation score on pcmk_remote5: 0 +native_color: FAKE20 allocation score on pcmk1: 0 +native_color: FAKE20 allocation score on pcmk2: 0 +native_color: FAKE20 allocation score on pcmk3: 0 +native_color: FAKE20 allocation score on pcmk_remote1: 0 +native_color: FAKE20 allocation score on pcmk_remote2: 0 +native_color: FAKE20 allocation score on pcmk_remote3: 0 +native_color: FAKE20 allocation score on pcmk_remote4: 0 +native_color: FAKE20 allocation score on pcmk_remote5: 0 +native_color: FAKE21 allocation score on pcmk1: 0 +native_color: FAKE21 allocation score on pcmk2: 0 +native_color: FAKE21 allocation score on pcmk3: 0 +native_color: FAKE21 allocation score on pcmk_remote1: 0 +native_color: FAKE21 allocation score on pcmk_remote2: 0 +native_color: FAKE21 allocation score on pcmk_remote3: 0 +native_color: FAKE21 allocation score on pcmk_remote4: 0 +native_color: FAKE21 allocation score on pcmk_remote5: 0 +native_color: FAKE22 allocation score on pcmk1: 0 +native_color: FAKE22 allocation score on pcmk2: 0 +native_color: FAKE22 allocation score on pcmk3: 0 +native_color: FAKE22 allocation score on pcmk_remote1: 0 +native_color: FAKE22 allocation score on pcmk_remote2: 0 +native_color: FAKE22 allocation score on pcmk_remote3: 0 +native_color: FAKE22 allocation score on pcmk_remote4: 0 +native_color: FAKE22 allocation score on pcmk_remote5: 0 +native_color: FAKE23 allocation score on pcmk1: 0 +native_color: FAKE23 allocation score on pcmk2: 0 +native_color: FAKE23 allocation score on pcmk3: 0 +native_color: FAKE23 allocation score on pcmk_remote1: 0 +native_color: FAKE23 allocation score on pcmk_remote2: 0 +native_color: FAKE23 allocation score on pcmk_remote3: 0 +native_color: FAKE23 allocation score on pcmk_remote4: 0 +native_color: FAKE23 allocation score on pcmk_remote5: 0 +native_color: FAKE24 allocation score on pcmk1: 0 +native_color: FAKE24 allocation score on pcmk2: 0 +native_color: FAKE24 allocation score on pcmk3: 0 +native_color: FAKE24 allocation score on pcmk_remote1: 0 +native_color: FAKE24 allocation score on pcmk_remote2: 0 +native_color: FAKE24 allocation score on pcmk_remote3: 0 +native_color: FAKE24 allocation score on pcmk_remote4: 0 +native_color: FAKE24 allocation score on pcmk_remote5: 0 +native_color: FAKE25 allocation score on pcmk1: 0 +native_color: FAKE25 allocation score on pcmk2: 0 +native_color: FAKE25 allocation score on pcmk3: 0 +native_color: FAKE25 allocation score on pcmk_remote1: 0 +native_color: FAKE25 allocation score on pcmk_remote2: 0 +native_color: FAKE25 allocation score on pcmk_remote3: 0 +native_color: FAKE25 allocation score on pcmk_remote4: 0 +native_color: FAKE25 allocation score on pcmk_remote5: 0 +native_color: FAKE26 allocation score on pcmk1: 0 +native_color: FAKE26 allocation score on pcmk2: 0 +native_color: FAKE26 allocation score on pcmk3: 0 +native_color: FAKE26 allocation score on pcmk_remote1: 0 +native_color: FAKE26 allocation score on pcmk_remote2: 0 +native_color: FAKE26 allocation score on pcmk_remote3: 0 +native_color: FAKE26 allocation score on pcmk_remote4: 0 +native_color: FAKE26 allocation score on pcmk_remote5: 0 +native_color: FAKE27 allocation score on pcmk1: 0 +native_color: FAKE27 allocation score on pcmk2: 0 +native_color: FAKE27 allocation score on pcmk3: 0 +native_color: FAKE27 allocation score on pcmk_remote1: 0 +native_color: FAKE27 allocation score on pcmk_remote2: 0 +native_color: FAKE27 allocation score on pcmk_remote3: 0 +native_color: FAKE27 allocation score on pcmk_remote4: 0 +native_color: FAKE27 allocation score on pcmk_remote5: 0 +native_color: FAKE28 allocation score on pcmk1: 0 +native_color: FAKE28 allocation score on pcmk2: 0 +native_color: FAKE28 allocation score on pcmk3: 0 +native_color: FAKE28 allocation score on pcmk_remote1: 0 +native_color: FAKE28 allocation score on pcmk_remote2: 0 +native_color: FAKE28 allocation score on pcmk_remote3: 0 +native_color: FAKE28 allocation score on pcmk_remote4: 0 +native_color: FAKE28 allocation score on pcmk_remote5: 0 +native_color: FAKE29 allocation score on pcmk1: 0 +native_color: FAKE29 allocation score on pcmk2: 0 +native_color: FAKE29 allocation score on pcmk3: 0 +native_color: FAKE29 allocation score on pcmk_remote1: 0 +native_color: FAKE29 allocation score on pcmk_remote2: 0 +native_color: FAKE29 allocation score on pcmk_remote3: 0 +native_color: FAKE29 allocation score on pcmk_remote4: 0 +native_color: FAKE29 allocation score on pcmk_remote5: 0 +native_color: FAKE3 allocation score on pcmk1: 0 +native_color: FAKE3 allocation score on pcmk2: 0 +native_color: FAKE3 allocation score on pcmk3: 0 +native_color: FAKE3 allocation score on pcmk_remote1: 0 +native_color: FAKE3 allocation score on pcmk_remote2: 0 +native_color: FAKE3 allocation score on pcmk_remote3: 0 +native_color: FAKE3 allocation score on pcmk_remote4: 0 +native_color: FAKE3 allocation score on pcmk_remote5: 0 +native_color: FAKE30 allocation score on pcmk1: 0 +native_color: FAKE30 allocation score on pcmk2: 0 +native_color: FAKE30 allocation score on pcmk3: 0 +native_color: FAKE30 allocation score on pcmk_remote1: 0 +native_color: FAKE30 allocation score on pcmk_remote2: 0 +native_color: FAKE30 allocation score on pcmk_remote3: 0 +native_color: FAKE30 allocation score on pcmk_remote4: 0 +native_color: FAKE30 allocation score on pcmk_remote5: 0 +native_color: FAKE31 allocation score on pcmk1: 0 +native_color: FAKE31 allocation score on pcmk2: 0 +native_color: FAKE31 allocation score on pcmk3: 0 +native_color: FAKE31 allocation score on pcmk_remote1: 0 +native_color: FAKE31 allocation score on pcmk_remote2: 0 +native_color: FAKE31 allocation score on pcmk_remote3: 0 +native_color: FAKE31 allocation score on pcmk_remote4: 0 +native_color: FAKE31 allocation score on pcmk_remote5: 0 +native_color: FAKE32 allocation score on pcmk1: 0 +native_color: FAKE32 allocation score on pcmk2: 0 +native_color: FAKE32 allocation score on pcmk3: 0 +native_color: FAKE32 allocation score on pcmk_remote1: 0 +native_color: FAKE32 allocation score on pcmk_remote2: 0 +native_color: FAKE32 allocation score on pcmk_remote3: 0 +native_color: FAKE32 allocation score on pcmk_remote4: 0 +native_color: FAKE32 allocation score on pcmk_remote5: 0 +native_color: FAKE33 allocation score on pcmk1: 0 +native_color: FAKE33 allocation score on pcmk2: 0 +native_color: FAKE33 allocation score on pcmk3: 0 +native_color: FAKE33 allocation score on pcmk_remote1: 0 +native_color: FAKE33 allocation score on pcmk_remote2: 0 +native_color: FAKE33 allocation score on pcmk_remote3: 0 +native_color: FAKE33 allocation score on pcmk_remote4: 0 +native_color: FAKE33 allocation score on pcmk_remote5: 0 +native_color: FAKE34 allocation score on pcmk1: 0 +native_color: FAKE34 allocation score on pcmk2: 0 +native_color: FAKE34 allocation score on pcmk3: 0 +native_color: FAKE34 allocation score on pcmk_remote1: 0 +native_color: FAKE34 allocation score on pcmk_remote2: 0 +native_color: FAKE34 allocation score on pcmk_remote3: 0 +native_color: FAKE34 allocation score on pcmk_remote4: 0 +native_color: FAKE34 allocation score on pcmk_remote5: 0 +native_color: FAKE35 allocation score on pcmk1: 0 +native_color: FAKE35 allocation score on pcmk2: 0 +native_color: FAKE35 allocation score on pcmk3: 0 +native_color: FAKE35 allocation score on pcmk_remote1: 0 +native_color: FAKE35 allocation score on pcmk_remote2: 0 +native_color: FAKE35 allocation score on pcmk_remote3: 0 +native_color: FAKE35 allocation score on pcmk_remote4: 0 +native_color: FAKE35 allocation score on pcmk_remote5: 0 +native_color: FAKE36 allocation score on pcmk1: 0 +native_color: FAKE36 allocation score on pcmk2: 0 +native_color: FAKE36 allocation score on pcmk3: 0 +native_color: FAKE36 allocation score on pcmk_remote1: 0 +native_color: FAKE36 allocation score on pcmk_remote2: 0 +native_color: FAKE36 allocation score on pcmk_remote3: 0 +native_color: FAKE36 allocation score on pcmk_remote4: 0 +native_color: FAKE36 allocation score on pcmk_remote5: 0 +native_color: FAKE37 allocation score on pcmk1: 0 +native_color: FAKE37 allocation score on pcmk2: 0 +native_color: FAKE37 allocation score on pcmk3: 0 +native_color: FAKE37 allocation score on pcmk_remote1: 0 +native_color: FAKE37 allocation score on pcmk_remote2: 0 +native_color: FAKE37 allocation score on pcmk_remote3: 0 +native_color: FAKE37 allocation score on pcmk_remote4: 0 +native_color: FAKE37 allocation score on pcmk_remote5: 0 +native_color: FAKE38 allocation score on pcmk1: 0 +native_color: FAKE38 allocation score on pcmk2: 0 +native_color: FAKE38 allocation score on pcmk3: 0 +native_color: FAKE38 allocation score on pcmk_remote1: 0 +native_color: FAKE38 allocation score on pcmk_remote2: 0 +native_color: FAKE38 allocation score on pcmk_remote3: 0 +native_color: FAKE38 allocation score on pcmk_remote4: 0 +native_color: FAKE38 allocation score on pcmk_remote5: 0 +native_color: FAKE39 allocation score on pcmk1: 0 +native_color: FAKE39 allocation score on pcmk2: 0 +native_color: FAKE39 allocation score on pcmk3: 0 +native_color: FAKE39 allocation score on pcmk_remote1: 0 +native_color: FAKE39 allocation score on pcmk_remote2: 0 +native_color: FAKE39 allocation score on pcmk_remote3: 0 +native_color: FAKE39 allocation score on pcmk_remote4: 0 +native_color: FAKE39 allocation score on pcmk_remote5: 0 +native_color: FAKE4 allocation score on pcmk1: 0 +native_color: FAKE4 allocation score on pcmk2: 0 +native_color: FAKE4 allocation score on pcmk3: 0 +native_color: FAKE4 allocation score on pcmk_remote1: 0 +native_color: FAKE4 allocation score on pcmk_remote2: 0 +native_color: FAKE4 allocation score on pcmk_remote3: 0 +native_color: FAKE4 allocation score on pcmk_remote4: 0 +native_color: FAKE4 allocation score on pcmk_remote5: 0 +native_color: FAKE40 allocation score on pcmk1: 0 +native_color: FAKE40 allocation score on pcmk2: 0 +native_color: FAKE40 allocation score on pcmk3: 0 +native_color: FAKE40 allocation score on pcmk_remote1: 0 +native_color: FAKE40 allocation score on pcmk_remote2: 0 +native_color: FAKE40 allocation score on pcmk_remote3: 0 +native_color: FAKE40 allocation score on pcmk_remote4: 0 +native_color: FAKE40 allocation score on pcmk_remote5: 0 +native_color: FAKE41 allocation score on pcmk1: 0 +native_color: FAKE41 allocation score on pcmk2: 0 +native_color: FAKE41 allocation score on pcmk3: 0 +native_color: FAKE41 allocation score on pcmk_remote1: 0 +native_color: FAKE41 allocation score on pcmk_remote2: 0 +native_color: FAKE41 allocation score on pcmk_remote3: 0 +native_color: FAKE41 allocation score on pcmk_remote4: 0 +native_color: FAKE41 allocation score on pcmk_remote5: 0 +native_color: FAKE42 allocation score on pcmk1: 0 +native_color: FAKE42 allocation score on pcmk2: 0 +native_color: FAKE42 allocation score on pcmk3: 0 +native_color: FAKE42 allocation score on pcmk_remote1: 0 +native_color: FAKE42 allocation score on pcmk_remote2: 0 +native_color: FAKE42 allocation score on pcmk_remote3: 0 +native_color: FAKE42 allocation score on pcmk_remote4: 0 +native_color: FAKE42 allocation score on pcmk_remote5: 0 +native_color: FAKE43 allocation score on pcmk1: 0 +native_color: FAKE43 allocation score on pcmk2: 0 +native_color: FAKE43 allocation score on pcmk3: 0 +native_color: FAKE43 allocation score on pcmk_remote1: 0 +native_color: FAKE43 allocation score on pcmk_remote2: 0 +native_color: FAKE43 allocation score on pcmk_remote3: 0 +native_color: FAKE43 allocation score on pcmk_remote4: 0 +native_color: FAKE43 allocation score on pcmk_remote5: 0 +native_color: FAKE44 allocation score on pcmk1: 0 +native_color: FAKE44 allocation score on pcmk2: 0 +native_color: FAKE44 allocation score on pcmk3: 0 +native_color: FAKE44 allocation score on pcmk_remote1: 0 +native_color: FAKE44 allocation score on pcmk_remote2: 0 +native_color: FAKE44 allocation score on pcmk_remote3: 0 +native_color: FAKE44 allocation score on pcmk_remote4: 0 +native_color: FAKE44 allocation score on pcmk_remote5: 0 +native_color: FAKE45 allocation score on pcmk1: 0 +native_color: FAKE45 allocation score on pcmk2: 0 +native_color: FAKE45 allocation score on pcmk3: 0 +native_color: FAKE45 allocation score on pcmk_remote1: 0 +native_color: FAKE45 allocation score on pcmk_remote2: 0 +native_color: FAKE45 allocation score on pcmk_remote3: 0 +native_color: FAKE45 allocation score on pcmk_remote4: 0 +native_color: FAKE45 allocation score on pcmk_remote5: 0 +native_color: FAKE46 allocation score on pcmk1: 0 +native_color: FAKE46 allocation score on pcmk2: 0 +native_color: FAKE46 allocation score on pcmk3: 0 +native_color: FAKE46 allocation score on pcmk_remote1: 0 +native_color: FAKE46 allocation score on pcmk_remote2: 0 +native_color: FAKE46 allocation score on pcmk_remote3: 0 +native_color: FAKE46 allocation score on pcmk_remote4: 0 +native_color: FAKE46 allocation score on pcmk_remote5: 0 +native_color: FAKE47 allocation score on pcmk1: 0 +native_color: FAKE47 allocation score on pcmk2: 0 +native_color: FAKE47 allocation score on pcmk3: 0 +native_color: FAKE47 allocation score on pcmk_remote1: 0 +native_color: FAKE47 allocation score on pcmk_remote2: 0 +native_color: FAKE47 allocation score on pcmk_remote3: 0 +native_color: FAKE47 allocation score on pcmk_remote4: 0 +native_color: FAKE47 allocation score on pcmk_remote5: 0 +native_color: FAKE48 allocation score on pcmk1: 0 +native_color: FAKE48 allocation score on pcmk2: 0 +native_color: FAKE48 allocation score on pcmk3: 0 +native_color: FAKE48 allocation score on pcmk_remote1: 0 +native_color: FAKE48 allocation score on pcmk_remote2: 0 +native_color: FAKE48 allocation score on pcmk_remote3: 0 +native_color: FAKE48 allocation score on pcmk_remote4: 0 +native_color: FAKE48 allocation score on pcmk_remote5: 0 +native_color: FAKE49 allocation score on pcmk1: 0 +native_color: FAKE49 allocation score on pcmk2: 0 +native_color: FAKE49 allocation score on pcmk3: 0 +native_color: FAKE49 allocation score on pcmk_remote1: 0 +native_color: FAKE49 allocation score on pcmk_remote2: 0 +native_color: FAKE49 allocation score on pcmk_remote3: 0 +native_color: FAKE49 allocation score on pcmk_remote4: 0 +native_color: FAKE49 allocation score on pcmk_remote5: 0 +native_color: FAKE5 allocation score on pcmk1: 0 +native_color: FAKE5 allocation score on pcmk2: 0 +native_color: FAKE5 allocation score on pcmk3: 0 +native_color: FAKE5 allocation score on pcmk_remote1: 0 +native_color: FAKE5 allocation score on pcmk_remote2: 0 +native_color: FAKE5 allocation score on pcmk_remote3: 0 +native_color: FAKE5 allocation score on pcmk_remote4: 0 +native_color: FAKE5 allocation score on pcmk_remote5: 0 +native_color: FAKE50 allocation score on pcmk1: 0 +native_color: FAKE50 allocation score on pcmk2: 0 +native_color: FAKE50 allocation score on pcmk3: 0 +native_color: FAKE50 allocation score on pcmk_remote1: 0 +native_color: FAKE50 allocation score on pcmk_remote2: 0 +native_color: FAKE50 allocation score on pcmk_remote3: 0 +native_color: FAKE50 allocation score on pcmk_remote4: 0 +native_color: FAKE50 allocation score on pcmk_remote5: 0 +native_color: FAKE6 allocation score on pcmk1: 0 +native_color: FAKE6 allocation score on pcmk2: 0 +native_color: FAKE6 allocation score on pcmk3: 0 +native_color: FAKE6 allocation score on pcmk_remote1: 0 +native_color: FAKE6 allocation score on pcmk_remote2: 0 +native_color: FAKE6 allocation score on pcmk_remote3: 0 +native_color: FAKE6 allocation score on pcmk_remote4: 0 +native_color: FAKE6 allocation score on pcmk_remote5: 0 +native_color: FAKE7 allocation score on pcmk1: 0 +native_color: FAKE7 allocation score on pcmk2: 0 +native_color: FAKE7 allocation score on pcmk3: 0 +native_color: FAKE7 allocation score on pcmk_remote1: 0 +native_color: FAKE7 allocation score on pcmk_remote2: 0 +native_color: FAKE7 allocation score on pcmk_remote3: 0 +native_color: FAKE7 allocation score on pcmk_remote4: 0 +native_color: FAKE7 allocation score on pcmk_remote5: 0 +native_color: FAKE8 allocation score on pcmk1: 0 +native_color: FAKE8 allocation score on pcmk2: 0 +native_color: FAKE8 allocation score on pcmk3: 0 +native_color: FAKE8 allocation score on pcmk_remote1: 0 +native_color: FAKE8 allocation score on pcmk_remote2: 0 +native_color: FAKE8 allocation score on pcmk_remote3: 0 +native_color: FAKE8 allocation score on pcmk_remote4: 0 +native_color: FAKE8 allocation score on pcmk_remote5: 0 +native_color: FAKE9 allocation score on pcmk1: 0 +native_color: FAKE9 allocation score on pcmk2: -INFINITY +native_color: FAKE9 allocation score on pcmk3: 0 +native_color: FAKE9 allocation score on pcmk_remote1: 0 +native_color: FAKE9 allocation score on pcmk_remote2: 0 +native_color: FAKE9 allocation score on pcmk_remote3: 0 +native_color: FAKE9 allocation score on pcmk_remote4: 0 +native_color: FAKE9 allocation score on pcmk_remote5: 0 +native_color: pcmk_remote1 allocation score on pcmk1: 0 +native_color: pcmk_remote1 allocation score on pcmk2: 0 +native_color: pcmk_remote1 allocation score on pcmk3: 0 +native_color: pcmk_remote1 allocation score on pcmk_remote1: -INFINITY +native_color: pcmk_remote1 allocation score on pcmk_remote2: -INFINITY +native_color: pcmk_remote1 allocation score on pcmk_remote3: -INFINITY +native_color: pcmk_remote1 allocation score on pcmk_remote4: -INFINITY +native_color: pcmk_remote1 allocation score on pcmk_remote5: -INFINITY +native_color: pcmk_remote2 allocation score on pcmk1: 0 +native_color: pcmk_remote2 allocation score on pcmk2: 0 +native_color: pcmk_remote2 allocation score on pcmk3: 0 +native_color: pcmk_remote2 allocation score on pcmk_remote1: -INFINITY +native_color: pcmk_remote2 allocation score on pcmk_remote2: -INFINITY +native_color: pcmk_remote2 allocation score on pcmk_remote3: -INFINITY +native_color: pcmk_remote2 allocation score on pcmk_remote4: -INFINITY +native_color: pcmk_remote2 allocation score on pcmk_remote5: -INFINITY +native_color: pcmk_remote3 allocation score on pcmk1: 0 +native_color: pcmk_remote3 allocation score on pcmk2: 0 +native_color: pcmk_remote3 allocation score on pcmk3: 0 +native_color: pcmk_remote3 allocation score on pcmk_remote1: -INFINITY +native_color: pcmk_remote3 allocation score on pcmk_remote2: -INFINITY +native_color: pcmk_remote3 allocation score on pcmk_remote3: -INFINITY +native_color: pcmk_remote3 allocation score on pcmk_remote4: -INFINITY +native_color: pcmk_remote3 allocation score on pcmk_remote5: -INFINITY +native_color: pcmk_remote4 allocation score on pcmk1: 0 +native_color: pcmk_remote4 allocation score on pcmk2: 0 +native_color: pcmk_remote4 allocation score on pcmk3: 0 +native_color: pcmk_remote4 allocation score on pcmk_remote1: -INFINITY +native_color: pcmk_remote4 allocation score on pcmk_remote2: -INFINITY +native_color: pcmk_remote4 allocation score on pcmk_remote3: -INFINITY +native_color: pcmk_remote4 allocation score on pcmk_remote4: -INFINITY +native_color: pcmk_remote4 allocation score on pcmk_remote5: -INFINITY +native_color: pcmk_remote5 allocation score on pcmk1: -INFINITY +native_color: pcmk_remote5 allocation score on pcmk2: -INFINITY +native_color: pcmk_remote5 allocation score on pcmk3: -INFINITY +native_color: pcmk_remote5 allocation score on pcmk_remote1: -INFINITY +native_color: pcmk_remote5 allocation score on pcmk_remote2: -INFINITY +native_color: pcmk_remote5 allocation score on pcmk_remote3: -INFINITY +native_color: pcmk_remote5 allocation score on pcmk_remote4: -INFINITY +native_color: pcmk_remote5 allocation score on pcmk_remote5: -INFINITY +native_color: shooter allocation score on pcmk1: 0 +native_color: shooter allocation score on pcmk2: 0 +native_color: shooter allocation score on pcmk3: 0 +native_color: shooter allocation score on pcmk_remote1: -INFINITY +native_color: shooter allocation score on pcmk_remote2: -INFINITY +native_color: shooter allocation score on pcmk_remote3: -INFINITY +native_color: shooter allocation score on pcmk_remote4: -INFINITY +native_color: shooter allocation score on pcmk_remote5: -INFINITY diff --git a/pengine/test10/remote-partial-migrate.summary b/pengine/test10/remote-partial-migrate.summary new file mode 100644 index 0000000..e8abf92 --- /dev/null +++ b/pengine/test10/remote-partial-migrate.summary @@ -0,0 +1,189 @@ + +Current cluster status: +Online: [ pcmk1 pcmk2 pcmk3 ] +RemoteOnline: [ pcmk_remote1 pcmk_remote2 pcmk_remote3 pcmk_remote4 ] +RemoteOFFLINE: [ pcmk_remote5 ] + + shooter (stonith:fence_docker_cts): Started pcmk2 + pcmk_remote1 (ocf::pacemaker:remote): Started pcmk1 + pcmk_remote2 (ocf::pacemaker:remote): Started pcmk3 + pcmk_remote3 (ocf::pacemaker:remote): Started [ pcmk2 pcmk1 ] + pcmk_remote4 (ocf::pacemaker:remote): Started pcmk3 + pcmk_remote5 (ocf::pacemaker:remote): Stopped + FAKE1 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE2 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE3 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE4 (ocf::heartbeat:Dummy): Stopped + FAKE5 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE6 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE7 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE8 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE9 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE10 (ocf::heartbeat:Dummy): Stopped + FAKE11 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE12 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE13 (ocf::heartbeat:Dummy): Stopped + FAKE14 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE15 (ocf::heartbeat:Dummy): Stopped + FAKE16 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE17 (ocf::heartbeat:Dummy): Started pcmk3 + FAKE18 (ocf::heartbeat:Dummy): Started pcmk2 + FAKE19 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE20 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE21 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE22 (ocf::heartbeat:Dummy): Stopped + FAKE23 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE24 (ocf::heartbeat:Dummy): Started pcmk3 + FAKE25 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE26 (ocf::heartbeat:Dummy): Stopped + FAKE27 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE28 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE29 (ocf::heartbeat:Dummy): Stopped + FAKE30 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE31 (ocf::heartbeat:Dummy): Started pcmk3 + FAKE32 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE33 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE34 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE35 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE36 (ocf::heartbeat:Dummy): Stopped + FAKE37 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE38 (ocf::heartbeat:Dummy): Started pcmk3 + FAKE39 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE40 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE41 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE42 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE43 (ocf::heartbeat:Dummy): Stopped + FAKE44 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE45 (ocf::heartbeat:Dummy): Started pcmk3 + FAKE46 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE47 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE48 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE49 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE50 (ocf::heartbeat:Dummy): Stopped + +Transition Summary: + * Migrate pcmk_remote3 (Started pcmk1 -> pcmk2) + * Start FAKE4 (pcmk_remote3) + * Move FAKE9 (Started pcmk_remote3 -> pcmk1) + * Start FAKE10 (pcmk1) + * Start FAKE13 (pcmk2) + * Start FAKE15 (pcmk3) + * Move FAKE16 (Started pcmk1 -> pcmk_remote3) + * Start FAKE22 (pcmk1) + * Move FAKE23 (Started pcmk1 -> pcmk_remote1) + * Start FAKE26 (pcmk1) + * Start FAKE29 (pcmk2) + * Move FAKE30 (Started pcmk1 -> pcmk_remote2) + * Start FAKE36 (pcmk1) + * Move FAKE37 (Started pcmk1 -> pcmk2) + * Start FAKE43 (pcmk1) + * Move FAKE44 (Started pcmk1 -> pcmk2) + * Start FAKE50 (pcmk1) + +Executing cluster transition: + * Resource action: pcmk_remote3 migrate_from on pcmk2 + * Resource action: pcmk_remote3 stop on pcmk1 + * Resource action: FAKE10 start on pcmk1 + * Resource action: FAKE13 start on pcmk2 + * Resource action: FAKE15 start on pcmk3 + * Resource action: FAKE16 stop on pcmk1 + * Resource action: FAKE22 start on pcmk1 + * Resource action: FAKE23 stop on pcmk1 + * Resource action: FAKE26 start on pcmk1 + * Resource action: FAKE29 start on pcmk2 + * Resource action: FAKE30 stop on pcmk1 + * Resource action: FAKE36 start on pcmk1 + * Resource action: FAKE37 stop on pcmk1 + * Resource action: FAKE43 start on pcmk1 + * Resource action: FAKE44 stop on pcmk1 + * Resource action: FAKE50 start on pcmk1 + * Pseudo action: pcmk_remote3_start_0 + * Resource action: FAKE4 start on pcmk_remote3 + * Resource action: FAKE9 stop on pcmk_remote3 + * Resource action: FAKE10 monitor=10000 on pcmk1 + * Resource action: FAKE13 monitor=10000 on pcmk2 + * Resource action: FAKE15 monitor=10000 on pcmk3 + * Resource action: FAKE16 start on pcmk_remote3 + * Resource action: FAKE22 monitor=10000 on pcmk1 + * Resource action: FAKE23 start on pcmk_remote1 + * Resource action: FAKE26 monitor=10000 on pcmk1 + * Resource action: FAKE29 monitor=10000 on pcmk2 + * Resource action: FAKE30 start on pcmk_remote2 + * Resource action: FAKE36 monitor=10000 on pcmk1 + * Resource action: FAKE37 start on pcmk2 + * Resource action: FAKE43 monitor=10000 on pcmk1 + * Resource action: FAKE44 start on pcmk2 + * Resource action: FAKE50 monitor=10000 on pcmk1 + * Pseudo action: all_stopped + * Resource action: pcmk_remote3 monitor=60000 on pcmk2 + * Resource action: FAKE4 monitor=10000 on pcmk_remote3 + * Resource action: FAKE9 start on pcmk1 + * Resource action: FAKE16 monitor=10000 on pcmk_remote3 + * Resource action: FAKE23 monitor=10000 on pcmk_remote1 + * Resource action: FAKE30 monitor=10000 on pcmk_remote2 + * Resource action: FAKE37 monitor=10000 on pcmk2 + * Resource action: FAKE44 monitor=10000 on pcmk2 + * Resource action: FAKE9 monitor=10000 on pcmk1 + +Revised cluster status: +Online: [ pcmk1 pcmk2 pcmk3 ] +RemoteOnline: [ pcmk_remote1 pcmk_remote2 pcmk_remote3 pcmk_remote4 ] +RemoteOFFLINE: [ pcmk_remote5 ] + + shooter (stonith:fence_docker_cts): Started pcmk2 + pcmk_remote1 (ocf::pacemaker:remote): Started pcmk1 + pcmk_remote2 (ocf::pacemaker:remote): Started pcmk3 + pcmk_remote3 (ocf::pacemaker:remote): Started pcmk2 + pcmk_remote4 (ocf::pacemaker:remote): Started pcmk3 + pcmk_remote5 (ocf::pacemaker:remote): Stopped + FAKE1 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE2 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE3 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE4 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE5 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE6 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE7 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE8 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE9 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE10 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE11 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE12 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE13 (ocf::heartbeat:Dummy): Started pcmk2 + FAKE14 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE15 (ocf::heartbeat:Dummy): Started pcmk3 + FAKE16 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE17 (ocf::heartbeat:Dummy): Started pcmk3 + FAKE18 (ocf::heartbeat:Dummy): Started pcmk2 + FAKE19 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE20 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE21 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE22 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE23 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE24 (ocf::heartbeat:Dummy): Started pcmk3 + FAKE25 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE26 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE27 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE28 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE29 (ocf::heartbeat:Dummy): Started pcmk2 + FAKE30 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE31 (ocf::heartbeat:Dummy): Started pcmk3 + FAKE32 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE33 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE34 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE35 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE36 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE37 (ocf::heartbeat:Dummy): Started pcmk2 + FAKE38 (ocf::heartbeat:Dummy): Started pcmk3 + FAKE39 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE40 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE41 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE42 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE43 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE44 (ocf::heartbeat:Dummy): Started pcmk2 + FAKE45 (ocf::heartbeat:Dummy): Started pcmk3 + FAKE46 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE47 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE48 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE49 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE50 (ocf::heartbeat:Dummy): Started pcmk1 + diff --git a/pengine/test10/remote-partial-migrate.xml b/pengine/test10/remote-partial-migrate.xml new file mode 100644 index 0000000..e71f029 --- /dev/null +++ b/pengine/test10/remote-partial-migrate.xml @@ -0,0 +1,1734 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pengine/test10/remote-partial-migrate2.dot b/pengine/test10/remote-partial-migrate2.dot new file mode 100644 index 0000000..a8bf29b --- /dev/null +++ b/pengine/test10/remote-partial-migrate2.dot @@ -0,0 +1,159 @@ + digraph "g" { +"FAKE12_monitor_10000 pcmk2" [ style=bold color="green" fontcolor="black"] +"FAKE12_start_0 pcmk2" -> "FAKE12_monitor_10000 pcmk2" [ style = bold] +"FAKE12_start_0 pcmk2" [ style=bold color="green" fontcolor="black"] +"FAKE12_stop_0 pcmk1" -> "FAKE12_start_0 pcmk2" [ style = bold] +"FAKE12_stop_0 pcmk1" -> "all_stopped" [ style = bold] +"FAKE12_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE14_monitor_10000 pcmk_remote1" [ style=bold color="green" fontcolor="black"] +"FAKE14_start_0 pcmk_remote1" -> "FAKE14_monitor_10000 pcmk_remote1" [ style = bold] +"FAKE14_start_0 pcmk_remote1" [ style=bold color="green" fontcolor="black"] +"FAKE14_stop_0 pcmk2" -> "FAKE14_start_0 pcmk_remote1" [ style = bold] +"FAKE14_stop_0 pcmk2" -> "all_stopped" [ style = bold] +"FAKE14_stop_0 pcmk2" [ style=bold color="green" fontcolor="black"] +"FAKE17_monitor_10000 pcmk_remote4" [ style=bold color="green" fontcolor="black"] +"FAKE17_start_0 pcmk_remote4" -> "FAKE17_monitor_10000 pcmk_remote4" [ style = bold] +"FAKE17_start_0 pcmk_remote4" [ style=bold color="green" fontcolor="black"] +"FAKE17_stop_0 pcmk_remote1" -> "FAKE17_start_0 pcmk_remote4" [ style = bold] +"FAKE17_stop_0 pcmk_remote1" -> "all_stopped" [ style = bold] +"FAKE17_stop_0 pcmk_remote1" [ style=bold color="green" fontcolor="black"] +"FAKE25_monitor_10000 pcmk_remote4" [ style=bold color="green" fontcolor="black"] +"FAKE25_start_0 pcmk_remote4" -> "FAKE25_monitor_10000 pcmk_remote4" [ style = bold] +"FAKE25_start_0 pcmk_remote4" [ style=bold color="green" fontcolor="black"] +"FAKE25_stop_0 pcmk_remote1" -> "FAKE25_start_0 pcmk_remote4" [ style = bold] +"FAKE25_stop_0 pcmk_remote1" -> "all_stopped" [ style = bold] +"FAKE25_stop_0 pcmk_remote1" [ style=bold color="green" fontcolor="black"] +"FAKE28_monitor_10000 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE28_start_0 pcmk1" -> "FAKE28_monitor_10000 pcmk1" [ style = bold] +"FAKE28_start_0 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE28_stop_0 pcmk3" -> "FAKE28_start_0 pcmk1" [ style = bold] +"FAKE28_stop_0 pcmk3" -> "all_stopped" [ style = bold] +"FAKE28_stop_0 pcmk3" [ style=bold color="green" fontcolor="black"] +"FAKE30_monitor_10000 pcmk_remote1" [ style=bold color="green" fontcolor="black"] +"FAKE30_start_0 pcmk_remote1" -> "FAKE30_monitor_10000 pcmk_remote1" [ style = bold] +"FAKE30_start_0 pcmk_remote1" [ style=bold color="green" fontcolor="black"] +"FAKE30_stop_0 pcmk1" -> "FAKE30_start_0 pcmk_remote1" [ style = bold] +"FAKE30_stop_0 pcmk1" -> "all_stopped" [ style = bold] +"FAKE30_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE33_monitor_10000 pcmk_remote4" [ style=bold color="green" fontcolor="black"] +"FAKE33_start_0 pcmk_remote4" -> "FAKE33_monitor_10000 pcmk_remote4" [ style = bold] +"FAKE33_start_0 pcmk_remote4" [ style=bold color="green" fontcolor="black"] +"FAKE33_stop_0 pcmk_remote1" -> "FAKE33_start_0 pcmk_remote4" [ style = bold] +"FAKE33_stop_0 pcmk_remote1" -> "all_stopped" [ style = bold] +"FAKE33_stop_0 pcmk_remote1" [ style=bold color="green" fontcolor="black"] +"FAKE38_monitor_10000 pcmk_remote1" [ style=bold color="green" fontcolor="black"] +"FAKE38_start_0 pcmk_remote1" -> "FAKE38_monitor_10000 pcmk_remote1" [ style = bold] +"FAKE38_start_0 pcmk_remote1" [ style=bold color="green" fontcolor="black"] +"FAKE38_stop_0 pcmk2" -> "FAKE38_start_0 pcmk_remote1" [ style = bold] +"FAKE38_stop_0 pcmk2" -> "all_stopped" [ style = bold] +"FAKE38_stop_0 pcmk2" [ style=bold color="green" fontcolor="black"] +"FAKE39_monitor_10000 pcmk_remote2" [ style=bold color="green" fontcolor="black"] +"FAKE39_start_0 pcmk_remote2" -> "FAKE39_monitor_10000 pcmk_remote2" [ style = bold] +"FAKE39_start_0 pcmk_remote2" [ style=bold color="green" fontcolor="black"] +"FAKE39_stop_0 pcmk1" -> "FAKE39_start_0 pcmk_remote2" [ style = bold] +"FAKE39_stop_0 pcmk1" -> "all_stopped" [ style = bold] +"FAKE39_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE41_monitor_10000 pcmk_remote4" [ style=bold color="green" fontcolor="black"] +"FAKE41_start_0 pcmk_remote4" -> "FAKE41_monitor_10000 pcmk_remote4" [ style = bold] +"FAKE41_start_0 pcmk_remote4" [ style=bold color="green" fontcolor="black"] +"FAKE41_stop_0 pcmk_remote2" -> "FAKE41_start_0 pcmk_remote4" [ style = bold] +"FAKE41_stop_0 pcmk_remote2" -> "all_stopped" [ style = bold] +"FAKE41_stop_0 pcmk_remote2" [ style=bold color="green" fontcolor="black"] +"FAKE47_monitor_10000 pcmk_remote2" [ style=bold color="green" fontcolor="black"] +"FAKE47_start_0 pcmk_remote2" -> "FAKE47_monitor_10000 pcmk_remote2" [ style = bold] +"FAKE47_start_0 pcmk_remote2" [ style=bold color="green" fontcolor="black"] +"FAKE47_stop_0 pcmk_remote1" -> "FAKE47_start_0 pcmk_remote2" [ style = bold] +"FAKE47_stop_0 pcmk_remote1" -> "all_stopped" [ style = bold] +"FAKE47_stop_0 pcmk_remote1" [ style=bold color="green" fontcolor="black"] +"FAKE48_monitor_10000 pcmk_remote3" [ style=bold color="green" fontcolor="black"] +"FAKE48_start_0 pcmk_remote3" -> "FAKE48_monitor_10000 pcmk_remote3" [ style = bold] +"FAKE48_start_0 pcmk_remote3" [ style=bold color="green" fontcolor="black"] +"FAKE48_stop_0 pcmk1" -> "FAKE48_start_0 pcmk_remote3" [ style = bold] +"FAKE48_stop_0 pcmk1" -> "all_stopped" [ style = bold] +"FAKE48_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE49_monitor_10000 pcmk_remote4" [ style=bold color="green" fontcolor="black"] +"FAKE49_start_0 pcmk_remote4" -> "FAKE49_monitor_10000 pcmk_remote4" [ style = bold] +"FAKE49_start_0 pcmk_remote4" [ style=bold color="green" fontcolor="black"] +"FAKE49_stop_0 pcmk_remote3" -> "FAKE49_start_0 pcmk_remote4" [ style = bold] +"FAKE49_stop_0 pcmk_remote3" -> "all_stopped" [ style = bold] +"FAKE49_stop_0 pcmk_remote3" [ style=bold color="green" fontcolor="black"] +"FAKE5_monitor_10000 pcmk_remote4" [ style=bold color="green" fontcolor="black"] +"FAKE5_start_0 pcmk_remote4" -> "FAKE5_monitor_10000 pcmk_remote4" [ style = bold] +"FAKE5_start_0 pcmk_remote4" [ style=bold color="green" fontcolor="black"] +"FAKE5_stop_0 pcmk1" -> "FAKE5_start_0 pcmk_remote4" [ style = bold] +"FAKE5_stop_0 pcmk1" -> "all_stopped" [ style = bold] +"FAKE5_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"] +"FAKE9_monitor_10000 pcmk_remote4" [ style=bold color="green" fontcolor="black"] +"FAKE9_start_0 pcmk_remote4" -> "FAKE9_monitor_10000 pcmk_remote4" [ style = bold] +"FAKE9_start_0 pcmk_remote4" [ style=bold color="green" fontcolor="black"] +"FAKE9_stop_0 pcmk2" -> "FAKE9_start_0 pcmk_remote4" [ style = bold] +"FAKE9_stop_0 pcmk2" -> "all_stopped" [ style = bold] +"FAKE9_stop_0 pcmk2" [ style=bold color="green" fontcolor="black"] +"all_stopped" [ style=bold color="green" fontcolor="orange"] +"pcmk_remote2_migrate_from_0 pcmk1" -> "pcmk_remote2_start_0 pcmk1" [ style = bold] +"pcmk_remote2_migrate_from_0 pcmk1" -> "pcmk_remote2_stop_0 pcmk3" [ style = bold] +"pcmk_remote2_migrate_from_0 pcmk1" [ style=bold color="green" fontcolor="black"] +"pcmk_remote2_monitor_60000 pcmk1" [ style=bold color="green" fontcolor="black"] +"pcmk_remote2_start_0 pcmk1" -> "FAKE39_monitor_10000 pcmk_remote2" [ style = bold] +"pcmk_remote2_start_0 pcmk1" -> "FAKE39_start_0 pcmk_remote2" [ style = bold] +"pcmk_remote2_start_0 pcmk1" -> "FAKE41_stop_0 pcmk_remote2" [ style = bold] +"pcmk_remote2_start_0 pcmk1" -> "FAKE47_monitor_10000 pcmk_remote2" [ style = bold] +"pcmk_remote2_start_0 pcmk1" -> "FAKE47_start_0 pcmk_remote2" [ style = bold] +"pcmk_remote2_start_0 pcmk1" -> "pcmk_remote2_monitor_60000 pcmk1" [ style = bold] +"pcmk_remote2_start_0 pcmk1" [ style=bold color="green" fontcolor="orange"] +"pcmk_remote2_stop_0 pcmk3" -> "all_stopped" [ style = bold] +"pcmk_remote2_stop_0 pcmk3" -> "pcmk_remote2_start_0 pcmk1" [ style = bold] +"pcmk_remote2_stop_0 pcmk3" [ style=bold color="green" fontcolor="black"] +"pcmk_remote4_monitor_60000 pcmk2" [ style=bold color="green" fontcolor="black"] +"pcmk_remote4_start_0 pcmk2" -> "FAKE17_monitor_10000 pcmk_remote4" [ style = bold] +"pcmk_remote4_start_0 pcmk2" -> "FAKE17_start_0 pcmk_remote4" [ style = bold] +"pcmk_remote4_start_0 pcmk2" -> "FAKE25_monitor_10000 pcmk_remote4" [ style = bold] +"pcmk_remote4_start_0 pcmk2" -> "FAKE25_start_0 pcmk_remote4" [ style = bold] +"pcmk_remote4_start_0 pcmk2" -> "FAKE33_monitor_10000 pcmk_remote4" [ style = bold] +"pcmk_remote4_start_0 pcmk2" -> "FAKE33_start_0 pcmk_remote4" [ style = bold] +"pcmk_remote4_start_0 pcmk2" -> "FAKE41_monitor_10000 pcmk_remote4" [ style = bold] +"pcmk_remote4_start_0 pcmk2" -> "FAKE41_start_0 pcmk_remote4" [ style = bold] +"pcmk_remote4_start_0 pcmk2" -> "FAKE49_monitor_10000 pcmk_remote4" [ style = bold] +"pcmk_remote4_start_0 pcmk2" -> "FAKE49_start_0 pcmk_remote4" [ style = bold] +"pcmk_remote4_start_0 pcmk2" -> "FAKE5_monitor_10000 pcmk_remote4" [ style = bold] +"pcmk_remote4_start_0 pcmk2" -> "FAKE5_start_0 pcmk_remote4" [ style = bold] +"pcmk_remote4_start_0 pcmk2" -> "FAKE9_monitor_10000 pcmk_remote4" [ style = bold] +"pcmk_remote4_start_0 pcmk2" -> "FAKE9_start_0 pcmk_remote4" [ style = bold] +"pcmk_remote4_start_0 pcmk2" -> "pcmk_remote4_monitor_60000 pcmk2" [ style = bold] +"pcmk_remote4_start_0 pcmk2" [ style=bold color="green" fontcolor="black"] +"pcmk_remote5_migrate_from_0 pcmk2" -> "pcmk_remote5_start_0 pcmk2" [ style = bold] +"pcmk_remote5_migrate_from_0 pcmk2" -> "pcmk_remote5_stop_0 pcmk1" [ style = bold] +"pcmk_remote5_migrate_from_0 pcmk2" [ style=bold color="green" fontcolor="black"] +"pcmk_remote5_migrate_to_0 pcmk1" -> "pcmk_remote5_migrate_from_0 pcmk2" [ style = bold] +"pcmk_remote5_migrate_to_0 pcmk1" [ style=bold color="green" fontcolor="black"] +"pcmk_remote5_monitor_60000 pcmk2" [ style=bold color="green" fontcolor="black"] +"pcmk_remote5_start_0 pcmk2" -> "pcmk_remote5_monitor_60000 pcmk2" [ style = bold] +"pcmk_remote5_start_0 pcmk2" [ style=bold color="green" fontcolor="orange"] +"pcmk_remote5_stop_0 pcmk1" -> "all_stopped" [ style = bold] +"pcmk_remote5_stop_0 pcmk1" -> "pcmk_remote5_start_0 pcmk2" [ style = bold] +"pcmk_remote5_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"] +"stonith 'reboot' pcmk4" -> "stonith_complete" [ style = bold] +"stonith 'reboot' pcmk4" [ style=bold color="green" fontcolor="black"] +"stonith_complete" -> "FAKE12_start_0 pcmk2" [ style = bold] +"stonith_complete" -> "FAKE14_start_0 pcmk_remote1" [ style = bold] +"stonith_complete" -> "FAKE17_start_0 pcmk_remote4" [ style = bold] +"stonith_complete" -> "FAKE25_start_0 pcmk_remote4" [ style = bold] +"stonith_complete" -> "FAKE28_start_0 pcmk1" [ style = bold] +"stonith_complete" -> "FAKE30_start_0 pcmk_remote1" [ style = bold] +"stonith_complete" -> "FAKE33_start_0 pcmk_remote4" [ style = bold] +"stonith_complete" -> "FAKE38_start_0 pcmk_remote1" [ style = bold] +"stonith_complete" -> "FAKE39_start_0 pcmk_remote2" [ style = bold] +"stonith_complete" -> "FAKE41_start_0 pcmk_remote4" [ style = bold] +"stonith_complete" -> "FAKE47_start_0 pcmk_remote2" [ style = bold] +"stonith_complete" -> "FAKE48_start_0 pcmk_remote3" [ style = bold] +"stonith_complete" -> "FAKE49_start_0 pcmk_remote4" [ style = bold] +"stonith_complete" -> "FAKE5_start_0 pcmk_remote4" [ style = bold] +"stonith_complete" -> "FAKE9_start_0 pcmk_remote4" [ style = bold] +"stonith_complete" -> "all_stopped" [ style = bold] +"stonith_complete" -> "pcmk_remote2_migrate_from_0 pcmk1" [ style = bold] +"stonith_complete" -> "pcmk_remote2_start_0 pcmk1" [ style = bold] +"stonith_complete" -> "pcmk_remote4_start_0 pcmk2" [ style = bold] +"stonith_complete" -> "pcmk_remote5_migrate_to_0 pcmk1" [ style = bold] +"stonith_complete" -> "pcmk_remote5_start_0 pcmk2" [ style = bold] +"stonith_complete" [ style=bold color="green" fontcolor="orange"] +} diff --git a/pengine/test10/remote-partial-migrate2.exp b/pengine/test10/remote-partial-migrate2.exp new file mode 100644 index 0000000..e3d7495 --- /dev/null +++ b/pengine/test10/remote-partial-migrate2.exp @@ -0,0 +1,866 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pengine/test10/remote-partial-migrate2.scores b/pengine/test10/remote-partial-migrate2.scores new file mode 100644 index 0000000..6965507 --- /dev/null +++ b/pengine/test10/remote-partial-migrate2.scores @@ -0,0 +1,505 @@ +Allocation scores: +native_color: FAKE1 allocation score on pcmk1: -INFINITY +native_color: FAKE1 allocation score on pcmk2: 0 +native_color: FAKE1 allocation score on pcmk3: 0 +native_color: FAKE1 allocation score on pcmk4: 0 +native_color: FAKE1 allocation score on pcmk_remote1: 0 +native_color: FAKE1 allocation score on pcmk_remote2: 0 +native_color: FAKE1 allocation score on pcmk_remote3: 0 +native_color: FAKE1 allocation score on pcmk_remote4: 0 +native_color: FAKE1 allocation score on pcmk_remote5: 0 +native_color: FAKE10 allocation score on pcmk1: 0 +native_color: FAKE10 allocation score on pcmk2: 0 +native_color: FAKE10 allocation score on pcmk3: 0 +native_color: FAKE10 allocation score on pcmk4: 0 +native_color: FAKE10 allocation score on pcmk_remote1: 0 +native_color: FAKE10 allocation score on pcmk_remote2: 0 +native_color: FAKE10 allocation score on pcmk_remote3: 0 +native_color: FAKE10 allocation score on pcmk_remote4: 0 +native_color: FAKE10 allocation score on pcmk_remote5: 0 +native_color: FAKE11 allocation score on pcmk1: 0 +native_color: FAKE11 allocation score on pcmk2: 0 +native_color: FAKE11 allocation score on pcmk3: 0 +native_color: FAKE11 allocation score on pcmk4: 0 +native_color: FAKE11 allocation score on pcmk_remote1: 0 +native_color: FAKE11 allocation score on pcmk_remote2: 0 +native_color: FAKE11 allocation score on pcmk_remote3: 0 +native_color: FAKE11 allocation score on pcmk_remote4: 0 +native_color: FAKE11 allocation score on pcmk_remote5: 0 +native_color: FAKE12 allocation score on pcmk1: 0 +native_color: FAKE12 allocation score on pcmk2: 0 +native_color: FAKE12 allocation score on pcmk3: 0 +native_color: FAKE12 allocation score on pcmk4: 0 +native_color: FAKE12 allocation score on pcmk_remote1: 0 +native_color: FAKE12 allocation score on pcmk_remote2: 0 +native_color: FAKE12 allocation score on pcmk_remote3: 0 +native_color: FAKE12 allocation score on pcmk_remote4: 0 +native_color: FAKE12 allocation score on pcmk_remote5: 0 +native_color: FAKE13 allocation score on pcmk1: 0 +native_color: FAKE13 allocation score on pcmk2: 0 +native_color: FAKE13 allocation score on pcmk3: 0 +native_color: FAKE13 allocation score on pcmk4: 0 +native_color: FAKE13 allocation score on pcmk_remote1: 0 +native_color: FAKE13 allocation score on pcmk_remote2: 0 +native_color: FAKE13 allocation score on pcmk_remote3: 0 +native_color: FAKE13 allocation score on pcmk_remote4: 0 +native_color: FAKE13 allocation score on pcmk_remote5: 0 +native_color: FAKE14 allocation score on pcmk1: 0 +native_color: FAKE14 allocation score on pcmk2: 0 +native_color: FAKE14 allocation score on pcmk3: 0 +native_color: FAKE14 allocation score on pcmk4: 0 +native_color: FAKE14 allocation score on pcmk_remote1: 0 +native_color: FAKE14 allocation score on pcmk_remote2: 0 +native_color: FAKE14 allocation score on pcmk_remote3: 0 +native_color: FAKE14 allocation score on pcmk_remote4: 0 +native_color: FAKE14 allocation score on pcmk_remote5: 0 +native_color: FAKE15 allocation score on pcmk1: 0 +native_color: FAKE15 allocation score on pcmk2: 0 +native_color: FAKE15 allocation score on pcmk3: 0 +native_color: FAKE15 allocation score on pcmk4: 0 +native_color: FAKE15 allocation score on pcmk_remote1: 0 +native_color: FAKE15 allocation score on pcmk_remote2: 0 +native_color: FAKE15 allocation score on pcmk_remote3: 0 +native_color: FAKE15 allocation score on pcmk_remote4: 0 +native_color: FAKE15 allocation score on pcmk_remote5: 0 +native_color: FAKE16 allocation score on pcmk1: 0 +native_color: FAKE16 allocation score on pcmk2: 0 +native_color: FAKE16 allocation score on pcmk3: 0 +native_color: FAKE16 allocation score on pcmk4: 0 +native_color: FAKE16 allocation score on pcmk_remote1: 0 +native_color: FAKE16 allocation score on pcmk_remote2: 0 +native_color: FAKE16 allocation score on pcmk_remote3: 0 +native_color: FAKE16 allocation score on pcmk_remote4: 0 +native_color: FAKE16 allocation score on pcmk_remote5: 0 +native_color: FAKE17 allocation score on pcmk1: 0 +native_color: FAKE17 allocation score on pcmk2: 0 +native_color: FAKE17 allocation score on pcmk3: 0 +native_color: FAKE17 allocation score on pcmk4: 0 +native_color: FAKE17 allocation score on pcmk_remote1: 0 +native_color: FAKE17 allocation score on pcmk_remote2: 0 +native_color: FAKE17 allocation score on pcmk_remote3: 0 +native_color: FAKE17 allocation score on pcmk_remote4: 0 +native_color: FAKE17 allocation score on pcmk_remote5: 0 +native_color: FAKE18 allocation score on pcmk1: 0 +native_color: FAKE18 allocation score on pcmk2: 0 +native_color: FAKE18 allocation score on pcmk3: 0 +native_color: FAKE18 allocation score on pcmk4: 0 +native_color: FAKE18 allocation score on pcmk_remote1: 0 +native_color: FAKE18 allocation score on pcmk_remote2: 0 +native_color: FAKE18 allocation score on pcmk_remote3: 0 +native_color: FAKE18 allocation score on pcmk_remote4: 0 +native_color: FAKE18 allocation score on pcmk_remote5: 0 +native_color: FAKE19 allocation score on pcmk1: 0 +native_color: FAKE19 allocation score on pcmk2: 0 +native_color: FAKE19 allocation score on pcmk3: 0 +native_color: FAKE19 allocation score on pcmk4: 0 +native_color: FAKE19 allocation score on pcmk_remote1: 0 +native_color: FAKE19 allocation score on pcmk_remote2: 0 +native_color: FAKE19 allocation score on pcmk_remote3: 0 +native_color: FAKE19 allocation score on pcmk_remote4: 0 +native_color: FAKE19 allocation score on pcmk_remote5: 0 +native_color: FAKE2 allocation score on pcmk1: 0 +native_color: FAKE2 allocation score on pcmk2: 0 +native_color: FAKE2 allocation score on pcmk3: 0 +native_color: FAKE2 allocation score on pcmk4: 0 +native_color: FAKE2 allocation score on pcmk_remote1: 0 +native_color: FAKE2 allocation score on pcmk_remote2: 0 +native_color: FAKE2 allocation score on pcmk_remote3: 0 +native_color: FAKE2 allocation score on pcmk_remote4: 0 +native_color: FAKE2 allocation score on pcmk_remote5: 0 +native_color: FAKE20 allocation score on pcmk1: 0 +native_color: FAKE20 allocation score on pcmk2: 0 +native_color: FAKE20 allocation score on pcmk3: 0 +native_color: FAKE20 allocation score on pcmk4: 0 +native_color: FAKE20 allocation score on pcmk_remote1: 0 +native_color: FAKE20 allocation score on pcmk_remote2: 0 +native_color: FAKE20 allocation score on pcmk_remote3: 0 +native_color: FAKE20 allocation score on pcmk_remote4: 0 +native_color: FAKE20 allocation score on pcmk_remote5: 0 +native_color: FAKE21 allocation score on pcmk1: 0 +native_color: FAKE21 allocation score on pcmk2: 0 +native_color: FAKE21 allocation score on pcmk3: 0 +native_color: FAKE21 allocation score on pcmk4: 0 +native_color: FAKE21 allocation score on pcmk_remote1: 0 +native_color: FAKE21 allocation score on pcmk_remote2: 0 +native_color: FAKE21 allocation score on pcmk_remote3: 0 +native_color: FAKE21 allocation score on pcmk_remote4: 0 +native_color: FAKE21 allocation score on pcmk_remote5: 0 +native_color: FAKE22 allocation score on pcmk1: 0 +native_color: FAKE22 allocation score on pcmk2: 0 +native_color: FAKE22 allocation score on pcmk3: 0 +native_color: FAKE22 allocation score on pcmk4: 0 +native_color: FAKE22 allocation score on pcmk_remote1: 0 +native_color: FAKE22 allocation score on pcmk_remote2: 0 +native_color: FAKE22 allocation score on pcmk_remote3: 0 +native_color: FAKE22 allocation score on pcmk_remote4: 0 +native_color: FAKE22 allocation score on pcmk_remote5: 0 +native_color: FAKE23 allocation score on pcmk1: 0 +native_color: FAKE23 allocation score on pcmk2: 0 +native_color: FAKE23 allocation score on pcmk3: 0 +native_color: FAKE23 allocation score on pcmk4: 0 +native_color: FAKE23 allocation score on pcmk_remote1: 0 +native_color: FAKE23 allocation score on pcmk_remote2: 0 +native_color: FAKE23 allocation score on pcmk_remote3: 0 +native_color: FAKE23 allocation score on pcmk_remote4: 0 +native_color: FAKE23 allocation score on pcmk_remote5: 0 +native_color: FAKE24 allocation score on pcmk1: 0 +native_color: FAKE24 allocation score on pcmk2: 0 +native_color: FAKE24 allocation score on pcmk3: 0 +native_color: FAKE24 allocation score on pcmk4: 0 +native_color: FAKE24 allocation score on pcmk_remote1: 0 +native_color: FAKE24 allocation score on pcmk_remote2: 0 +native_color: FAKE24 allocation score on pcmk_remote3: 0 +native_color: FAKE24 allocation score on pcmk_remote4: 0 +native_color: FAKE24 allocation score on pcmk_remote5: 0 +native_color: FAKE25 allocation score on pcmk1: 0 +native_color: FAKE25 allocation score on pcmk2: 0 +native_color: FAKE25 allocation score on pcmk3: 0 +native_color: FAKE25 allocation score on pcmk4: 0 +native_color: FAKE25 allocation score on pcmk_remote1: 0 +native_color: FAKE25 allocation score on pcmk_remote2: 0 +native_color: FAKE25 allocation score on pcmk_remote3: 0 +native_color: FAKE25 allocation score on pcmk_remote4: 0 +native_color: FAKE25 allocation score on pcmk_remote5: 0 +native_color: FAKE26 allocation score on pcmk1: 0 +native_color: FAKE26 allocation score on pcmk2: 0 +native_color: FAKE26 allocation score on pcmk3: 0 +native_color: FAKE26 allocation score on pcmk4: 0 +native_color: FAKE26 allocation score on pcmk_remote1: 0 +native_color: FAKE26 allocation score on pcmk_remote2: 0 +native_color: FAKE26 allocation score on pcmk_remote3: 0 +native_color: FAKE26 allocation score on pcmk_remote4: 0 +native_color: FAKE26 allocation score on pcmk_remote5: 0 +native_color: FAKE27 allocation score on pcmk1: 0 +native_color: FAKE27 allocation score on pcmk2: 0 +native_color: FAKE27 allocation score on pcmk3: 0 +native_color: FAKE27 allocation score on pcmk4: 0 +native_color: FAKE27 allocation score on pcmk_remote1: 0 +native_color: FAKE27 allocation score on pcmk_remote2: 0 +native_color: FAKE27 allocation score on pcmk_remote3: 0 +native_color: FAKE27 allocation score on pcmk_remote4: 0 +native_color: FAKE27 allocation score on pcmk_remote5: 0 +native_color: FAKE28 allocation score on pcmk1: 0 +native_color: FAKE28 allocation score on pcmk2: 0 +native_color: FAKE28 allocation score on pcmk3: 0 +native_color: FAKE28 allocation score on pcmk4: 0 +native_color: FAKE28 allocation score on pcmk_remote1: 0 +native_color: FAKE28 allocation score on pcmk_remote2: 0 +native_color: FAKE28 allocation score on pcmk_remote3: 0 +native_color: FAKE28 allocation score on pcmk_remote4: 0 +native_color: FAKE28 allocation score on pcmk_remote5: 0 +native_color: FAKE29 allocation score on pcmk1: 0 +native_color: FAKE29 allocation score on pcmk2: 0 +native_color: FAKE29 allocation score on pcmk3: 0 +native_color: FAKE29 allocation score on pcmk4: 0 +native_color: FAKE29 allocation score on pcmk_remote1: 0 +native_color: FAKE29 allocation score on pcmk_remote2: 0 +native_color: FAKE29 allocation score on pcmk_remote3: 0 +native_color: FAKE29 allocation score on pcmk_remote4: 0 +native_color: FAKE29 allocation score on pcmk_remote5: 0 +native_color: FAKE3 allocation score on pcmk1: 0 +native_color: FAKE3 allocation score on pcmk2: 0 +native_color: FAKE3 allocation score on pcmk3: 0 +native_color: FAKE3 allocation score on pcmk4: 0 +native_color: FAKE3 allocation score on pcmk_remote1: 0 +native_color: FAKE3 allocation score on pcmk_remote2: 0 +native_color: FAKE3 allocation score on pcmk_remote3: 0 +native_color: FAKE3 allocation score on pcmk_remote4: 0 +native_color: FAKE3 allocation score on pcmk_remote5: 0 +native_color: FAKE30 allocation score on pcmk1: 0 +native_color: FAKE30 allocation score on pcmk2: 0 +native_color: FAKE30 allocation score on pcmk3: 0 +native_color: FAKE30 allocation score on pcmk4: 0 +native_color: FAKE30 allocation score on pcmk_remote1: 0 +native_color: FAKE30 allocation score on pcmk_remote2: 0 +native_color: FAKE30 allocation score on pcmk_remote3: 0 +native_color: FAKE30 allocation score on pcmk_remote4: 0 +native_color: FAKE30 allocation score on pcmk_remote5: 0 +native_color: FAKE31 allocation score on pcmk1: 0 +native_color: FAKE31 allocation score on pcmk2: 0 +native_color: FAKE31 allocation score on pcmk3: 0 +native_color: FAKE31 allocation score on pcmk4: 0 +native_color: FAKE31 allocation score on pcmk_remote1: 0 +native_color: FAKE31 allocation score on pcmk_remote2: 0 +native_color: FAKE31 allocation score on pcmk_remote3: 0 +native_color: FAKE31 allocation score on pcmk_remote4: 0 +native_color: FAKE31 allocation score on pcmk_remote5: 0 +native_color: FAKE32 allocation score on pcmk1: 0 +native_color: FAKE32 allocation score on pcmk2: 0 +native_color: FAKE32 allocation score on pcmk3: 0 +native_color: FAKE32 allocation score on pcmk4: 0 +native_color: FAKE32 allocation score on pcmk_remote1: 0 +native_color: FAKE32 allocation score on pcmk_remote2: 0 +native_color: FAKE32 allocation score on pcmk_remote3: 0 +native_color: FAKE32 allocation score on pcmk_remote4: 0 +native_color: FAKE32 allocation score on pcmk_remote5: 0 +native_color: FAKE33 allocation score on pcmk1: 0 +native_color: FAKE33 allocation score on pcmk2: 0 +native_color: FAKE33 allocation score on pcmk3: 0 +native_color: FAKE33 allocation score on pcmk4: 0 +native_color: FAKE33 allocation score on pcmk_remote1: 0 +native_color: FAKE33 allocation score on pcmk_remote2: 0 +native_color: FAKE33 allocation score on pcmk_remote3: 0 +native_color: FAKE33 allocation score on pcmk_remote4: 0 +native_color: FAKE33 allocation score on pcmk_remote5: 0 +native_color: FAKE34 allocation score on pcmk1: 0 +native_color: FAKE34 allocation score on pcmk2: 0 +native_color: FAKE34 allocation score on pcmk3: 0 +native_color: FAKE34 allocation score on pcmk4: 0 +native_color: FAKE34 allocation score on pcmk_remote1: 0 +native_color: FAKE34 allocation score on pcmk_remote2: 0 +native_color: FAKE34 allocation score on pcmk_remote3: 0 +native_color: FAKE34 allocation score on pcmk_remote4: 0 +native_color: FAKE34 allocation score on pcmk_remote5: 0 +native_color: FAKE35 allocation score on pcmk1: 0 +native_color: FAKE35 allocation score on pcmk2: 0 +native_color: FAKE35 allocation score on pcmk3: 0 +native_color: FAKE35 allocation score on pcmk4: 0 +native_color: FAKE35 allocation score on pcmk_remote1: 0 +native_color: FAKE35 allocation score on pcmk_remote2: 0 +native_color: FAKE35 allocation score on pcmk_remote3: 0 +native_color: FAKE35 allocation score on pcmk_remote4: 0 +native_color: FAKE35 allocation score on pcmk_remote5: 0 +native_color: FAKE36 allocation score on pcmk1: 0 +native_color: FAKE36 allocation score on pcmk2: 0 +native_color: FAKE36 allocation score on pcmk3: 0 +native_color: FAKE36 allocation score on pcmk4: 0 +native_color: FAKE36 allocation score on pcmk_remote1: 0 +native_color: FAKE36 allocation score on pcmk_remote2: 0 +native_color: FAKE36 allocation score on pcmk_remote3: 0 +native_color: FAKE36 allocation score on pcmk_remote4: 0 +native_color: FAKE36 allocation score on pcmk_remote5: 0 +native_color: FAKE37 allocation score on pcmk1: 0 +native_color: FAKE37 allocation score on pcmk2: 0 +native_color: FAKE37 allocation score on pcmk3: 0 +native_color: FAKE37 allocation score on pcmk4: 0 +native_color: FAKE37 allocation score on pcmk_remote1: 0 +native_color: FAKE37 allocation score on pcmk_remote2: 0 +native_color: FAKE37 allocation score on pcmk_remote3: 0 +native_color: FAKE37 allocation score on pcmk_remote4: 0 +native_color: FAKE37 allocation score on pcmk_remote5: 0 +native_color: FAKE38 allocation score on pcmk1: 0 +native_color: FAKE38 allocation score on pcmk2: 0 +native_color: FAKE38 allocation score on pcmk3: 0 +native_color: FAKE38 allocation score on pcmk4: 0 +native_color: FAKE38 allocation score on pcmk_remote1: 0 +native_color: FAKE38 allocation score on pcmk_remote2: 0 +native_color: FAKE38 allocation score on pcmk_remote3: 0 +native_color: FAKE38 allocation score on pcmk_remote4: 0 +native_color: FAKE38 allocation score on pcmk_remote5: 0 +native_color: FAKE39 allocation score on pcmk1: 0 +native_color: FAKE39 allocation score on pcmk2: 0 +native_color: FAKE39 allocation score on pcmk3: 0 +native_color: FAKE39 allocation score on pcmk4: 0 +native_color: FAKE39 allocation score on pcmk_remote1: 0 +native_color: FAKE39 allocation score on pcmk_remote2: 0 +native_color: FAKE39 allocation score on pcmk_remote3: 0 +native_color: FAKE39 allocation score on pcmk_remote4: 0 +native_color: FAKE39 allocation score on pcmk_remote5: 0 +native_color: FAKE4 allocation score on pcmk1: 0 +native_color: FAKE4 allocation score on pcmk2: 0 +native_color: FAKE4 allocation score on pcmk3: 0 +native_color: FAKE4 allocation score on pcmk4: 0 +native_color: FAKE4 allocation score on pcmk_remote1: 0 +native_color: FAKE4 allocation score on pcmk_remote2: 0 +native_color: FAKE4 allocation score on pcmk_remote3: 0 +native_color: FAKE4 allocation score on pcmk_remote4: 0 +native_color: FAKE4 allocation score on pcmk_remote5: 0 +native_color: FAKE40 allocation score on pcmk1: 0 +native_color: FAKE40 allocation score on pcmk2: 0 +native_color: FAKE40 allocation score on pcmk3: 0 +native_color: FAKE40 allocation score on pcmk4: 0 +native_color: FAKE40 allocation score on pcmk_remote1: 0 +native_color: FAKE40 allocation score on pcmk_remote2: 0 +native_color: FAKE40 allocation score on pcmk_remote3: 0 +native_color: FAKE40 allocation score on pcmk_remote4: 0 +native_color: FAKE40 allocation score on pcmk_remote5: 0 +native_color: FAKE41 allocation score on pcmk1: 0 +native_color: FAKE41 allocation score on pcmk2: 0 +native_color: FAKE41 allocation score on pcmk3: 0 +native_color: FAKE41 allocation score on pcmk4: 0 +native_color: FAKE41 allocation score on pcmk_remote1: 0 +native_color: FAKE41 allocation score on pcmk_remote2: 0 +native_color: FAKE41 allocation score on pcmk_remote3: 0 +native_color: FAKE41 allocation score on pcmk_remote4: 0 +native_color: FAKE41 allocation score on pcmk_remote5: 0 +native_color: FAKE42 allocation score on pcmk1: 0 +native_color: FAKE42 allocation score on pcmk2: 0 +native_color: FAKE42 allocation score on pcmk3: 0 +native_color: FAKE42 allocation score on pcmk4: 0 +native_color: FAKE42 allocation score on pcmk_remote1: 0 +native_color: FAKE42 allocation score on pcmk_remote2: 0 +native_color: FAKE42 allocation score on pcmk_remote3: 0 +native_color: FAKE42 allocation score on pcmk_remote4: 0 +native_color: FAKE42 allocation score on pcmk_remote5: 0 +native_color: FAKE43 allocation score on pcmk1: 0 +native_color: FAKE43 allocation score on pcmk2: 0 +native_color: FAKE43 allocation score on pcmk3: 0 +native_color: FAKE43 allocation score on pcmk4: 0 +native_color: FAKE43 allocation score on pcmk_remote1: 0 +native_color: FAKE43 allocation score on pcmk_remote2: 0 +native_color: FAKE43 allocation score on pcmk_remote3: 0 +native_color: FAKE43 allocation score on pcmk_remote4: 0 +native_color: FAKE43 allocation score on pcmk_remote5: 0 +native_color: FAKE44 allocation score on pcmk1: 0 +native_color: FAKE44 allocation score on pcmk2: 0 +native_color: FAKE44 allocation score on pcmk3: 0 +native_color: FAKE44 allocation score on pcmk4: 0 +native_color: FAKE44 allocation score on pcmk_remote1: 0 +native_color: FAKE44 allocation score on pcmk_remote2: 0 +native_color: FAKE44 allocation score on pcmk_remote3: 0 +native_color: FAKE44 allocation score on pcmk_remote4: 0 +native_color: FAKE44 allocation score on pcmk_remote5: 0 +native_color: FAKE45 allocation score on pcmk1: 0 +native_color: FAKE45 allocation score on pcmk2: 0 +native_color: FAKE45 allocation score on pcmk3: 0 +native_color: FAKE45 allocation score on pcmk4: 0 +native_color: FAKE45 allocation score on pcmk_remote1: 0 +native_color: FAKE45 allocation score on pcmk_remote2: 0 +native_color: FAKE45 allocation score on pcmk_remote3: 0 +native_color: FAKE45 allocation score on pcmk_remote4: 0 +native_color: FAKE45 allocation score on pcmk_remote5: 0 +native_color: FAKE46 allocation score on pcmk1: 0 +native_color: FAKE46 allocation score on pcmk2: 0 +native_color: FAKE46 allocation score on pcmk3: 0 +native_color: FAKE46 allocation score on pcmk4: 0 +native_color: FAKE46 allocation score on pcmk_remote1: 0 +native_color: FAKE46 allocation score on pcmk_remote2: 0 +native_color: FAKE46 allocation score on pcmk_remote3: 0 +native_color: FAKE46 allocation score on pcmk_remote4: 0 +native_color: FAKE46 allocation score on pcmk_remote5: 0 +native_color: FAKE47 allocation score on pcmk1: 0 +native_color: FAKE47 allocation score on pcmk2: 0 +native_color: FAKE47 allocation score on pcmk3: 0 +native_color: FAKE47 allocation score on pcmk4: 0 +native_color: FAKE47 allocation score on pcmk_remote1: 0 +native_color: FAKE47 allocation score on pcmk_remote2: 0 +native_color: FAKE47 allocation score on pcmk_remote3: 0 +native_color: FAKE47 allocation score on pcmk_remote4: 0 +native_color: FAKE47 allocation score on pcmk_remote5: 0 +native_color: FAKE48 allocation score on pcmk1: 0 +native_color: FAKE48 allocation score on pcmk2: 0 +native_color: FAKE48 allocation score on pcmk3: 0 +native_color: FAKE48 allocation score on pcmk4: 0 +native_color: FAKE48 allocation score on pcmk_remote1: 0 +native_color: FAKE48 allocation score on pcmk_remote2: 0 +native_color: FAKE48 allocation score on pcmk_remote3: 0 +native_color: FAKE48 allocation score on pcmk_remote4: 0 +native_color: FAKE48 allocation score on pcmk_remote5: 0 +native_color: FAKE49 allocation score on pcmk1: 0 +native_color: FAKE49 allocation score on pcmk2: 0 +native_color: FAKE49 allocation score on pcmk3: 0 +native_color: FAKE49 allocation score on pcmk4: 0 +native_color: FAKE49 allocation score on pcmk_remote1: 0 +native_color: FAKE49 allocation score on pcmk_remote2: 0 +native_color: FAKE49 allocation score on pcmk_remote3: 0 +native_color: FAKE49 allocation score on pcmk_remote4: 0 +native_color: FAKE49 allocation score on pcmk_remote5: 0 +native_color: FAKE5 allocation score on pcmk1: 0 +native_color: FAKE5 allocation score on pcmk2: 0 +native_color: FAKE5 allocation score on pcmk3: 0 +native_color: FAKE5 allocation score on pcmk4: 0 +native_color: FAKE5 allocation score on pcmk_remote1: 0 +native_color: FAKE5 allocation score on pcmk_remote2: 0 +native_color: FAKE5 allocation score on pcmk_remote3: 0 +native_color: FAKE5 allocation score on pcmk_remote4: 0 +native_color: FAKE5 allocation score on pcmk_remote5: 0 +native_color: FAKE50 allocation score on pcmk1: 0 +native_color: FAKE50 allocation score on pcmk2: 0 +native_color: FAKE50 allocation score on pcmk3: 0 +native_color: FAKE50 allocation score on pcmk4: 0 +native_color: FAKE50 allocation score on pcmk_remote1: 0 +native_color: FAKE50 allocation score on pcmk_remote2: 0 +native_color: FAKE50 allocation score on pcmk_remote3: 0 +native_color: FAKE50 allocation score on pcmk_remote4: 0 +native_color: FAKE50 allocation score on pcmk_remote5: 0 +native_color: FAKE6 allocation score on pcmk1: 0 +native_color: FAKE6 allocation score on pcmk2: 0 +native_color: FAKE6 allocation score on pcmk3: 0 +native_color: FAKE6 allocation score on pcmk4: 0 +native_color: FAKE6 allocation score on pcmk_remote1: 0 +native_color: FAKE6 allocation score on pcmk_remote2: 0 +native_color: FAKE6 allocation score on pcmk_remote3: 0 +native_color: FAKE6 allocation score on pcmk_remote4: 0 +native_color: FAKE6 allocation score on pcmk_remote5: 0 +native_color: FAKE7 allocation score on pcmk1: 0 +native_color: FAKE7 allocation score on pcmk2: 0 +native_color: FAKE7 allocation score on pcmk3: 0 +native_color: FAKE7 allocation score on pcmk4: 0 +native_color: FAKE7 allocation score on pcmk_remote1: 0 +native_color: FAKE7 allocation score on pcmk_remote2: 0 +native_color: FAKE7 allocation score on pcmk_remote3: 0 +native_color: FAKE7 allocation score on pcmk_remote4: 0 +native_color: FAKE7 allocation score on pcmk_remote5: 0 +native_color: FAKE8 allocation score on pcmk1: 0 +native_color: FAKE8 allocation score on pcmk2: 0 +native_color: FAKE8 allocation score on pcmk3: 0 +native_color: FAKE8 allocation score on pcmk4: 0 +native_color: FAKE8 allocation score on pcmk_remote1: 0 +native_color: FAKE8 allocation score on pcmk_remote2: 0 +native_color: FAKE8 allocation score on pcmk_remote3: 0 +native_color: FAKE8 allocation score on pcmk_remote4: 0 +native_color: FAKE8 allocation score on pcmk_remote5: 0 +native_color: FAKE9 allocation score on pcmk1: 0 +native_color: FAKE9 allocation score on pcmk2: 0 +native_color: FAKE9 allocation score on pcmk3: 0 +native_color: FAKE9 allocation score on pcmk4: 0 +native_color: FAKE9 allocation score on pcmk_remote1: 0 +native_color: FAKE9 allocation score on pcmk_remote2: 0 +native_color: FAKE9 allocation score on pcmk_remote3: 0 +native_color: FAKE9 allocation score on pcmk_remote4: 0 +native_color: FAKE9 allocation score on pcmk_remote5: 0 +native_color: pcmk_remote1 allocation score on pcmk1: 0 +native_color: pcmk_remote1 allocation score on pcmk2: 0 +native_color: pcmk_remote1 allocation score on pcmk3: 0 +native_color: pcmk_remote1 allocation score on pcmk4: 0 +native_color: pcmk_remote1 allocation score on pcmk_remote1: -INFINITY +native_color: pcmk_remote1 allocation score on pcmk_remote2: -INFINITY +native_color: pcmk_remote1 allocation score on pcmk_remote3: -INFINITY +native_color: pcmk_remote1 allocation score on pcmk_remote4: -INFINITY +native_color: pcmk_remote1 allocation score on pcmk_remote5: -INFINITY +native_color: pcmk_remote2 allocation score on pcmk1: 0 +native_color: pcmk_remote2 allocation score on pcmk2: 0 +native_color: pcmk_remote2 allocation score on pcmk3: 0 +native_color: pcmk_remote2 allocation score on pcmk4: 0 +native_color: pcmk_remote2 allocation score on pcmk_remote1: -INFINITY +native_color: pcmk_remote2 allocation score on pcmk_remote2: -INFINITY +native_color: pcmk_remote2 allocation score on pcmk_remote3: -INFINITY +native_color: pcmk_remote2 allocation score on pcmk_remote4: -INFINITY +native_color: pcmk_remote2 allocation score on pcmk_remote5: -INFINITY +native_color: pcmk_remote3 allocation score on pcmk1: 0 +native_color: pcmk_remote3 allocation score on pcmk2: 0 +native_color: pcmk_remote3 allocation score on pcmk3: 0 +native_color: pcmk_remote3 allocation score on pcmk4: 0 +native_color: pcmk_remote3 allocation score on pcmk_remote1: -INFINITY +native_color: pcmk_remote3 allocation score on pcmk_remote2: -INFINITY +native_color: pcmk_remote3 allocation score on pcmk_remote3: -INFINITY +native_color: pcmk_remote3 allocation score on pcmk_remote4: -INFINITY +native_color: pcmk_remote3 allocation score on pcmk_remote5: -INFINITY +native_color: pcmk_remote4 allocation score on pcmk1: 0 +native_color: pcmk_remote4 allocation score on pcmk2: 0 +native_color: pcmk_remote4 allocation score on pcmk3: 0 +native_color: pcmk_remote4 allocation score on pcmk4: 0 +native_color: pcmk_remote4 allocation score on pcmk_remote1: -INFINITY +native_color: pcmk_remote4 allocation score on pcmk_remote2: -INFINITY +native_color: pcmk_remote4 allocation score on pcmk_remote3: -INFINITY +native_color: pcmk_remote4 allocation score on pcmk_remote4: -INFINITY +native_color: pcmk_remote4 allocation score on pcmk_remote5: -INFINITY +native_color: pcmk_remote5 allocation score on pcmk1: 0 +native_color: pcmk_remote5 allocation score on pcmk2: 0 +native_color: pcmk_remote5 allocation score on pcmk3: 0 +native_color: pcmk_remote5 allocation score on pcmk4: 0 +native_color: pcmk_remote5 allocation score on pcmk_remote1: -INFINITY +native_color: pcmk_remote5 allocation score on pcmk_remote2: -INFINITY +native_color: pcmk_remote5 allocation score on pcmk_remote3: -INFINITY +native_color: pcmk_remote5 allocation score on pcmk_remote4: -INFINITY +native_color: pcmk_remote5 allocation score on pcmk_remote5: -INFINITY +native_color: shooter allocation score on pcmk1: 0 +native_color: shooter allocation score on pcmk2: 0 +native_color: shooter allocation score on pcmk3: 0 +native_color: shooter allocation score on pcmk4: 0 +native_color: shooter allocation score on pcmk_remote1: -INFINITY +native_color: shooter allocation score on pcmk_remote2: -INFINITY +native_color: shooter allocation score on pcmk_remote3: -INFINITY +native_color: shooter allocation score on pcmk_remote4: -INFINITY +native_color: shooter allocation score on pcmk_remote5: -INFINITY diff --git a/pengine/test10/remote-partial-migrate2.summary b/pengine/test10/remote-partial-migrate2.summary new file mode 100644 index 0000000..6a65975 --- /dev/null +++ b/pengine/test10/remote-partial-migrate2.summary @@ -0,0 +1,207 @@ + +Current cluster status: +Node pcmk4 (4): UNCLEAN (offline) +Online: [ pcmk1 pcmk2 pcmk3 ] +RemoteOnline: [ pcmk_remote1 pcmk_remote2 pcmk_remote3 pcmk_remote5 ] +RemoteOFFLINE: [ pcmk_remote4 ] + + shooter (stonith:fence_docker_cts): Started pcmk3 + pcmk_remote1 (ocf::pacemaker:remote): Started pcmk1 + pcmk_remote2 (ocf::pacemaker:remote): Started [ pcmk1 pcmk3 ] + pcmk_remote3 (ocf::pacemaker:remote): Started pcmk3 + pcmk_remote4 (ocf::pacemaker:remote): Stopped + pcmk_remote5 (ocf::pacemaker:remote): Started pcmk1 + FAKE1 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE2 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE3 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE4 (ocf::heartbeat:Dummy): Started pcmk_remote5 + FAKE5 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE6 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE7 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE8 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE9 (ocf::heartbeat:Dummy): Started pcmk2 + FAKE10 (ocf::heartbeat:Dummy): Started pcmk_remote5 + FAKE11 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE12 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE13 (ocf::heartbeat:Dummy): Started pcmk3 + FAKE14 (ocf::heartbeat:Dummy): Started pcmk2 + FAKE15 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE16 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE17 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE18 (ocf::heartbeat:Dummy): Started pcmk_remote5 + FAKE19 (ocf::heartbeat:Dummy): Started pcmk3 + FAKE20 (ocf::heartbeat:Dummy): Started pcmk2 + FAKE21 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE22 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE23 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE24 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE25 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE26 (ocf::heartbeat:Dummy): Started pcmk_remote5 + FAKE27 (ocf::heartbeat:Dummy): Started pcmk3 + FAKE28 (ocf::heartbeat:Dummy): Started pcmk3 + FAKE29 (ocf::heartbeat:Dummy): Started pcmk2 + FAKE30 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE31 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE32 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE33 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE34 (ocf::heartbeat:Dummy): Started pcmk_remote5 + FAKE35 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE36 (ocf::heartbeat:Dummy): Started pcmk3 + FAKE37 (ocf::heartbeat:Dummy): Started pcmk2 + FAKE38 (ocf::heartbeat:Dummy): Started pcmk2 + FAKE39 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE40 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE41 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE42 (ocf::heartbeat:Dummy): Started pcmk_remote5 + FAKE43 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE44 (ocf::heartbeat:Dummy): Started pcmk2 + FAKE45 (ocf::heartbeat:Dummy): Started pcmk3 + FAKE46 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE47 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE48 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE49 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE50 (ocf::heartbeat:Dummy): Started pcmk_remote5 + +Transition Summary: + * Migrate pcmk_remote2 (Started pcmk3 -> pcmk1) + * Start pcmk_remote4 (pcmk2) + * Migrate pcmk_remote5 (Started pcmk1 -> pcmk2) + * Move FAKE5 (Started pcmk1 -> pcmk_remote4) + * Move FAKE9 (Started pcmk2 -> pcmk_remote4) + * Move FAKE12 (Started pcmk1 -> pcmk2) + * Move FAKE14 (Started pcmk2 -> pcmk_remote1) + * Move FAKE17 (Started pcmk_remote1 -> pcmk_remote4) + * Move FAKE25 (Started pcmk_remote1 -> pcmk_remote4) + * Move FAKE28 (Started pcmk3 -> pcmk1) + * Move FAKE30 (Started pcmk1 -> pcmk_remote1) + * Move FAKE33 (Started pcmk_remote1 -> pcmk_remote4) + * Move FAKE38 (Started pcmk2 -> pcmk_remote1) + * Move FAKE39 (Started pcmk1 -> pcmk_remote2) + * Move FAKE41 (Started pcmk_remote2 -> pcmk_remote4) + * Move FAKE47 (Started pcmk_remote1 -> pcmk_remote2) + * Move FAKE48 (Started pcmk1 -> pcmk_remote3) + * Move FAKE49 (Started pcmk_remote3 -> pcmk_remote4) + +Executing cluster transition: + * Resource action: FAKE5 stop on pcmk1 + * Resource action: FAKE9 stop on pcmk2 + * Resource action: FAKE12 stop on pcmk1 + * Resource action: FAKE14 stop on pcmk2 + * Resource action: FAKE17 stop on pcmk_remote1 + * Resource action: FAKE25 stop on pcmk_remote1 + * Resource action: FAKE28 stop on pcmk3 + * Resource action: FAKE30 stop on pcmk1 + * Resource action: FAKE33 stop on pcmk_remote1 + * Resource action: FAKE38 stop on pcmk2 + * Resource action: FAKE39 stop on pcmk1 + * Resource action: FAKE47 stop on pcmk_remote1 + * Resource action: FAKE48 stop on pcmk1 + * Resource action: FAKE49 stop on pcmk_remote3 + * Fencing pcmk4 (reboot) + * Pseudo action: stonith_complete + * Resource action: pcmk_remote2 migrate_from on pcmk1 + * Resource action: pcmk_remote2 stop on pcmk3 + * Resource action: pcmk_remote4 start on pcmk2 + * Resource action: pcmk_remote5 migrate_to on pcmk1 + * Resource action: FAKE5 start on pcmk_remote4 + * Resource action: FAKE9 start on pcmk_remote4 + * Resource action: FAKE12 start on pcmk2 + * Resource action: FAKE14 start on pcmk_remote1 + * Resource action: FAKE17 start on pcmk_remote4 + * Resource action: FAKE25 start on pcmk_remote4 + * Resource action: FAKE28 start on pcmk1 + * Resource action: FAKE30 start on pcmk_remote1 + * Resource action: FAKE33 start on pcmk_remote4 + * Resource action: FAKE38 start on pcmk_remote1 + * Resource action: FAKE48 start on pcmk_remote3 + * Resource action: FAKE49 start on pcmk_remote4 + * Pseudo action: pcmk_remote2_start_0 + * Resource action: pcmk_remote4 monitor=60000 on pcmk2 + * Resource action: pcmk_remote5 migrate_from on pcmk2 + * Resource action: pcmk_remote5 stop on pcmk1 + * Resource action: FAKE5 monitor=10000 on pcmk_remote4 + * Resource action: FAKE9 monitor=10000 on pcmk_remote4 + * Resource action: FAKE12 monitor=10000 on pcmk2 + * Resource action: FAKE14 monitor=10000 on pcmk_remote1 + * Resource action: FAKE17 monitor=10000 on pcmk_remote4 + * Resource action: FAKE25 monitor=10000 on pcmk_remote4 + * Resource action: FAKE28 monitor=10000 on pcmk1 + * Resource action: FAKE30 monitor=10000 on pcmk_remote1 + * Resource action: FAKE33 monitor=10000 on pcmk_remote4 + * Resource action: FAKE38 monitor=10000 on pcmk_remote1 + * Resource action: FAKE39 start on pcmk_remote2 + * Resource action: FAKE41 stop on pcmk_remote2 + * Resource action: FAKE47 start on pcmk_remote2 + * Resource action: FAKE48 monitor=10000 on pcmk_remote3 + * Resource action: FAKE49 monitor=10000 on pcmk_remote4 + * Pseudo action: all_stopped + * Resource action: pcmk_remote2 monitor=60000 on pcmk1 + * Pseudo action: pcmk_remote5_start_0 + * Resource action: FAKE39 monitor=10000 on pcmk_remote2 + * Resource action: FAKE41 start on pcmk_remote4 + * Resource action: FAKE47 monitor=10000 on pcmk_remote2 + * Resource action: pcmk_remote5 monitor=60000 on pcmk2 + * Resource action: FAKE41 monitor=10000 on pcmk_remote4 + +Revised cluster status: +Online: [ pcmk1 pcmk2 pcmk3 ] +OFFLINE: [ pcmk4 ] +RemoteOnline: [ pcmk_remote1 pcmk_remote2 pcmk_remote3 pcmk_remote4 pcmk_remote5 ] + + shooter (stonith:fence_docker_cts): Started pcmk3 + pcmk_remote1 (ocf::pacemaker:remote): Started pcmk1 + pcmk_remote2 (ocf::pacemaker:remote): Started pcmk1 + pcmk_remote3 (ocf::pacemaker:remote): Started pcmk3 + pcmk_remote4 (ocf::pacemaker:remote): Started pcmk2 + pcmk_remote5 (ocf::pacemaker:remote): Started pcmk2 + FAKE1 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE2 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE3 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE4 (ocf::heartbeat:Dummy): Started pcmk_remote5 + FAKE5 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE6 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE7 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE8 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE9 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE10 (ocf::heartbeat:Dummy): Started pcmk_remote5 + FAKE11 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE12 (ocf::heartbeat:Dummy): Started pcmk2 + FAKE13 (ocf::heartbeat:Dummy): Started pcmk3 + FAKE14 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE15 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE16 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE17 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE18 (ocf::heartbeat:Dummy): Started pcmk_remote5 + FAKE19 (ocf::heartbeat:Dummy): Started pcmk3 + FAKE20 (ocf::heartbeat:Dummy): Started pcmk2 + FAKE21 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE22 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE23 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE24 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE25 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE26 (ocf::heartbeat:Dummy): Started pcmk_remote5 + FAKE27 (ocf::heartbeat:Dummy): Started pcmk3 + FAKE28 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE29 (ocf::heartbeat:Dummy): Started pcmk2 + FAKE30 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE31 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE32 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE33 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE34 (ocf::heartbeat:Dummy): Started pcmk_remote5 + FAKE35 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE36 (ocf::heartbeat:Dummy): Started pcmk3 + FAKE37 (ocf::heartbeat:Dummy): Started pcmk2 + FAKE38 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE39 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE40 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE41 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE42 (ocf::heartbeat:Dummy): Started pcmk_remote5 + FAKE43 (ocf::heartbeat:Dummy): Started pcmk_remote1 + FAKE44 (ocf::heartbeat:Dummy): Started pcmk2 + FAKE45 (ocf::heartbeat:Dummy): Started pcmk3 + FAKE46 (ocf::heartbeat:Dummy): Started pcmk1 + FAKE47 (ocf::heartbeat:Dummy): Started pcmk_remote2 + FAKE48 (ocf::heartbeat:Dummy): Started pcmk_remote3 + FAKE49 (ocf::heartbeat:Dummy): Started pcmk_remote4 + FAKE50 (ocf::heartbeat:Dummy): Started pcmk_remote5 + diff --git a/pengine/test10/remote-partial-migrate2.xml b/pengine/test10/remote-partial-migrate2.xml new file mode 100644 index 0000000..ed9299b --- /dev/null +++ b/pengine/test10/remote-partial-migrate2.xml @@ -0,0 +1,1947 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pengine/test10/remote-recover-fail.dot b/pengine/test10/remote-recover-fail.dot new file mode 100644 index 0000000..a920089 --- /dev/null +++ b/pengine/test10/remote-recover-fail.dot @@ -0,0 +1,36 @@ + digraph "g" { +"FAKE1_monitor_10000 rhel7-auto2" [ style=bold color="green" fontcolor="black"] +"FAKE1_start_0 rhel7-auto2" -> "FAKE1_monitor_10000 rhel7-auto2" [ style = bold] +"FAKE1_start_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"] +"FAKE2_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"] +"FAKE2_start_0 rhel7-auto3" -> "FAKE2_monitor_10000 rhel7-auto3" [ style = bold] +"FAKE2_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"] +"FAKE2_stop_0 rhel7-auto4" -> "FAKE2_start_0 rhel7-auto3" [ style = bold] +"FAKE2_stop_0 rhel7-auto4" -> "all_stopped" [ style = bold] +"FAKE2_stop_0 rhel7-auto4" [ style=bold color="green" fontcolor="orange"] +"FAKE3_monitor_10000 rhel7-auto2" [ style=bold color="green" fontcolor="black"] +"FAKE4_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"] +"FAKE6_monitor_10000 rhel7-auto2" [ style=bold color="green" fontcolor="black"] +"FAKE6_start_0 rhel7-auto2" -> "FAKE6_monitor_10000 rhel7-auto2" [ style = bold] +"FAKE6_start_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"] +"FAKE6_stop_0 rhel7-auto4" -> "FAKE6_start_0 rhel7-auto2" [ style = bold] +"FAKE6_stop_0 rhel7-auto4" -> "all_stopped" [ style = bold] +"FAKE6_stop_0 rhel7-auto4" [ style=bold color="green" fontcolor="orange"] +"all_stopped" [ style=bold color="green" fontcolor="orange"] +"rhel7-auto4_monitor_60000 rhel7-auto2" [ style=bold color="green" fontcolor="black"] +"rhel7-auto4_start_0 rhel7-auto2" -> "rhel7-auto4_monitor_60000 rhel7-auto2" [ style = bold] +"rhel7-auto4_start_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"] +"rhel7-auto4_stop_0 rhel7-auto2" -> "all_stopped" [ style = bold] +"rhel7-auto4_stop_0 rhel7-auto2" -> "rhel7-auto4_start_0 rhel7-auto2" [ style = bold] +"rhel7-auto4_stop_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"] +"stonith 'reboot' rhel7-auto4" -> "FAKE2_stop_0 rhel7-auto4" [ style = bold] +"stonith 'reboot' rhel7-auto4" -> "FAKE6_stop_0 rhel7-auto4" [ style = bold] +"stonith 'reboot' rhel7-auto4" -> "stonith_complete" [ style = bold] +"stonith 'reboot' rhel7-auto4" [ style=bold color="green" fontcolor="black"] +"stonith_complete" -> "FAKE1_start_0 rhel7-auto2" [ style = bold] +"stonith_complete" -> "FAKE2_start_0 rhel7-auto3" [ style = bold] +"stonith_complete" -> "FAKE6_start_0 rhel7-auto2" [ style = bold] +"stonith_complete" -> "all_stopped" [ style = bold] +"stonith_complete" -> "rhel7-auto4_start_0 rhel7-auto2" [ style = bold] +"stonith_complete" [ style=bold color="green" fontcolor="orange"] +} diff --git a/pengine/test10/remote-recover-fail.exp b/pengine/test10/remote-recover-fail.exp new file mode 100644 index 0000000..dee4acf --- /dev/null +++ b/pengine/test10/remote-recover-fail.exp @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pengine/test10/remote-recover-fail.scores b/pengine/test10/remote-recover-fail.scores new file mode 100644 index 0000000..8fc7805 --- /dev/null +++ b/pengine/test10/remote-recover-fail.scores @@ -0,0 +1,33 @@ +Allocation scores: +native_color: FAKE1 allocation score on rhel7-auto1: 0 +native_color: FAKE1 allocation score on rhel7-auto2: 0 +native_color: FAKE1 allocation score on rhel7-auto3: 0 +native_color: FAKE1 allocation score on rhel7-auto4: 0 +native_color: FAKE2 allocation score on rhel7-auto1: 0 +native_color: FAKE2 allocation score on rhel7-auto2: 0 +native_color: FAKE2 allocation score on rhel7-auto3: 0 +native_color: FAKE2 allocation score on rhel7-auto4: 0 +native_color: FAKE3 allocation score on rhel7-auto1: 0 +native_color: FAKE3 allocation score on rhel7-auto2: 0 +native_color: FAKE3 allocation score on rhel7-auto3: 0 +native_color: FAKE3 allocation score on rhel7-auto4: 0 +native_color: FAKE4 allocation score on rhel7-auto1: 0 +native_color: FAKE4 allocation score on rhel7-auto2: 0 +native_color: FAKE4 allocation score on rhel7-auto3: 0 +native_color: FAKE4 allocation score on rhel7-auto4: 0 +native_color: FAKE5 allocation score on rhel7-auto1: 0 +native_color: FAKE5 allocation score on rhel7-auto2: 0 +native_color: FAKE5 allocation score on rhel7-auto3: 0 +native_color: FAKE5 allocation score on rhel7-auto4: 0 +native_color: FAKE6 allocation score on rhel7-auto1: 0 +native_color: FAKE6 allocation score on rhel7-auto2: 0 +native_color: FAKE6 allocation score on rhel7-auto3: 0 +native_color: FAKE6 allocation score on rhel7-auto4: 0 +native_color: rhel7-auto4 allocation score on rhel7-auto1: 0 +native_color: rhel7-auto4 allocation score on rhel7-auto2: 0 +native_color: rhel7-auto4 allocation score on rhel7-auto3: 0 +native_color: rhel7-auto4 allocation score on rhel7-auto4: -INFINITY +native_color: shooter allocation score on rhel7-auto1: 0 +native_color: shooter allocation score on rhel7-auto2: 0 +native_color: shooter allocation score on rhel7-auto3: 0 +native_color: shooter allocation score on rhel7-auto4: -INFINITY diff --git a/pengine/test10/remote-recover-fail.summary b/pengine/test10/remote-recover-fail.summary new file mode 100644 index 0000000..2811fdc --- /dev/null +++ b/pengine/test10/remote-recover-fail.summary @@ -0,0 +1,53 @@ + +Current cluster status: +RemoteNode rhel7-auto4: UNCLEAN (offline) +Online: [ rhel7-auto2 rhel7-auto3 ] +OFFLINE: [ rhel7-auto1 ] + + shooter (stonith:fence_xvm): Started rhel7-auto3 + rhel7-auto4 (ocf::pacemaker:remote): FAILED rhel7-auto2 + FAKE1 (ocf::heartbeat:Dummy): Stopped + FAKE2 (ocf::heartbeat:Dummy): Started rhel7-auto4 + FAKE3 (ocf::heartbeat:Dummy): Started rhel7-auto2 + FAKE4 (ocf::heartbeat:Dummy): Started rhel7-auto3 + FAKE5 (ocf::heartbeat:Dummy): Started rhel7-auto3 + FAKE6 (ocf::heartbeat:Dummy): Started rhel7-auto4 + +Transition Summary: + * Recover rhel7-auto4 (Started rhel7-auto2) + * Start FAKE1 (rhel7-auto2) + * Move FAKE2 (Started rhel7-auto4 -> rhel7-auto3) + * Move FAKE6 (Started rhel7-auto4 -> rhel7-auto2) + +Executing cluster transition: + * Resource action: rhel7-auto4 stop on rhel7-auto2 + * Resource action: FAKE3 monitor=10000 on rhel7-auto2 + * Resource action: FAKE4 monitor=10000 on rhel7-auto3 + * Fencing rhel7-auto4 (reboot) + * Pseudo action: stonith_complete + * Resource action: rhel7-auto4 start on rhel7-auto2 + * Resource action: FAKE1 start on rhel7-auto2 + * Pseudo action: FAKE2_stop_0 + * Pseudo action: FAKE6_stop_0 + * Pseudo action: all_stopped + * Resource action: rhel7-auto4 monitor=60000 on rhel7-auto2 + * Resource action: FAKE1 monitor=10000 on rhel7-auto2 + * Resource action: FAKE2 start on rhel7-auto3 + * Resource action: FAKE6 start on rhel7-auto2 + * Resource action: FAKE2 monitor=10000 on rhel7-auto3 + * Resource action: FAKE6 monitor=10000 on rhel7-auto2 + +Revised cluster status: +Online: [ rhel7-auto2 rhel7-auto3 ] +OFFLINE: [ rhel7-auto1 ] +RemoteOnline: [ rhel7-auto4 ] + + shooter (stonith:fence_xvm): Started rhel7-auto3 + rhel7-auto4 (ocf::pacemaker:remote): Started rhel7-auto2 + FAKE1 (ocf::heartbeat:Dummy): Started rhel7-auto2 + FAKE2 (ocf::heartbeat:Dummy): Started rhel7-auto3 + FAKE3 (ocf::heartbeat:Dummy): Started rhel7-auto2 + FAKE4 (ocf::heartbeat:Dummy): Started rhel7-auto3 + FAKE5 (ocf::heartbeat:Dummy): Started rhel7-auto3 + FAKE6 (ocf::heartbeat:Dummy): Started rhel7-auto2 + diff --git a/pengine/test10/remote-recover-fail.xml b/pengine/test10/remote-recover-fail.xml new file mode 100644 index 0000000..8703e75 --- /dev/null +++ b/pengine/test10/remote-recover-fail.xml @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pengine/test10/remote-recover.dot b/pengine/test10/remote-recover.dot index 1da6a7b..22e0cc7 100644 --- a/pengine/test10/remote-recover.dot +++ b/pengine/test10/remote-recover.dot @@ -9,6 +9,7 @@ "rhel7-alt4_monitor_60000 rhel7-alt1" [ style=bold color="green" fontcolor="black"] "rhel7-alt4_start_0 rhel7-alt1" -> "fake_monitor_10000 rhel7-alt4" [ style = bold] "rhel7-alt4_start_0 rhel7-alt1" -> "fake_start_0 rhel7-alt4" [ style = bold] +"rhel7-alt4_start_0 rhel7-alt1" -> "fake_stop_0 rhel7-alt4" [ style = bold] "rhel7-alt4_start_0 rhel7-alt1" -> "rhel7-alt4_monitor_60000 rhel7-alt1" [ style = bold] "rhel7-alt4_start_0 rhel7-alt1" [ style=bold color="green" fontcolor="black"] "shooter_monitor_60000 rhel7-alt1" [ style=bold color="green" fontcolor="black"] diff --git a/pengine/test10/remote-recover.exp b/pengine/test10/remote-recover.exp index 37e4f71..6386740 100644 --- a/pengine/test10/remote-recover.exp +++ b/pengine/test10/remote-recover.exp @@ -82,7 +82,11 @@ - + + + + + diff --git a/pengine/test10/remote-start-fail.dot b/pengine/test10/remote-start-fail.dot new file mode 100644 index 0000000..26c9f33 --- /dev/null +++ b/pengine/test10/remote-start-fail.dot @@ -0,0 +1,9 @@ + digraph "g" { +"all_stopped" [ style=bold color="green" fontcolor="orange"] +"rhel7-auto4_monitor_60000 rhel7-auto3" [ style=bold color="green" fontcolor="black"] +"rhel7-auto4_start_0 rhel7-auto3" -> "rhel7-auto4_monitor_60000 rhel7-auto3" [ style = bold] +"rhel7-auto4_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"] +"rhel7-auto4_stop_0 rhel7-auto2" -> "all_stopped" [ style = bold] +"rhel7-auto4_stop_0 rhel7-auto2" -> "rhel7-auto4_start_0 rhel7-auto3" [ style = bold] +"rhel7-auto4_stop_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"] +} diff --git a/pengine/test10/remote-start-fail.exp b/pengine/test10/remote-start-fail.exp new file mode 100644 index 0000000..6e2ce8b --- /dev/null +++ b/pengine/test10/remote-start-fail.exp @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pengine/test10/remote-start-fail.scores b/pengine/test10/remote-start-fail.scores new file mode 100644 index 0000000..d36577f --- /dev/null +++ b/pengine/test10/remote-start-fail.scores @@ -0,0 +1,9 @@ +Allocation scores: +native_color: rhel7-auto4 allocation score on rhel7-auto1: -INFINITY +native_color: rhel7-auto4 allocation score on rhel7-auto2: -INFINITY +native_color: rhel7-auto4 allocation score on rhel7-auto3: 0 +native_color: rhel7-auto4 allocation score on rhel7-auto4: -INFINITY +native_color: shooter allocation score on rhel7-auto1: 0 +native_color: shooter allocation score on rhel7-auto2: 0 +native_color: shooter allocation score on rhel7-auto3: 0 +native_color: shooter allocation score on rhel7-auto4: -INFINITY diff --git a/pengine/test10/remote-start-fail.summary b/pengine/test10/remote-start-fail.summary new file mode 100644 index 0000000..4f64c75 --- /dev/null +++ b/pengine/test10/remote-start-fail.summary @@ -0,0 +1,24 @@ + +Current cluster status: +Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ] +RemoteOFFLINE: [ rhel7-auto4 ] + + shooter (stonith:fence_xvm): Started rhel7-auto1 + rhel7-auto4 (ocf::pacemaker:remote): FAILED rhel7-auto2 + +Transition Summary: + * Recover rhel7-auto4 (Started rhel7-auto2 -> rhel7-auto3) + +Executing cluster transition: + * Resource action: rhel7-auto4 stop on rhel7-auto2 + * Pseudo action: all_stopped + * Resource action: rhel7-auto4 start on rhel7-auto3 + * Resource action: rhel7-auto4 monitor=60000 on rhel7-auto3 + +Revised cluster status: +Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ] +RemoteOnline: [ rhel7-auto4 ] + + shooter (stonith:fence_xvm): Started rhel7-auto1 + rhel7-auto4 (ocf::pacemaker:remote): Started rhel7-auto3 + diff --git a/pengine/test10/remote-start-fail.xml b/pengine/test10/remote-start-fail.xml new file mode 100644 index 0000000..7f92eaf --- /dev/null +++ b/pengine/test10/remote-start-fail.xml @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pengine/test10/remote-unclean2.dot b/pengine/test10/remote-unclean2.dot new file mode 100644 index 0000000..3f8981b --- /dev/null +++ b/pengine/test10/remote-unclean2.dot @@ -0,0 +1,14 @@ + digraph "g" { +"all_stopped" [ style=bold color="green" fontcolor="orange"] +"rhel7-auto4_monitor_60000 rhel7-auto1" [ style=bold color="green" fontcolor="black"] +"rhel7-auto4_start_0 rhel7-auto1" -> "rhel7-auto4_monitor_60000 rhel7-auto1" [ style = bold] +"rhel7-auto4_start_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"] +"rhel7-auto4_stop_0 rhel7-auto1" -> "all_stopped" [ style = bold] +"rhel7-auto4_stop_0 rhel7-auto1" -> "rhel7-auto4_start_0 rhel7-auto1" [ style = bold] +"rhel7-auto4_stop_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"] +"stonith 'reboot' rhel7-auto4" -> "stonith_complete" [ style = bold] +"stonith 'reboot' rhel7-auto4" [ style=bold color="green" fontcolor="black"] +"stonith_complete" -> "all_stopped" [ style = bold] +"stonith_complete" -> "rhel7-auto4_start_0 rhel7-auto1" [ style = bold] +"stonith_complete" [ style=bold color="green" fontcolor="orange"] +} diff --git a/pengine/test10/remote-unclean2.exp b/pengine/test10/remote-unclean2.exp new file mode 100644 index 0000000..19d5863 --- /dev/null +++ b/pengine/test10/remote-unclean2.exp @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pengine/test10/remote-unclean2.scores b/pengine/test10/remote-unclean2.scores new file mode 100644 index 0000000..72a5953 --- /dev/null +++ b/pengine/test10/remote-unclean2.scores @@ -0,0 +1,9 @@ +Allocation scores: +native_color: rhel7-auto4 allocation score on rhel7-auto1: 0 +native_color: rhel7-auto4 allocation score on rhel7-auto2: 0 +native_color: rhel7-auto4 allocation score on rhel7-auto3: 0 +native_color: rhel7-auto4 allocation score on rhel7-auto4: -INFINITY +native_color: shooter allocation score on rhel7-auto1: 0 +native_color: shooter allocation score on rhel7-auto2: 0 +native_color: shooter allocation score on rhel7-auto3: 0 +native_color: shooter allocation score on rhel7-auto4: -INFINITY diff --git a/pengine/test10/remote-unclean2.summary b/pengine/test10/remote-unclean2.summary new file mode 100644 index 0000000..0a73cbd --- /dev/null +++ b/pengine/test10/remote-unclean2.summary @@ -0,0 +1,26 @@ + +Current cluster status: +RemoteNode rhel7-auto4: UNCLEAN (offline) +Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ] + + shooter (stonith:fence_xvm): Started rhel7-auto2 + rhel7-auto4 (ocf::pacemaker:remote): FAILED rhel7-auto1 + +Transition Summary: + * Recover rhel7-auto4 (Started rhel7-auto1) + +Executing cluster transition: + * Resource action: rhel7-auto4 stop on rhel7-auto1 + * Fencing rhel7-auto4 (reboot) + * Pseudo action: stonith_complete + * Pseudo action: all_stopped + * Resource action: rhel7-auto4 start on rhel7-auto1 + * Resource action: rhel7-auto4 monitor=60000 on rhel7-auto1 + +Revised cluster status: +Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ] +RemoteOnline: [ rhel7-auto4 ] + + shooter (stonith:fence_xvm): Started rhel7-auto2 + rhel7-auto4 (ocf::pacemaker:remote): Started rhel7-auto1 + diff --git a/pengine/test10/remote-unclean2.xml b/pengine/test10/remote-unclean2.xml new file mode 100644 index 0000000..616b482 --- /dev/null +++ b/pengine/test10/remote-unclean2.xml @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pengine/test10/whitebox-migrate1.exp b/pengine/test10/whitebox-migrate1.exp index 0a2b5ac..ce77eb1 100644 --- a/pengine/test10/whitebox-migrate1.exp +++ b/pengine/test10/whitebox-migrate1.exp @@ -152,7 +152,7 @@ - +