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