From 82a1a82b1245e97cb1b2f66ab03ed1d0df08a63e Mon Sep 17 00:00:00 2001 From: Andrew Beekhof Date: Tue, 21 Feb 2017 11:58:53 +1100 Subject: [PATCH] Combined commit for bundle feature Includes upstream commits: Remote: extract common functionality PE: Correctly test for clone functionality PE: Basic container parsing and expansion xml: Correctly find the first child element Core: Track the line number of callers of crm_(set|clear)_bit PE: Basic allocation of containers PE: Force node scores for containerized resources PE: Allow the graph to assume container nodes will come up and schedule actions for it PE: container: Parse network and mount options PE: Containers: Move the storage and network blocks up PE: Containers: Add support for nic and netmask parameters PE: Containers: Correctly create IP resources PE: Correctly expose peer ports within the replica set PE: Containers: Force a sane hostname PE: Containers: Allow specifiying the maximum number of peers per host PE: Container: Add support for non-default docker networks and supplying external IPs to container resources XML: Remove unnecessary container mount option PE: Containers: Remove containers on termination by default PE: Containers: Use an autoconf variable for the location of pacemaker remote PE: Containers: Switch to comma separated directory lists PE: Containers: Fix crash, climbing the parent tree should never reach the container PE: Containers: Filter external IP from parameter digests PE: Containers: Prevent invalid recovery graphs PE: Containers: The clone placement functions require the parent to be set PE: Preferred nodes are only accepted if their scores are equal to the otherwise best candidate PE: Contaienrs: Better checks when assuming a container will start PE: Clone: Simplified allocation function PE: Update tests for simplified clone allocation function PE: Extract common print functionality so that containers can re-use most of it PE: Containers: Default to a short-form print output PE: Containers: Correctly set globally unique based on replicas-per-host PE: Containers: Correctly find the right anonymous child resource running in a container PE: Containers: Default 'replicas' to the same number of 'masters' --- configure.ac | 1 + crmd/lrm_state.c | 229 ++---- include/crm/common/xml.h | 26 +- include/crm/msg_xml.h | 1 + include/crm/pengine/complex.h | 5 +- include/crm/pengine/internal.h | 16 +- include/crm_internal.h | 44 +- lib/common/utils.c | 1 + lib/lrmd/proxy_common.c | 201 +++++- lib/pengine/Makefile.am | 2 +- lib/pengine/complex.c | 26 +- lib/pengine/container.c | 800 +++++++++++++++++++++ lib/pengine/native.c | 25 +- lib/pengine/unpack.c | 57 +- lib/pengine/utils.c | 3 +- lib/pengine/variant.h | 52 ++ lrmd/remote_ctl.c | 151 +--- pengine/Makefile.am | 2 +- pengine/allocate.c | 26 +- pengine/allocate.h | 27 +- pengine/clone.c | 309 ++++---- pengine/constraints.c | 6 +- pengine/container.c | 345 +++++++++ pengine/graph.c | 23 +- pengine/master.c | 20 +- pengine/native.c | 53 +- pengine/notif.c | 28 +- pengine/test10/1360.scores | 2 + pengine/test10/662.scores | 4 +- pengine/test10/696.scores | 4 +- pengine/test10/anti-colocation-slave.scores | 4 +- pengine/test10/asymmetric.scores | 4 +- pengine/test10/bnc-515172.scores | 8 +- pengine/test10/bug-1685.scores | 4 +- pengine/test10/bug-1765.scores | 4 +- pengine/test10/bug-5143-ms-shuffle.scores | 28 +- pengine/test10/bug-5186-partial-migrate.scores | 12 +- pengine/test10/bug-cl-5168.scores | 3 + pengine/test10/bug-cl-5213.scores | 4 +- pengine/test10/bug-cl-5219.scores | 12 +- pengine/test10/bug-lf-2106.scores | 4 +- pengine/test10/bug-lf-2317.scores | 4 +- pengine/test10/bug-lf-2358.scores | 4 +- pengine/test10/bug-lf-2422.scores | 24 +- pengine/test10/bug-lf-2453.scores | 4 +- pengine/test10/bug-lf-2508.scores | 32 +- pengine/test10/bug-pm-11.scores | 16 +- pengine/test10/bug-pm-12.scores | 16 +- pengine/test10/bug-rh-1097457.scores | 8 +- pengine/test10/clone-interleave-2.scores | 8 +- pengine/test10/clone-interleave-3.scores | 16 +- pengine/test10/clone-order-16instances.scores | 4 +- pengine/test10/clone-require-all-1.scores | 4 +- pengine/test10/clone-require-all-3.scores | 4 +- pengine/test10/clone-require-all-5.scores | 4 +- pengine/test10/clone-require-all-6.scores | 8 +- .../clone-require-all-no-interleave-3.scores | 4 +- .../test10/clone_min_interleave_stop_one.scores | 12 +- .../test10/clone_min_interleave_stop_two.scores | 16 +- pengine/test10/clone_min_stop_one.scores | 4 +- pengine/test10/cloned_stop_one.scores | 4 +- pengine/test10/colo_slave_w_native.scores | 4 +- pengine/test10/coloc-clone-stays-active.scores | 100 +-- .../test10/colocate-primitive-with-clone.scores | 16 +- pengine/test10/complex_enforce_colo.scores | 68 +- pengine/test10/container-is-remote-node.scores | 4 +- pengine/test10/group-dependents.scores | 4 +- pengine/test10/group10.scores | 12 +- pengine/test10/history-1.scores | 4 +- pengine/test10/inc10.scores | 8 +- pengine/test10/interleave-restart.scores | 12 +- pengine/test10/load-stopped-loop-2.scores | 4 +- pengine/test10/load-stopped-loop.scores | 120 ++-- pengine/test10/master-12.scores | 4 +- pengine/test10/master-13.scores | 4 +- pengine/test10/master-4.scores | 58 +- pengine/test10/master-5.scores | 58 +- pengine/test10/master-6.scores | 58 +- pengine/test10/master-7.scores | 22 +- pengine/test10/master-8.scores | 16 +- pengine/test10/master-demote-2.scores | 12 +- pengine/test10/master-demote.scores | 4 +- pengine/test10/master-dependent-ban.scores | 3 - pengine/test10/master-notify.scores | 12 +- pengine/test10/master-role.scores | 4 +- pengine/test10/master-unmanaged-monitor.scores | 16 +- pengine/test10/migrate-begin.scores | 4 +- pengine/test10/migrate-both-vms.scores | 12 +- pengine/test10/migrate-fail-2.scores | 4 +- pengine/test10/migrate-fail-4.scores | 4 +- pengine/test10/migrate-fail-5.scores | 4 +- pengine/test10/migrate-fail-6.scores | 4 +- pengine/test10/migrate-fail-8.scores | 4 +- pengine/test10/migrate-fail-9.scores | 4 +- pengine/test10/migrate-fencing.scores | 20 +- pengine/test10/migrate-partial-2.scores | 4 +- pengine/test10/migrate-partial-3.scores | 4 +- .../test10/not-reschedule-unneeded-monitor.scores | 20 +- pengine/test10/novell-251689.scores | 20 +- .../one-or-more-unrunnnable-instances.scores | 56 +- pengine/test10/params-6.scores | 84 +-- pengine/test10/probe-0.scores | 8 +- pengine/test10/probe-3.scores | 16 +- pengine/test10/probe-4.scores | 16 +- pengine/test10/rec-node-13.scores | 18 +- pengine/test10/remote-orphaned.scores | 8 +- pengine/test10/stonith-0.scores | 84 +-- pengine/test10/stonith-1.scores | 4 +- pengine/test10/stonith-2.scores | 48 +- pengine/test10/ticket-clone-12.scores | 4 +- pengine/test10/ticket-clone-24.scores | 4 +- pengine/test10/ticket-master-11.scores | 4 +- pengine/test10/ticket-master-12.scores | 4 +- pengine/test10/ticket-master-16.scores | 4 +- pengine/test10/ticket-master-17.scores | 4 +- pengine/test10/ticket-master-18.scores | 4 +- pengine/test10/ticket-master-19.scores | 4 +- pengine/test10/ticket-master-20.scores | 4 +- pengine/test10/ticket-master-22.scores | 4 +- pengine/test10/ticket-master-23.scores | 4 +- pengine/test10/ticket-master-24.scores | 4 +- pengine/test10/ticket-master-5.scores | 4 +- pengine/test10/ticket-master-6.scores | 4 +- pengine/test10/ticket-master-8.scores | 4 +- pengine/test10/ticket-rsc-sets-10.scores | 4 +- pengine/test10/ticket-rsc-sets-11.scores | 4 +- pengine/test10/ticket-rsc-sets-12.scores | 4 +- pengine/test10/ticket-rsc-sets-13.scores | 4 +- pengine/test10/ticket-rsc-sets-14.scores | 4 +- pengine/test10/ticket-rsc-sets-2.scores | 4 +- pengine/test10/ticket-rsc-sets-3.scores | 4 +- pengine/test10/ticket-rsc-sets-5.scores | 4 +- pengine/test10/ticket-rsc-sets-6.scores | 4 +- pengine/test10/ticket-rsc-sets-7.scores | 4 +- pengine/test10/ticket-rsc-sets-8.scores | 4 +- pengine/test10/ticket-rsc-sets-9.scores | 4 +- pengine/test10/unfence-definition.scores | 4 +- pengine/test10/unfence-parameters.scores | 4 +- pengine/test10/unfence-startup.scores | 4 +- pengine/test10/unrunnable-2.scores | 68 +- pengine/test10/whitebox-fail1.scores | 12 +- pengine/test10/whitebox-fail2.scores | 12 +- pengine/test10/whitebox-move.scores | 20 +- pengine/test10/whitebox-ms-ordering-move.scores | 24 +- pengine/test10/whitebox-orphan-ms.scores | 16 +- pengine/test10/whitebox-orphaned.scores | 12 +- pengine/test10/whitebox-start.scores | 20 +- pengine/test10/whitebox-stop.scores | 12 +- pengine/utilization.c | 2 +- pengine/utils.c | 31 +- tools/crm_resource_runtime.c | 4 +- xml/resources-2.8.rng | 300 ++++++++ 152 files changed, 3033 insertions(+), 1469 deletions(-) create mode 100644 lib/pengine/container.c create mode 100644 pengine/container.c create mode 100644 xml/resources-2.8.rng diff --git a/configure.ac b/configure.ac index b1465a3..db2e948 100644 --- a/configure.ac +++ b/configure.ac @@ -1137,6 +1137,7 @@ AC_SUBST(OCF_RA_DIR) RH_STONITH_DIR="$sbindir" AC_DEFINE_UNQUOTED(RH_STONITH_DIR,"$RH_STONITH_DIR", Location for Red Hat Stonith agents) +AC_DEFINE_UNQUOTED(SBIN_DIR,"$sbindir", Location for system binaries) RH_STONITH_PREFIX="fence_" AC_DEFINE_UNQUOTED(RH_STONITH_PREFIX,"$RH_STONITH_PREFIX", Prefix for Red Hat Stonith agents) diff --git a/crmd/lrm_state.c b/crmd/lrm_state.c index 7b4379b..9c22683 100644 --- a/crmd/lrm_state.c +++ b/crmd/lrm_state.c @@ -401,83 +401,18 @@ lrm_state_ipc_connect(lrm_state_t * lrm_state) return ret; } -static int -remote_proxy_dispatch_internal(const char *buffer, ssize_t length, gpointer userdata) -{ - /* Async responses from cib and friends back to clients via pacemaker_remoted */ - xmlNode *xml = NULL; - remote_proxy_t *proxy = userdata; - lrm_state_t *lrm_state = lrm_state_find(proxy->node_name); - uint32_t flags; - - if (lrm_state == NULL) { - return 0; - } - - xml = string2xml(buffer); - if (xml == NULL) { - crm_warn("Received a NULL msg from IPC service."); - return 1; - } - - flags = crm_ipc_buffer_flags(proxy->ipc); - if (flags & crm_ipc_proxied_relay_response) { - crm_trace("Passing response back to %.8s on %s: %.200s - request id: %d", proxy->session_id, proxy->node_name, buffer, proxy->last_request_id); - remote_proxy_relay_response(lrm_state->conn, proxy->session_id, xml, proxy->last_request_id); - proxy->last_request_id = 0; - - } else { - crm_trace("Passing event back to %.8s on %s: %.200s", proxy->session_id, proxy->node_name, buffer); - remote_proxy_relay_event(lrm_state->conn, proxy->session_id, xml); - } - free_xml(xml); - return 1; -} - -static void -remote_proxy_disconnected(void *userdata) -{ - remote_proxy_t *proxy = userdata; - lrm_state_t *lrm_state = lrm_state_find(proxy->node_name); - - crm_trace("Destroying %s (%p)", lrm_state->node_name, userdata); - - proxy->source = NULL; - proxy->ipc = NULL; - - if (lrm_state && lrm_state->conn) { - remote_proxy_notify_destroy(lrm_state->conn, proxy->session_id); - } - g_hash_table_remove(proxy_table, proxy->session_id); -} - static remote_proxy_t * -remote_proxy_new(const char *node_name, const char *session_id, const char *channel) +crmd_remote_proxy_new(lrmd_t *lrmd, const char *node_name, const char *session_id, const char *channel) { static struct ipc_client_callbacks proxy_callbacks = { - .dispatch = remote_proxy_dispatch_internal, + .dispatch = remote_proxy_dispatch, .destroy = remote_proxy_disconnected }; - remote_proxy_t *proxy = calloc(1, sizeof(remote_proxy_t)); - - proxy->node_name = strdup(node_name); - proxy->session_id = strdup(session_id); + remote_proxy_t *proxy = remote_proxy_new(lrmd, proxy_callbacks, node_name, session_id, channel); if (safe_str_eq(channel, CRM_SYSTEM_CRMD)) { proxy->is_local = TRUE; - } else { - proxy->source = mainloop_add_ipc_client(channel, G_PRIORITY_LOW, 0, proxy, &proxy_callbacks); - proxy->ipc = mainloop_get_ipc_client(proxy->source); - - if (proxy->source == NULL) { - remote_proxy_free(proxy); - return NULL; - } } - - crm_trace("created proxy session ID %s", proxy->session_id); - g_hash_table_insert(proxy_table, proxy->session_id, proxy); - return proxy; } @@ -500,7 +435,7 @@ crmd_proxy_send(const char *session, xmlNode *msg) lrm_state = lrm_state_find(proxy->node_name); if (lrm_state) { crm_trace("Sending event to %.8s on %s", proxy->session_id, proxy->node_name); - remote_proxy_relay_event(lrm_state->conn, session, msg); + remote_proxy_relay_event(proxy, msg); } } @@ -535,7 +470,7 @@ remote_config_check(xmlNode * msg, int call_id, int rc, xmlNode * output, void * crm_str_hash, g_str_equal, g_hash_destroy_str, g_hash_destroy_str); crm_debug("Call %d : Parsing CIB options", call_id); - + unpack_instance_attributes( output, output, XML_CIB_TAG_PROPSET, NULL, config_hash, CIB_OPTIONS_FIRST, FALSE, now); @@ -548,24 +483,25 @@ remote_config_check(xmlNode * msg, int call_id, int rc, xmlNode * output, void * } static void -remote_proxy_cb(lrmd_t *lrmd, void *userdata, xmlNode *msg) +crmd_remote_proxy_cb(lrmd_t *lrmd, void *userdata, xmlNode *msg) { lrm_state_t *lrm_state = userdata; - const char *op = crm_element_value(msg, F_LRMD_IPC_OP); const char *session = crm_element_value(msg, F_LRMD_IPC_SESSION); - int msg_id = 0; - - /* sessions are raw ipc connections to IPC, - * all we do is proxy requests/responses exactly - * like they are given to us at the ipc level. */ + remote_proxy_t *proxy = g_hash_table_lookup(proxy_table, session); - CRM_CHECK(op != NULL, return); - CRM_CHECK(session != NULL, return); + const char *op = crm_element_value(msg, F_LRMD_IPC_OP); + if (safe_str_eq(op, LRMD_IPC_OP_NEW)) { + const char *channel = crm_element_value(msg, F_LRMD_IPC_IPC_SERVER); - crm_element_value_int(msg, F_LRMD_IPC_MSG_ID, &msg_id); - /* This is msg from remote ipc client going to real ipc server */ + proxy = crmd_remote_proxy_new(lrmd, lrm_state->node_name, session, channel); + if (proxy != NULL) { + /* Look up stonith-watchdog-timeout and send to the remote peer for validation */ + int rc = fsa_cib_conn->cmds->query(fsa_cib_conn, XML_CIB_TAG_CRMCONFIG, NULL, cib_scope_local); + fsa_cib_conn->cmds->register_callback_full(fsa_cib_conn, rc, 10, FALSE, lrmd, + "remote_config_check", remote_config_check, NULL); + } - if (safe_str_eq(op, LRMD_IPC_OP_SHUTDOWN_REQ)) { + } else if (safe_str_eq(op, LRMD_IPC_OP_SHUTDOWN_REQ)) { char *now_s = NULL; time_t now = time(NULL); @@ -580,122 +516,37 @@ remote_proxy_cb(lrmd_t *lrmd, void *userdata, xmlNode *msg) crm_warn("Reconnection attempts to %s may result in failures that must be cleared", lrm_state->node_name); - return; - } else if (safe_str_eq(op, LRMD_IPC_OP_NEW)) { - int rc; - const char *channel = crm_element_value(msg, F_LRMD_IPC_IPC_SERVER); + } else if (safe_str_eq(op, LRMD_IPC_OP_REQUEST) && proxy->is_local) { + /* this is for the crmd, which we are, so don't try + * and connect/send to ourselves over ipc. instead + * do it directly. + */ + int flags = 0; + xmlNode *request = get_message_xml(msg, F_LRMD_IPC_MSG); - CRM_CHECK(channel != NULL, return); + crmd_proxy_dispatch(session, request); + crm_element_value_int(msg, F_LRMD_IPC_MSG_FLAGS, &flags); - if (remote_proxy_new(lrm_state->node_name, session, channel) == NULL) { - remote_proxy_notify_destroy(lrmd, session); - } - crm_trace("new remote proxy client established to %s, session id %s", channel, session); + if (flags & crm_ipc_client_response) { + int msg_id = 0; + xmlNode *op_reply = create_xml_node(NULL, "ack"); - /* Look up stonith-watchdog-timeout and send to the remote peer for validation */ - rc = fsa_cib_conn->cmds->query(fsa_cib_conn, XML_CIB_TAG_CRMCONFIG, NULL, cib_scope_local); - fsa_cib_conn->cmds->register_callback_full(fsa_cib_conn, rc, 10, FALSE, lrmd, "remote_config_check", remote_config_check, NULL); - - } else if (safe_str_eq(op, LRMD_IPC_OP_DESTROY)) { - remote_proxy_end_session(session); + crm_xml_add(op_reply, "function", __FUNCTION__); + crm_xml_add_int(op_reply, "line", __LINE__); - } else if (safe_str_eq(op, LRMD_IPC_OP_REQUEST)) { - int flags = 0; - xmlNode *request = get_message_xml(msg, F_LRMD_IPC_MSG); - const char *name = crm_element_value(msg, F_LRMD_IPC_CLIENT); - remote_proxy_t *proxy = g_hash_table_lookup(proxy_table, session); - - CRM_CHECK(request != NULL, return); - - if (proxy == NULL) { - /* proxy connection no longer exists */ - remote_proxy_notify_destroy(lrmd, session); - return; - } else if ((proxy->is_local == FALSE) && (crm_ipc_connected(proxy->ipc) == FALSE)) { - remote_proxy_end_session(session); - return; - } - proxy->last_request_id = 0; - crm_element_value_int(msg, F_LRMD_IPC_MSG_FLAGS, &flags); - crm_xml_add(request, XML_ACL_TAG_ROLE, "pacemaker-remote"); - -#if ENABLE_ACL - CRM_ASSERT(lrm_state->node_name); - crm_acl_get_set_user(request, F_LRMD_IPC_USER, lrm_state->node_name); -#endif - - if (proxy->is_local) { - /* this is for the crmd, which we are, so don't try - * and connect/send to ourselves over ipc. instead - * do it directly. */ - crmd_proxy_dispatch(session, request); - if (flags & crm_ipc_client_response) { - xmlNode *op_reply = create_xml_node(NULL, "ack"); - - crm_xml_add(op_reply, "function", __FUNCTION__); - crm_xml_add_int(op_reply, "line", __LINE__); - remote_proxy_relay_response(lrmd, session, op_reply, msg_id); - free_xml(op_reply); - } - - } else if(is_set(flags, crm_ipc_proxied)) { - const char *type = crm_element_value(request, F_TYPE); - int rc = 0; - - if (safe_str_eq(type, T_ATTRD) - && crm_element_value(request, F_ATTRD_HOST) == NULL) { - crm_xml_add(request, F_ATTRD_HOST, proxy->node_name); - } - - rc = crm_ipc_send(proxy->ipc, request, flags, 5000, NULL); - - if(rc < 0) { - xmlNode *op_reply = create_xml_node(NULL, "nack"); - - crm_err("Could not relay %s request %d from %s to %s for %s: %s (%d)", - op, msg_id, proxy->node_name, crm_ipc_name(proxy->ipc), name, pcmk_strerror(rc), rc); - - /* Send a n'ack so the caller doesn't block */ - crm_xml_add(op_reply, "function", __FUNCTION__); - crm_xml_add_int(op_reply, "line", __LINE__); - crm_xml_add_int(op_reply, "rc", rc); - remote_proxy_relay_response(lrmd, session, op_reply, msg_id); - free_xml(op_reply); - - } else { - crm_trace("Relayed %s request %d from %s to %s for %s", - op, msg_id, proxy->node_name, crm_ipc_name(proxy->ipc), name); - proxy->last_request_id = msg_id; - } - - } else { - int rc = pcmk_ok; - xmlNode *op_reply = NULL; - /* For backwards compatibility with pacemaker_remoted <= 1.1.10 */ - - crm_trace("Relaying %s request %d from %s to %s for %s", - op, msg_id, proxy->node_name, crm_ipc_name(proxy->ipc), name); - - rc = crm_ipc_send(proxy->ipc, request, flags, 10000, &op_reply); - if(rc < 0) { - crm_err("Could not relay %s request %d from %s to %s for %s: %s (%d)", - op, msg_id, proxy->node_name, crm_ipc_name(proxy->ipc), name, pcmk_strerror(rc), rc); - } else { - crm_trace("Relayed %s request %d from %s to %s for %s", - op, msg_id, proxy->node_name, crm_ipc_name(proxy->ipc), name); - } - - if(op_reply) { - remote_proxy_relay_response(lrmd, session, op_reply, msg_id); - free_xml(op_reply); - } + crm_element_value_int(msg, F_LRMD_IPC_MSG_ID, &msg_id); + remote_proxy_relay_response(proxy, op_reply, msg_id); + + free_xml(op_reply); } + } else { - crm_err("Unknown proxy operation: %s", op); + remote_proxy_cb(lrmd, lrm_state->node_name, msg); } } + int lrm_state_remote_connect_async(lrm_state_t * lrm_state, const char *server, int port, int timeout_ms) @@ -708,7 +559,7 @@ lrm_state_remote_connect_async(lrm_state_t * lrm_state, const char *server, int return -1; } ((lrmd_t *) lrm_state->conn)->cmds->set_callback(lrm_state->conn, remote_lrm_op_callback); - lrmd_internal_set_proxy_callback(lrm_state->conn, lrm_state, remote_proxy_cb); + lrmd_internal_set_proxy_callback(lrm_state->conn, lrm_state, crmd_remote_proxy_cb); } crm_trace("initiating remote connection to %s at %d with timeout %d", server, port, timeout_ms); diff --git a/include/crm/common/xml.h b/include/crm/common/xml.h index a948915..9d9118a 100644 --- a/include/crm/common/xml.h +++ b/include/crm/common/xml.h @@ -316,15 +316,33 @@ __xml_next(xmlNode * child) } static inline xmlNode * +__xml_first_child_element(xmlNode * parent) +{ + xmlNode *child = NULL; + + if (parent) { + child = parent->children; + } + + while (child) { + if(child->type == XML_ELEMENT_NODE) { + return child; + } + child = child->next; + } + return NULL; +} + +static inline xmlNode * __xml_next_element(xmlNode * child) { - if (child) { + while (child) { child = child->next; - while (child && child->type != XML_ELEMENT_NODE) { - child = child->next; + if(child && child->type == XML_ELEMENT_NODE) { + return child; } } - return child; + return NULL; } void free_xml(xmlNode * child); diff --git a/include/crm/msg_xml.h b/include/crm/msg_xml.h index 6ec796a..3c67a98 100644 --- a/include/crm/msg_xml.h +++ b/include/crm/msg_xml.h @@ -186,6 +186,7 @@ # define XML_CIB_TAG_GROUP "group" # define XML_CIB_TAG_INCARNATION "clone" # define XML_CIB_TAG_MASTER "master" +# define XML_CIB_TAG_CONTAINER "bucket" # define XML_CIB_TAG_RSC_TEMPLATE "template" diff --git a/include/crm/pengine/complex.h b/include/crm/pengine/complex.h index 69da80f..92829f9 100644 --- a/include/crm/pengine/complex.h +++ b/include/crm/pengine/complex.h @@ -31,8 +31,9 @@ enum pe_obj_types { pe_unknown = -1, pe_native = 0, pe_group = 1, - pe_clone = 2, - pe_master = 3 + pe_container = 2, + pe_clone = 3, + pe_master = 4 }; enum pe_obj_types get_resource_type(const char *name); diff --git a/include/crm/pengine/internal.h b/include/crm/pengine/internal.h index 6b25da1..adafefd 100644 --- a/include/crm/pengine/internal.h +++ b/include/crm/pengine/internal.h @@ -28,8 +28,8 @@ # define pe_warn(fmt...) { was_processing_warning = TRUE; crm_config_warning = TRUE; crm_warn(fmt); } # define pe_proc_err(fmt...) { was_processing_error = TRUE; crm_err(fmt); } # define pe_proc_warn(fmt...) { was_processing_warning = TRUE; crm_warn(fmt); } -# define pe_set_action_bit(action, bit) action->flags = crm_set_bit(__FUNCTION__, action->uuid, action->flags, bit) -# define pe_clear_action_bit(action, bit) action->flags = crm_clear_bit(__FUNCTION__, action->uuid, action->flags, bit) +# define pe_set_action_bit(action, bit) action->flags = crm_set_bit(__FUNCTION__, __LINE__, action->uuid, action->flags, bit) +# define pe_clear_action_bit(action, bit) action->flags = crm_clear_bit(__FUNCTION__, __LINE__, action->uuid, action->flags, bit) typedef struct notify_data_s { GHashTable *keys; @@ -74,6 +74,7 @@ gboolean native_unpack(resource_t * rsc, pe_working_set_t * data_set); gboolean group_unpack(resource_t * rsc, pe_working_set_t * data_set); gboolean clone_unpack(resource_t * rsc, pe_working_set_t * data_set); gboolean master_unpack(resource_t * rsc, pe_working_set_t * data_set); +gboolean container_unpack(resource_t * rsc, pe_working_set_t * data_set); resource_t *native_find_rsc(resource_t * rsc, const char *id, node_t * node, int flags); @@ -81,25 +82,28 @@ gboolean native_active(resource_t * rsc, gboolean all); gboolean group_active(resource_t * rsc, gboolean all); gboolean clone_active(resource_t * rsc, gboolean all); gboolean master_active(resource_t * rsc, gboolean all); +gboolean container_active(resource_t * rsc, gboolean all); void native_print(resource_t * rsc, const char *pre_text, long options, void *print_data); void group_print(resource_t * rsc, const char *pre_text, long options, void *print_data); void clone_print(resource_t * rsc, const char *pre_text, long options, void *print_data); void master_print(resource_t * rsc, const char *pre_text, long options, void *print_data); +void container_print(resource_t * rsc, const char *pre_text, long options, void *print_data); void native_free(resource_t * rsc); void group_free(resource_t * rsc); void clone_free(resource_t * rsc); void master_free(resource_t * rsc); +void container_free(resource_t * rsc); enum rsc_role_e native_resource_state(const resource_t * rsc, gboolean current); enum rsc_role_e group_resource_state(const resource_t * rsc, gboolean current); enum rsc_role_e clone_resource_state(const resource_t * rsc, gboolean current); enum rsc_role_e master_resource_state(const resource_t * rsc, gboolean current); +enum rsc_role_e container_resource_state(const resource_t * rsc, gboolean current); gboolean common_unpack(xmlNode * xml_obj, resource_t ** rsc, resource_t * parent, pe_working_set_t * data_set); -void common_print(resource_t * rsc, const char *pre_text, long options, void *print_data); void common_free(resource_t * rsc); extern pe_working_set_t *pe_dataset; @@ -282,4 +286,10 @@ void print_rscs_brief(GListPtr rsc_list, const char * pre_text, long options, void * print_data, gboolean print_all); void pe_fence_node(pe_working_set_t * data_set, node_t * node, const char *reason); +node_t *create_node(const char *id, const char *uname, const char *type, const char *score, pe_working_set_t * data_set); +bool remote_id_conflict(const char *remote_name, pe_working_set_t *data); +void common_print(resource_t * rsc, const char *pre_text, const char *name, node_t *node, long options, void *print_data); +resource_t *find_container_child(const char *stem, resource_t * rsc, node_t *node); + + #endif diff --git a/include/crm_internal.h b/include/crm_internal.h index a8fee47..46eef45 100644 --- a/include/crm_internal.h +++ b/include/crm_internal.h @@ -157,39 +157,47 @@ char *generate_transition_magic(const char *transition_key, int op_status, int o char *generate_transition_key(int action, int transition_id, int target_rc, const char *node); static inline long long -crm_clear_bit(const char *function, const char *target, long long word, long long bit) +crm_clear_bit(const char *function, int line, const char *target, long long word, long long bit) { long long rc = (word & ~bit); + /* if(bit == 0x00002) { */ + /* crm_err("Bit 0x%.8llx for %s cleared by %s:%d", bit, target, function, line); */ + /* } */ + if (rc == word) { /* Unchanged */ } else if (target) { - crm_trace("Bit 0x%.8llx for %s cleared by %s", bit, target, function); + crm_trace("Bit 0x%.8llx for %s cleared by %s:%d", bit, target, function, line); } else { - crm_trace("Bit 0x%.8llx cleared by %s", bit, function); + crm_trace("Bit 0x%.8llx cleared by %s:%d", bit, function, line); } return rc; } static inline long long -crm_set_bit(const char *function, const char *target, long long word, long long bit) +crm_set_bit(const char *function, int line, const char *target, long long word, long long bit) { long long rc = (word | bit); + /* if(bit == 0x00002) { */ + /* crm_err("Bit 0x%.8llx for %s set by %s:%d", bit, target, function, line); */ + /* } */ + if (rc == word) { /* Unchanged */ } else if (target) { - crm_trace("Bit 0x%.8llx for %s set by %s", bit, target, function); + crm_trace("Bit 0x%.8llx for %s set by %s:%d", bit, target, function, line); } else { - crm_trace("Bit 0x%.8llx set by %s", bit, function); + crm_trace("Bit 0x%.8llx set by %s:%d", bit, function, line); } return rc; } -# define set_bit(word, bit) word = crm_set_bit(__FUNCTION__, NULL, word, bit) -# define clear_bit(word, bit) word = crm_clear_bit(__FUNCTION__, NULL, word, bit) +# define set_bit(word, bit) word = crm_set_bit(__FUNCTION__, __LINE__, NULL, word, bit) +# define clear_bit(word, bit) word = crm_clear_bit(__FUNCTION__, __LINE__, NULL, word, bit) char *generate_hash_key(const char *crm_msg_reference, const char *sys); @@ -361,14 +369,24 @@ typedef struct remote_proxy_s { crm_ipc_t *ipc; mainloop_io_t *source; uint32_t last_request_id; + lrmd_t *lrm; } remote_proxy_t; -void remote_proxy_notify_destroy(lrmd_t *lrmd, const char *session_id); + +remote_proxy_t *remote_proxy_new( + lrmd_t *lrmd, struct ipc_client_callbacks proxy_callbacks, + const char *node_name, const char *session_id, const char *channel); + +int remote_proxy_check(lrmd_t *lrmd, GHashTable *hash); +void remote_proxy_cb(lrmd_t *lrmd, const char *node_name, xmlNode *msg); void remote_proxy_ack_shutdown(lrmd_t *lrmd); -void remote_proxy_relay_event(lrmd_t *lrmd, const char *session_id, xmlNode *msg); -void remote_proxy_relay_response(lrmd_t *lrmd, const char *session_id, xmlNode *msg, int msg_id); -void remote_proxy_end_session(const char *session); + +int remote_proxy_dispatch(const char *buffer, ssize_t length, gpointer userdata); +void remote_proxy_disconnected(gpointer data); void remote_proxy_free(gpointer data); -int remote_proxy_check(lrmd_t * lrmd, GHashTable *hash); + +void remote_proxy_end_session(remote_proxy_t *proxy); +void remote_proxy_relay_event(remote_proxy_t *proxy, xmlNode *msg); +void remote_proxy_relay_response(remote_proxy_t *proxy, xmlNode *msg, int msg_id); #endif /* CRM_INTERNAL__H */ diff --git a/lib/common/utils.c b/lib/common/utils.c index 83072c5..51ba77a 100644 --- a/lib/common/utils.c +++ b/lib/common/utils.c @@ -896,6 +896,7 @@ filter_action_parameters(xmlNode * param_set, const char *version) XML_LRM_ATTR_OP_DIGEST, XML_LRM_ATTR_TARGET, XML_LRM_ATTR_TARGET_UUID, + "pcmk_external_ip" }; gboolean do_delete = FALSE; diff --git a/lib/lrmd/proxy_common.c b/lib/lrmd/proxy_common.c index eb17e4e..a250bae 100644 --- a/lib/lrmd/proxy_common.c +++ b/lib/lrmd/proxy_common.c @@ -34,7 +34,7 @@ int lrmd_internal_proxy_send(lrmd_t * lrmd, xmlNode *msg); GHashTable *proxy_table = NULL; -void +static void remote_proxy_notify_destroy(lrmd_t *lrmd, const char *session_id) { /* sending to the remote node that an ipc connection has been destroyed */ @@ -60,36 +60,34 @@ remote_proxy_ack_shutdown(lrmd_t *lrmd) } void -remote_proxy_relay_event(lrmd_t *lrmd, const char *session_id, xmlNode *msg) +remote_proxy_relay_event(remote_proxy_t *proxy, xmlNode *msg) { /* sending to the remote node an event msg. */ xmlNode *event = create_xml_node(NULL, T_LRMD_IPC_PROXY); crm_xml_add(event, F_LRMD_IPC_OP, LRMD_IPC_OP_EVENT); - crm_xml_add(event, F_LRMD_IPC_SESSION, session_id); + crm_xml_add(event, F_LRMD_IPC_SESSION, proxy->session_id); add_message_xml(event, F_LRMD_IPC_MSG, msg); crm_log_xml_explicit(event, "EventForProxy"); - lrmd_internal_proxy_send(lrmd, event); + lrmd_internal_proxy_send(proxy->lrm, event); free_xml(event); } void -remote_proxy_relay_response(lrmd_t *lrmd, const char *session_id, xmlNode *msg, int msg_id) +remote_proxy_relay_response(remote_proxy_t *proxy, xmlNode *msg, int msg_id) { /* sending to the remote node a response msg. */ xmlNode *response = create_xml_node(NULL, T_LRMD_IPC_PROXY); crm_xml_add(response, F_LRMD_IPC_OP, LRMD_IPC_OP_RESPONSE); - crm_xml_add(response, F_LRMD_IPC_SESSION, session_id); + crm_xml_add(response, F_LRMD_IPC_SESSION, proxy->session_id); crm_xml_add_int(response, F_LRMD_IPC_MSG_ID, msg_id); add_message_xml(response, F_LRMD_IPC_MSG, msg); - lrmd_internal_proxy_send(lrmd, response); + lrmd_internal_proxy_send(proxy->lrm, response); free_xml(response); } -void -remote_proxy_end_session(const char *session) +void +remote_proxy_end_session(remote_proxy_t *proxy) { - remote_proxy_t *proxy = g_hash_table_lookup(proxy_table, session); - if (proxy == NULL) { return; } @@ -111,4 +109,185 @@ remote_proxy_free(gpointer data) free(proxy); } +int +remote_proxy_dispatch(const char *buffer, ssize_t length, gpointer userdata) +{ + /* Async responses from cib and friends back to clients via pacemaker_remoted */ + xmlNode *xml = NULL; + uint32_t flags = 0; + remote_proxy_t *proxy = userdata; + + xml = string2xml(buffer); + if (xml == NULL) { + crm_warn("Received a NULL msg from IPC service."); + return 1; + } + + flags = crm_ipc_buffer_flags(proxy->ipc); + if (flags & crm_ipc_proxied_relay_response) { + crm_trace("Passing response back to %.8s on %s: %.200s - request id: %d", proxy->session_id, proxy->node_name, buffer, proxy->last_request_id); + remote_proxy_relay_response(proxy, xml, proxy->last_request_id); + proxy->last_request_id = 0; + + } else { + crm_trace("Passing event back to %.8s on %s: %.200s", proxy->session_id, proxy->node_name, buffer); + remote_proxy_relay_event(proxy, xml); + } + free_xml(xml); + return 1; +} + + +void +remote_proxy_disconnected(gpointer userdata) +{ + remote_proxy_t *proxy = userdata; + crm_trace("destroying %p", proxy); + + proxy->source = NULL; + proxy->ipc = NULL; + + if(proxy->lrm) { + remote_proxy_notify_destroy(proxy->lrm, proxy->session_id); + proxy->lrm = NULL; + } + + g_hash_table_remove(proxy_table, proxy->session_id); +} + +remote_proxy_t * +remote_proxy_new(lrmd_t *lrmd, struct ipc_client_callbacks proxy_callbacks, + const char *node_name, const char *session_id, const char *channel) +{ + remote_proxy_t *proxy = NULL; + + if(channel == NULL) { + crm_err("No channel specified to proxy"); + remote_proxy_notify_destroy(lrmd, session_id); + return NULL; + } + + proxy = calloc(1, sizeof(remote_proxy_t)); + + proxy->node_name = strdup(node_name); + proxy->session_id = strdup(session_id); + + proxy->source = mainloop_add_ipc_client(channel, G_PRIORITY_LOW, 0, proxy, &proxy_callbacks); + proxy->ipc = mainloop_get_ipc_client(proxy->source); + proxy->lrm = lrmd; + + if (proxy->source == NULL) { + remote_proxy_free(proxy); + remote_proxy_notify_destroy(lrmd, session_id); + return NULL; + } + + crm_trace("new remote proxy client established to %s on %s, session id %s", + channel, node_name, session_id); + g_hash_table_insert(proxy_table, proxy->session_id, proxy); + + return proxy; +} + +void +remote_proxy_cb(lrmd_t *lrmd, const char *node_name, xmlNode *msg) +{ + const char *op = crm_element_value(msg, F_LRMD_IPC_OP); + const char *session = crm_element_value(msg, F_LRMD_IPC_SESSION); + remote_proxy_t *proxy = g_hash_table_lookup(proxy_table, session); + int msg_id = 0; + + /* sessions are raw ipc connections to IPC, + * all we do is proxy requests/responses exactly + * like they are given to us at the ipc level. */ + + CRM_CHECK(op != NULL, return); + CRM_CHECK(session != NULL, return); + + crm_element_value_int(msg, F_LRMD_IPC_MSG_ID, &msg_id); + /* This is msg from remote ipc client going to real ipc server */ + + if (safe_str_eq(op, LRMD_IPC_OP_DESTROY)) { + remote_proxy_end_session(proxy); + + } else if (safe_str_eq(op, LRMD_IPC_OP_REQUEST)) { + int flags = 0; + xmlNode *request = get_message_xml(msg, F_LRMD_IPC_MSG); + const char *name = crm_element_value(msg, F_LRMD_IPC_CLIENT); + + CRM_CHECK(request != NULL, return); + + if (proxy == NULL) { + /* proxy connection no longer exists */ + remote_proxy_notify_destroy(lrmd, session); + return; + } else if ((proxy->is_local == FALSE) && (crm_ipc_connected(proxy->ipc) == FALSE)) { + remote_proxy_end_session(proxy); + return; + } + proxy->last_request_id = 0; + crm_element_value_int(msg, F_LRMD_IPC_MSG_FLAGS, &flags); + crm_xml_add(request, XML_ACL_TAG_ROLE, "pacemaker-remote"); + +#if ENABLE_ACL + CRM_ASSERT(node_name); + crm_acl_get_set_user(request, F_LRMD_IPC_USER, node_name); +#endif + + if(is_set(flags, crm_ipc_proxied)) { + const char *type = crm_element_value(request, F_TYPE); + int rc = 0; + + if (safe_str_eq(type, T_ATTRD) + && crm_element_value(request, F_ATTRD_HOST) == NULL) { + crm_xml_add(request, F_ATTRD_HOST, proxy->node_name); + } + + rc = crm_ipc_send(proxy->ipc, request, flags, 5000, NULL); + + if(rc < 0) { + xmlNode *op_reply = create_xml_node(NULL, "nack"); + + crm_err("Could not relay %s request %d from %s to %s for %s: %s (%d)", + op, msg_id, proxy->node_name, crm_ipc_name(proxy->ipc), name, pcmk_strerror(rc), rc); + + /* Send a n'ack so the caller doesn't block */ + crm_xml_add(op_reply, "function", __FUNCTION__); + crm_xml_add_int(op_reply, "line", __LINE__); + crm_xml_add_int(op_reply, "rc", rc); + remote_proxy_relay_response(proxy, op_reply, msg_id); + free_xml(op_reply); + + } else { + crm_trace("Relayed %s request %d from %s to %s for %s", + op, msg_id, proxy->node_name, crm_ipc_name(proxy->ipc), name); + proxy->last_request_id = msg_id; + } + + } else { + int rc = pcmk_ok; + xmlNode *op_reply = NULL; + /* For backwards compatibility with pacemaker_remoted <= 1.1.10 */ + + crm_trace("Relaying %s request %d from %s to %s for %s", + op, msg_id, proxy->node_name, crm_ipc_name(proxy->ipc), name); + + rc = crm_ipc_send(proxy->ipc, request, flags, 10000, &op_reply); + if(rc < 0) { + crm_err("Could not relay %s request %d from %s to %s for %s: %s (%d)", + op, msg_id, proxy->node_name, crm_ipc_name(proxy->ipc), name, pcmk_strerror(rc), rc); + } else { + crm_trace("Relayed %s request %d from %s to %s for %s", + op, msg_id, proxy->node_name, crm_ipc_name(proxy->ipc), name); + } + + if(op_reply) { + remote_proxy_relay_response(proxy, op_reply, msg_id); + free_xml(op_reply); + } + } + } else { + crm_err("Unknown proxy operation: %s", op); + } +} diff --git a/lib/pengine/Makefile.am b/lib/pengine/Makefile.am index 59aa383..40188f9 100644 --- a/lib/pengine/Makefile.am +++ b/lib/pengine/Makefile.am @@ -37,7 +37,7 @@ libpe_status_la_CFLAGS = $(CFLAGS_HARDENED_LIB) libpe_status_la_LDFLAGS += $(LDFLAGS_HARDENED_LIB) libpe_status_la_LIBADD = @CURSESLIBS@ $(top_builddir)/lib/common/libcrmcommon.la -libpe_status_la_SOURCES = status.c unpack.c utils.c complex.c native.c \ +libpe_status_la_SOURCES = status.c unpack.c utils.c complex.c native.c container.c \ group.c clone.c rules.c common.c remote.c clean-generic: diff --git a/lib/pengine/complex.c b/lib/pengine/complex.c index 7fe622f..9fa8bf0 100644 --- a/lib/pengine/complex.c +++ b/lib/pengine/complex.c @@ -33,7 +33,8 @@ resource_object_functions_t resource_class_functions[] = { native_active, native_resource_state, native_location, - native_free}, + native_free + }, { group_unpack, native_find_rsc, @@ -42,7 +43,18 @@ resource_object_functions_t resource_class_functions[] = { group_active, group_resource_state, native_location, - group_free}, + group_free + }, + { + container_unpack, + native_find_rsc, + native_parameter, + container_print, + container_active, + container_resource_state, + native_location, + container_free + }, { clone_unpack, native_find_rsc, @@ -51,7 +63,8 @@ resource_object_functions_t resource_class_functions[] = { clone_active, clone_resource_state, native_location, - clone_free}, + clone_free + }, { master_unpack, native_find_rsc, @@ -77,6 +90,9 @@ get_resource_type(const char *name) } else if (safe_str_eq(name, XML_CIB_TAG_MASTER)) { return pe_master; + + } else if (safe_str_eq(name, XML_CIB_TAG_CONTAINER)) { + return pe_container; } return pe_unknown; @@ -94,6 +110,8 @@ get_resource_typename(enum pe_obj_types type) return XML_CIB_TAG_INCARNATION; case pe_master: return XML_CIB_TAG_MASTER; + case pe_container: + return XML_CIB_TAG_CONTAINER; case pe_unknown: return "unknown"; } @@ -816,7 +834,7 @@ uber_parent(resource_t * rsc) if (parent == NULL) { return NULL; } - while (parent->parent != NULL) { + while (parent->parent != NULL && parent->parent->variant != pe_container) { parent = parent->parent; } return parent; diff --git a/lib/pengine/container.c b/lib/pengine/container.c new file mode 100644 index 0000000..d7d47ad --- /dev/null +++ b/lib/pengine/container.c @@ -0,0 +1,800 @@ +/* + * Copyright (C) 2004 Andrew Beekhof + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include + +#include +#include +#include +#include +#include + +#define VARIANT_CONTAINER 1 +#include "./variant.h" + +void tuple_free(container_grouping_t *tuple); + +static char * +next_ip(const char *last_ip) +{ + int oct1 = 0; + int oct2 = 0; + int oct3 = 0; + int oct4 = 0; + + int rc = sscanf(last_ip, "%d.%d.%d.%d", &oct1, &oct2, &oct3, &oct4); + if (rc != 4) { + return NULL; + + } else if(oct4 > 255) { + return NULL; + } + + return crm_strdup_printf("%d.%d.%d.%d", oct1, oct2, oct3, oct4+1); +} + +static int +allocate_ip(container_variant_data_t *data, container_grouping_t *tuple, char *buffer, int max) +{ + if(data->ip_range_start == NULL) { + return 0; + + } else if(data->ip_last) { + tuple->ipaddr = next_ip(data->ip_last); + + } else { + tuple->ipaddr = strdup(data->ip_range_start); + } + + data->ip_last = tuple->ipaddr; +#if 0 + return snprintf(buffer, max, " --add-host=%s-%d:%s --link %s-docker-%d:%s-link-%d", + data->prefix, tuple->offset, tuple->ipaddr, + data->prefix, tuple->offset, data->prefix, tuple->offset); +#else + return snprintf(buffer, max, " --add-host=%s-%d:%s", + data->prefix, tuple->offset, tuple->ipaddr); +#endif +} + +static xmlNode * +create_resource(const char *name, const char *provider, const char *kind) +{ + xmlNode *rsc = create_xml_node(NULL, XML_CIB_TAG_RESOURCE); + + crm_xml_add(rsc, XML_ATTR_ID, name); + crm_xml_add(rsc, XML_AGENT_ATTR_CLASS, "ocf"); + crm_xml_add(rsc, XML_AGENT_ATTR_PROVIDER, provider); + crm_xml_add(rsc, "type", kind); + + return rsc; +} + +static void +create_nvp(xmlNode *parent, const char *name, const char *value) +{ + char *id = crm_strdup_printf("%s-%s", ID(parent), name); + xmlNode *xml_nvp = create_xml_node(parent, XML_CIB_TAG_NVPAIR); + + crm_xml_add(xml_nvp, XML_ATTR_ID, id); free(id); + crm_xml_add(xml_nvp, XML_NVPAIR_ATTR_NAME, name); + crm_xml_add(xml_nvp, XML_NVPAIR_ATTR_VALUE, value); +} + +static void +create_op(xmlNode *parent, const char *prefix, const char *task, const char *interval) +{ + char *id = crm_strdup_printf("%s-%s-%s", prefix, task, interval); + xmlNode *xml_op = create_xml_node(parent, "op"); + + crm_xml_add(xml_op, XML_ATTR_ID, id); free(id); + crm_xml_add(xml_op, XML_LRM_ATTR_INTERVAL, interval); + crm_xml_add(xml_op, "name", task); +} + +static bool +create_ip_resource( + resource_t *parent, container_variant_data_t *data, container_grouping_t *tuple, + pe_working_set_t * data_set) +{ + if(data->ip_range_start) { + char *id = crm_strdup_printf("%s-ip-%s", data->prefix, tuple->ipaddr); + xmlNode *xml_ip = create_resource(id, "heartbeat", "IPaddr2"); + xmlNode *xml_obj = NULL; + + id = crm_strdup_printf("%s-attributes-%d", data->prefix, tuple->offset); + xml_obj = create_xml_node(xml_ip, XML_TAG_ATTR_SETS); + crm_xml_add(xml_obj, XML_ATTR_ID, id); free(id); + + create_nvp(xml_obj, "ip", tuple->ipaddr); + if(data->host_network) { + create_nvp(xml_obj, "nic", data->host_network); + } + + if(data->host_netmask) { + create_nvp(xml_obj, "cidr_netmask", data->host_netmask); + + } else { + create_nvp(xml_obj, "cidr_netmask", "32"); + } + + xml_obj = create_xml_node(xml_ip, "operations"); + create_op(xml_obj, ID(xml_ip), "monitor", "60s"); + + // TODO: Other ops? Timeouts and intervals from underlying resource? + + if (common_unpack(xml_ip, &tuple->ip, NULL, data_set) == false) { + return FALSE; + } + + parent->children = g_list_append(parent->children, tuple->ip); + } + return TRUE; +} + +static bool +create_docker_resource( + resource_t *parent, container_variant_data_t *data, container_grouping_t *tuple, + pe_working_set_t * data_set) +{ + int offset = 0, max = 4096; + char *buffer = calloc(1, max+1); + + int doffset = 0, dmax = 1024; + char *dbuffer = calloc(1, dmax+1); + + char *id = crm_strdup_printf("%s-docker-%d", data->prefix, tuple->offset); + xmlNode *xml_docker = create_resource(id, "heartbeat", "docker"); + xmlNode *xml_obj = NULL; + + id = crm_strdup_printf("%s-attributes-%d", data->prefix, tuple->offset); + xml_obj = create_xml_node(xml_docker, XML_TAG_ATTR_SETS); + crm_xml_add(xml_obj, XML_ATTR_ID, id); free(id); + + create_nvp(xml_obj, "image", data->image); + create_nvp(xml_obj, "allow_pull", "true"); + create_nvp(xml_obj, "force_kill", "false"); + create_nvp(xml_obj, "reuse", "false"); + + offset += snprintf(buffer+offset, max-offset, "-h %s-%d --restart=no ", + data->prefix, tuple->offset); + + if(data->docker_network) { +// offset += snprintf(buffer+offset, max-offset, " --link-local-ip=%s", tuple->ipaddr); + offset += snprintf(buffer+offset, max-offset, " --net=%s", data->docker_network); + } + + for(GListPtr pIter = data->mounts; pIter != NULL; pIter = pIter->next) { + container_mount_t *mount = pIter->data; + + if(mount->flags) { + char *source = crm_strdup_printf( + "%s/%s-%d", mount->source, data->prefix, tuple->offset); + + if(doffset > 0) { + doffset += snprintf(dbuffer+doffset, dmax-doffset, ","); + } + doffset += snprintf(dbuffer+doffset, dmax-doffset, "%s", source); + offset += snprintf(buffer+offset, max-offset, " -v %s:%s", source, mount->target); + + } else { + offset += snprintf(buffer+offset, max-offset, " -v %s:%s", mount->source, mount->target); + } + if(mount->options) { + offset += snprintf(buffer+offset, max-offset, ":%s", mount->options); + } + } + + for(GListPtr pIter = data->ports; pIter != NULL; pIter = pIter->next) { + char *port = pIter->data; + + offset += snprintf(buffer+offset, max-offset, " -p %s:%s:%s", + tuple->ipaddr, port, port); + } + + if(data->docker_run_options) { + offset += snprintf(buffer+offset, max-offset, " %s", data->docker_run_options); + } + + if(data->docker_host_options) { + offset += snprintf(buffer+offset, max-offset, " %s", data->docker_host_options); + } + + create_nvp(xml_obj, "run_opts", buffer); + free(buffer); + + create_nvp(xml_obj, "mount_points", dbuffer); + free(dbuffer); + + if(tuple->child) { + create_nvp(xml_obj, "run_cmd", SBIN_DIR"/pacemaker_remoted"); + + /* TODO: Allow users to specify their own? + * + * We just want to know if the container is alive, we'll + * monitor the child independantly + */ + create_nvp(xml_obj, "monitor_cmd", "/bin/true"); + /* } else if(child && data->untrusted) { + * Support this use-case? + * + * The ability to have resources started/stopped by us, but + * unable to set attributes, etc. + * + * Arguably better to control API access this with ACLs like + * "normal" remote nodes + * + * create_nvp(xml_obj, "run_cmd", "/usr/libexec/pacemaker/lrmd"); + * create_nvp(xml_obj, "monitor_cmd", "/usr/libexec/pacemaker/lrmd_internal_ctl -c poke"); + */ + } else { + /* TODO: Allow users to specify their own? + * + * We don't know what's in the container, so we just want + * to know if it is alive + */ + create_nvp(xml_obj, "monitor_cmd", "/bin/true"); + } + + + xml_obj = create_xml_node(xml_docker, "operations"); + create_op(xml_obj, ID(xml_docker), "monitor", "60s"); + + // TODO: Other ops? Timeouts and intervals from underlying resource? + + if (common_unpack(xml_docker, &tuple->docker, NULL, data_set) == FALSE) { + return FALSE; + } + parent->children = g_list_append(parent->children, tuple->docker); + tuple->docker->parent = parent; + return TRUE; +} + +static bool +create_remote_resource( + resource_t *parent, container_variant_data_t *data, container_grouping_t *tuple, + pe_working_set_t * data_set) +{ + if(tuple->ip && tuple->child) { + node_t *node = NULL; + xmlNode *xml_obj = NULL; + xmlNode *xml_remote = NULL; + char *nodeid = crm_strdup_printf("%s-%d", data->prefix, tuple->offset); + char *id = strdup(nodeid); + + if(remote_id_conflict(id, data_set)) { + // The biggest hammer we have + id = crm_strdup_printf("pcmk-internal-%s-remote-%d", tuple->child->id, tuple->offset); + } + + CRM_ASSERT(remote_id_conflict(id, data_set) == FALSE); + + xml_remote = create_resource(id, "pacemaker", "remote"); + xml_obj = create_xml_node(xml_remote, "operations"); + create_op(xml_obj, ID(xml_remote), "monitor", "60s"); + + id = crm_strdup_printf("%s-attributes-%d", data->prefix, tuple->offset); + xml_obj = create_xml_node(xml_remote, XML_TAG_ATTR_SETS); + crm_xml_add(xml_obj, XML_ATTR_ID, id); free(id); + + create_nvp(xml_obj, "addr", tuple->ipaddr); + create_nvp(xml_obj, "port", crm_itoa(DEFAULT_REMOTE_PORT)); + + id = crm_strdup_printf("%s-meta-%d", data->prefix, tuple->offset); + xml_obj = create_xml_node(xml_remote, XML_TAG_META_SETS); + crm_xml_add(xml_obj, XML_ATTR_ID, id); free(id); + + create_nvp(xml_obj, XML_OP_ATTR_ALLOW_MIGRATE, "false"); + + // Sets up node->details->remote_rsc->container == tuple->docker + create_nvp(xml_obj, XML_RSC_ATTR_CONTAINER, tuple->docker->id); + + // TODO: Do this generically, eg with rsc->flags + // create_nvp(xml_obj, XML_RSC_ATTR_INTERNAL_RSC, "true"); // Suppress printing + + // tuple->docker->fillers = g_list_append(tuple->docker->fillers, child); + + // -INFINITY prevents anyone else from running here + node = create_node(strdup(nodeid), nodeid, "remote", "-INFINITY", data_set); + tuple->node = node_copy(node); + tuple->node->weight = 500; + nodeid = NULL; + id = NULL; + + if (common_unpack(xml_remote, &tuple->remote, NULL, data_set) == FALSE) { + return FALSE; + } + + tuple->node->details->remote_rsc = tuple->remote; + parent->children = g_list_append(parent->children, tuple->remote); + } + return TRUE; +} + +static bool +create_container( + resource_t *parent, container_variant_data_t *data, container_grouping_t *tuple, + pe_working_set_t * data_set) +{ + + if(create_docker_resource(parent, data, tuple, data_set) == FALSE) { + return TRUE; + } + if(create_ip_resource(parent, data, tuple, data_set) == FALSE) { + return TRUE; + } + if(create_remote_resource(parent, data, tuple, data_set) == FALSE) { + return TRUE; + } + if(tuple->child && tuple->ipaddr) { + add_hash_param(tuple->child->meta, "external-ip", tuple->ipaddr); + } + + return FALSE; +} + +static void mount_free(container_mount_t *mount) +{ + free(mount->source); + free(mount->target); + free(mount->options); + free(mount); +} + +gboolean +container_unpack(resource_t * rsc, pe_working_set_t * data_set) +{ + const char *value = NULL; + xmlNode *xml_obj = NULL; + xmlNode *xml_resource = NULL; + container_variant_data_t *container_data = NULL; + + pe_rsc_trace(rsc, "Processing resource %s...", rsc->id); + + container_data = calloc(1, sizeof(container_variant_data_t)); + rsc->variant_opaque = container_data; + container_data->prefix = strdup(rsc->id); + + xml_obj = first_named_child(rsc->xml, "docker"); + if(xml_obj == NULL) { + return FALSE; + } + + value = crm_element_value(xml_obj, "replicas"); + if(value == NULL) { + value = crm_element_value(xml_obj, "masters"); + } + container_data->replicas = crm_parse_int(value, "1"); + + /* + * Communication between containers on the same host via the + * floating IPs only works if docker is started with: + * --userland-proxy=false --ip-masq=false + */ + value = crm_element_value(xml_obj, "replicas-per-host"); + container_data->replicas_per_host = crm_parse_int(value, "1"); + + if(container_data->replicas_per_host == 1) { + clear_bit(rsc->flags, pe_rsc_unique); + } + + value = crm_element_value(xml_obj, "masters"); + container_data->masters = crm_parse_int(value, "1"); + + container_data->docker_run_options = crm_element_value_copy(xml_obj, "options"); + container_data->image = crm_element_value_copy(xml_obj, "image"); + + xml_obj = first_named_child(rsc->xml, "network"); + if(xml_obj) { + + container_data->ip_range_start = crm_element_value_copy(xml_obj, "ip-range-start"); + container_data->host_netmask = crm_element_value_copy(xml_obj, "host-netmask"); + container_data->host_network = crm_element_value_copy(xml_obj, "host-network"); + container_data->docker_network = crm_element_value_copy(xml_obj, "docker-network"); + + for (xmlNode *xml_child = __xml_first_child_element(xml_obj); xml_child != NULL; + xml_child = __xml_next_element(xml_child)) { + + char *port = crm_element_value_copy(xml_child, "port"); + + if(port == NULL) { + port = crm_element_value_copy(xml_child, "range"); + } + + if(port != NULL) { + container_data->ports = g_list_append(container_data->ports, port); + } else { + pe_err("Invalid port directive %s", ID(xml_child)); + } + } + } + + xml_obj = first_named_child(rsc->xml, "storage"); + for (xmlNode *xml_child = __xml_first_child_element(xml_obj); xml_child != NULL; + xml_child = __xml_next_element(xml_child)) { + + container_mount_t *mount = calloc(1, sizeof(container_mount_t)); + mount->source = crm_element_value_copy(xml_child, "source-dir"); + + if(mount->source == NULL) { + mount->source = crm_element_value_copy(xml_child, "source-dir-root"); + mount->flags = 1; + } + mount->target = crm_element_value_copy(xml_child, "target-dir"); + mount->options = crm_element_value_copy(xml_child, "options"); + + if(mount->source && mount->target) { + container_data->mounts = g_list_append(container_data->mounts, mount); + } else { + pe_err("Invalid mount directive %s", ID(xml_child)); + mount_free(mount); + } + } + + xml_obj = first_named_child(rsc->xml, "primitive"); + if(xml_obj && container_data->ip_range_start && container_data->replicas > 0) { + char *value = NULL; + xmlNode *xml_set = NULL; + + if(container_data->masters > 0) { + xml_resource = create_xml_node(NULL, XML_CIB_TAG_MASTER); + + } else { + xml_resource = create_xml_node(NULL, XML_CIB_TAG_INCARNATION); + } + + value = crm_strdup_printf("%s-%s", container_data->prefix, xml_resource->name); + crm_xml_add(xml_resource, XML_ATTR_ID, value); + free(value); + + value = crm_strdup_printf("%s-%s-meta", container_data->prefix, xml_resource->name); + xml_set = create_xml_node(xml_resource, XML_TAG_META_SETS); + free(value); + + create_nvp(xml_set, XML_RSC_ATTR_ORDERED, "true"); + + value = crm_itoa(container_data->replicas); + create_nvp(xml_set, XML_RSC_ATTR_INCARNATION_MAX, value); + free(value); + + value = crm_itoa(container_data->replicas_per_host); + create_nvp(xml_set, XML_RSC_ATTR_INCARNATION_NODEMAX, value); + free(value); + + if(container_data->replicas_per_host > 1) { + create_nvp(xml_set, XML_RSC_ATTR_UNIQUE, "true"); + } else { + create_nvp(xml_set, XML_RSC_ATTR_UNIQUE, "false"); + } + + if(container_data->masters) { + value = crm_itoa(container_data->masters); + create_nvp(xml_set, XML_RSC_ATTR_MASTER_MAX, value); + free(value); + } + + //crm_xml_add(xml_obj, XML_ATTR_ID, container_data->prefix); + add_node_copy(xml_resource, xml_obj); + + /* } else if(xml_obj && container_data->ip_range_start) { */ + /* xml_resource = copy_xml(xml_resource); */ + + } else if(xml_obj) { + pe_err("Cannot control %s inside container %s without a value for ip-range-start", + rsc->id, ID(xml_obj)); + return FALSE; + } + + if(xml_resource) { + int lpc = 0; + GListPtr childIter = NULL; + resource_t *new_rsc = NULL; + container_mount_t *mount = NULL; + + int offset = 0, max = 1024; + char *buffer = calloc(1, max+1); + + mount = calloc(1, sizeof(container_mount_t)); + mount->source = strdup(DEFAULT_REMOTE_KEY_LOCATION); + mount->target = strdup(DEFAULT_REMOTE_KEY_LOCATION); + mount->options = NULL; + mount->flags = 0; + container_data->mounts = g_list_append(container_data->mounts, mount); + + mount = calloc(1, sizeof(container_mount_t)); + mount->source = strdup("/var/log/containers"); + mount->target = strdup("/var/log"); + mount->options = NULL; + mount->flags = 1; + container_data->mounts = g_list_append(container_data->mounts, mount); + + container_data->ports = g_list_append(container_data->ports, crm_itoa(DEFAULT_REMOTE_PORT)); + + if (common_unpack(xml_resource, &new_rsc, rsc, data_set) == FALSE) { + pe_err("Failed unpacking resource %s", crm_element_value(rsc->xml, XML_ATTR_ID)); + if (new_rsc != NULL && new_rsc->fns != NULL) { + new_rsc->fns->free(new_rsc); + } + return FALSE; + } + + container_data->child = new_rsc; + container_data->child->orig_xml = xml_obj; // Also the trigger for common_free() + // to free xml_resource as container_data->child->xml + + for(childIter = container_data->child->children; childIter != NULL; childIter = childIter->next) { + container_grouping_t *tuple = calloc(1, sizeof(container_grouping_t)); + tuple->child = childIter->data; + tuple->offset = lpc++; + + offset += allocate_ip(container_data, tuple, buffer+offset, max-offset); + container_data->tuples = g_list_append(container_data->tuples, tuple); + } + container_data->docker_host_options = buffer; + + } else { + // Just a naked container, no pacemaker-remote + int offset = 0, max = 1024; + char *buffer = calloc(1, max+1); + + for(int lpc = 0; lpc < container_data->replicas; lpc++) { + container_grouping_t *tuple = calloc(1, sizeof(container_grouping_t)); + tuple->offset = lpc; + offset += allocate_ip(container_data, tuple, buffer+offset, max-offset); + container_data->tuples = g_list_append(container_data->tuples, tuple); + } + + container_data->docker_host_options = buffer; + } + + + for (GListPtr gIter = container_data->tuples; gIter != NULL; gIter = gIter->next) { + container_grouping_t *tuple = (container_grouping_t *)gIter->data; + // TODO: Remove from list if create_container() returns TRUE + create_container(rsc, container_data, tuple, data_set); + } + + if(container_data->child) { + rsc->children = g_list_append(rsc->children, container_data->child); + } + return TRUE; +} + +gboolean +container_active(resource_t * rsc, gboolean all) +{ + return TRUE; +} + +resource_t * +find_container_child(const char *stem, resource_t * rsc, node_t *node) +{ + container_variant_data_t *container_data = NULL; + resource_t *parent = uber_parent(rsc); + CRM_ASSERT(parent->parent); + + parent = parent->parent; + get_container_variant_data(container_data, parent); + + if (is_not_set(rsc->flags, pe_rsc_unique)) { + for (GListPtr gIter = container_data->tuples; gIter != NULL; gIter = gIter->next) { + container_grouping_t *tuple = (container_grouping_t *)gIter->data; + + CRM_ASSERT(tuple); + if(tuple->node->details == node->details) { + rsc = tuple->child; + break; + } + } + } + + if (rsc && safe_str_neq(stem, rsc->id)) { + free(rsc->clone_name); + rsc->clone_name = strdup(stem); + } + + return rsc; +} + +static void +container_print_xml(resource_t * rsc, const char *pre_text, long options, void *print_data) +{ + container_variant_data_t *container_data = NULL; + char *child_text = NULL; + CRM_CHECK(rsc != NULL, return); + + if (pre_text == NULL) { + pre_text = ""; + } + child_text = crm_concat(pre_text, " ", ' '); + + status_print("%sid); + status_print("managed=\"%s\" ", is_set(rsc->flags, pe_rsc_managed) ? "true" : "false"); + status_print("failed=\"%s\" ", is_set(rsc->flags, pe_rsc_failed) ? "true" : "false"); + status_print(">\n"); + + get_container_variant_data(container_data, rsc); + + status_print("%sDocker container: %s [%s]%s%s", + pre_text, rsc->id, container_data->image, + is_set(rsc->flags, pe_rsc_unique) ? " (unique)" : "", + is_set(rsc->flags, pe_rsc_managed) ? "" : " (unmanaged)"); + + for (GListPtr gIter = container_data->tuples; gIter != NULL; gIter = gIter->next) { + container_grouping_t *tuple = (container_grouping_t *)gIter->data; + + CRM_ASSERT(tuple); + if(tuple->ip) { + tuple->ip->fns->print(tuple->ip, child_text, options, print_data); + } + if(tuple->child) { + tuple->child->fns->print(tuple->child, child_text, options, print_data); + } + if(tuple->docker) { + tuple->docker->fns->print(tuple->docker, child_text, options, print_data); + } + if(tuple->remote) { + tuple->remote->fns->print(tuple->remote, child_text, options, print_data); + } + } + status_print("%s\n", pre_text); + free(child_text); +} + +static void +tuple_print(container_grouping_t * tuple, const char *pre_text, long options, void *print_data) +{ + node_t *node = NULL; + resource_t *rsc = tuple->child; + + int offset = 0; + char buffer[LINE_MAX]; + + if(rsc == NULL) { + rsc = tuple->docker; + } + + if(tuple->remote) { + offset += snprintf(buffer + offset, LINE_MAX - offset, "%s", rsc_printable_id(tuple->remote)); + } else { + offset += snprintf(buffer + offset, LINE_MAX - offset, "%s", rsc_printable_id(tuple->docker)); + } + if(tuple->ipaddr) { + offset += snprintf(buffer + offset, LINE_MAX - offset, " (%s)", tuple->ipaddr); + } + + if(tuple->remote && tuple->remote->running_on != NULL) { + node = tuple->remote->running_on->data; + } else if (tuple->remote == NULL && rsc->running_on != NULL) { + node = rsc->running_on->data; + } + common_print(rsc, pre_text, buffer, node, options, print_data); +} + +void +container_print(resource_t * rsc, const char *pre_text, long options, void *print_data) +{ + container_variant_data_t *container_data = NULL; + char *child_text = NULL; + CRM_CHECK(rsc != NULL, return); + + if (options & pe_print_xml) { + container_print_xml(rsc, pre_text, options, print_data); + return; + } + + get_container_variant_data(container_data, rsc); + + if (pre_text == NULL) { + pre_text = " "; + } + + child_text = crm_strdup_printf(" %s", pre_text); + status_print("%sDocker container%s: %s [%s]%s%s\n", + pre_text, container_data->replicas>1?" set":"", rsc->id, container_data->image, + is_set(rsc->flags, pe_rsc_unique) ? " (unique)" : "", + is_set(rsc->flags, pe_rsc_managed) ? "" : " (unmanaged)"); + + for (GListPtr gIter = container_data->tuples; gIter != NULL; gIter = gIter->next) { + container_grouping_t *tuple = (container_grouping_t *)gIter->data; + + CRM_ASSERT(tuple); + if(is_set(options, pe_print_clone_details)) { + if(g_list_length(container_data->tuples) > 1) { + status_print(" %sReplica[%d]\n", pre_text, tuple->offset); + } + + if(tuple->ip) { + tuple->ip->fns->print(tuple->ip, child_text, options, print_data); + } + if(tuple->docker) { + tuple->docker->fns->print(tuple->docker, child_text, options, print_data); + } + if(tuple->remote) { + tuple->remote->fns->print(tuple->remote, child_text, options, print_data); + } + if(tuple->child) { + tuple->child->fns->print(tuple->child, child_text, options, print_data); + } + } else { + char *child_text = crm_strdup_printf("%s ", pre_text); + tuple_print(tuple, child_text, options, print_data); + } + } +} + +void +tuple_free(container_grouping_t *tuple) +{ + if(tuple == NULL) { + return; + } + + // TODO: Free tuple->node ? + + if(tuple->ip) { + tuple->ip->fns->free(tuple->ip); + tuple->ip = NULL; + } + if(tuple->child) { + tuple->child->fns->free(tuple->child); + tuple->child = NULL; + } + if(tuple->docker) { + tuple->docker->fns->free(tuple->docker); + tuple->docker = NULL; + } + if(tuple->remote) { + tuple->remote->fns->free(tuple->remote); + tuple->remote = NULL; + } + free(tuple->ipaddr); + free(tuple); +} + +void +container_free(resource_t * rsc) +{ + container_variant_data_t *container_data = NULL; + CRM_CHECK(rsc != NULL, return); + + get_container_variant_data(container_data, rsc); + pe_rsc_trace(rsc, "Freeing %s", rsc->id); + + free(container_data->prefix); + free(container_data->image); + free(container_data->host_network); + free(container_data->host_netmask); + free(container_data->ip_range_start); + free(container_data->docker_network); + free(container_data->docker_run_options); + free(container_data->docker_host_options); + + g_list_free_full(container_data->tuples, (GDestroyNotify)tuple_free); + g_list_free_full(container_data->mounts, (GDestroyNotify)mount_free); + g_list_free_full(container_data->ports, free); + common_free(rsc); +} + +enum rsc_role_e +container_resource_state(const resource_t * rsc, gboolean current) +{ + enum rsc_role_e container_role = RSC_ROLE_UNKNOWN; + return container_role; +} diff --git a/lib/pengine/native.c b/lib/pengine/native.c index 11febf4..8bcb2b6 100644 --- a/lib/pengine/native.c +++ b/lib/pengine/native.c @@ -465,9 +465,8 @@ comma_if(int i) } void -native_print(resource_t * rsc, const char *pre_text, long options, void *print_data) +common_print(resource_t * rsc, const char *pre_text, const char *name, node_t *node, long options, void *print_data) { - node_t *node = NULL; const char *desc = NULL; const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); const char *kind = crm_element_value(rsc->xml, XML_ATTR_TYPE); @@ -500,9 +499,6 @@ native_print(resource_t * rsc, const char *pre_text, long options, void *print_d return; } - if (rsc->running_on != NULL) { - node = rsc->running_on->data; - } if ((options & pe_print_rsconly) || g_list_length(rsc->running_on) > 1) { node = NULL; } @@ -531,7 +527,7 @@ native_print(resource_t * rsc, const char *pre_text, long options, void *print_d if(pre_text) { offset += snprintf(buffer + offset, LINE_MAX - offset, "%s", pre_text); } - offset += snprintf(buffer + offset, LINE_MAX - offset, "%s", rsc_printable_id(rsc)); + offset += snprintf(buffer + offset, LINE_MAX - offset, "%s", name); offset += snprintf(buffer + offset, LINE_MAX - offset, "\t(%s", class); if (safe_str_eq(class, PCMK_RESOURCE_CLASS_OCF)) { const char *prov = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER); @@ -717,6 +713,23 @@ native_print(resource_t * rsc, const char *pre_text, long options, void *print_d } void +native_print(resource_t * rsc, const char *pre_text, long options, void *print_data) +{ + node_t *node = NULL; + + CRM_ASSERT(rsc->variant == pe_native); + if (options & pe_print_xml) { + native_print_xml(rsc, pre_text, options, print_data); + return; + } + + if (rsc->running_on != NULL) { + node = rsc->running_on->data; + } + common_print(rsc, pre_text, rsc_printable_id(rsc), node, options, print_data); +} + +void native_free(resource_t * rsc) { pe_rsc_trace(rsc, "Freeing resource action list (not the data)"); diff --git a/lib/pengine/unpack.c b/lib/pengine/unpack.c index f3a7ebc..3bc9839 100644 --- a/lib/pengine/unpack.c +++ b/lib/pengine/unpack.c @@ -296,7 +296,7 @@ destroy_digest_cache(gpointer ptr) free(data); } -static node_t * +node_t * create_node(const char *id, const char *uname, const char *type, const char *score, pe_working_set_t * data_set) { node_t *new_node = NULL; @@ -359,8 +359,37 @@ create_node(const char *id, const char *uname, const char *type, const char *sco return new_node; } +bool +remote_id_conflict(const char *remote_name, pe_working_set_t *data) +{ + bool match = FALSE; +#if 1 + pe_find_resource(data->resources, remote_name); +#else + if (data->name_check == NULL) { + data->name_check = g_hash_table_new(crm_str_hash, g_str_equal); + for (xml_rsc = __xml_first_child(parent); xml_rsc != NULL; xml_rsc = __xml_next_element(xml_rsc)) { + const char *id = ID(xml_rsc); + + /* avoiding heap allocation here because we know the duration of this hashtable allows us to */ + g_hash_table_insert(data->name_check, (char *) id, (char *) id); + } + } + if (g_hash_table_lookup(data->name_check, remote_name)) { + match = TRUE; + } +#endif + if (match) { + crm_err("Invalid remote-node name, a resource called '%s' already exists.", remote_name); + return NULL; + } + + return match; +} + + static const char * -expand_remote_rsc_meta(xmlNode *xml_obj, xmlNode *parent, GHashTable **rsc_name_check) +expand_remote_rsc_meta(xmlNode *xml_obj, xmlNode *parent, pe_working_set_t *data) { xmlNode *xml_rsc = NULL; xmlNode *xml_tmp = NULL; @@ -402,20 +431,7 @@ expand_remote_rsc_meta(xmlNode *xml_obj, xmlNode *parent, GHashTable **rsc_name_ return NULL; } - if (*rsc_name_check == NULL) { - *rsc_name_check = g_hash_table_new(crm_str_hash, g_str_equal); - for (xml_rsc = __xml_first_child(parent); xml_rsc != NULL; xml_rsc = __xml_next_element(xml_rsc)) { - const char *id = ID(xml_rsc); - - /* avoiding heap allocation here because we know the duration of this hashtable allows us to */ - g_hash_table_insert(*rsc_name_check, (char *) id, (char *) id); - } - } - - if (g_hash_table_lookup(*rsc_name_check, remote_name)) { - - crm_err("Naming conflict with remote-node=%s. remote-nodes can not have the same name as a resource.", - remote_name); + if (remote_id_conflict(remote_name, data)) { return NULL; } @@ -661,7 +677,7 @@ unpack_remote_nodes(xmlNode * xml_resources, pe_working_set_t * data_set) if (crm_str_eq((const char *)xml_obj->name, XML_CIB_TAG_RESOURCE, TRUE)) { /* expands a metadata defined remote resource into the xml config * as an actual rsc primitive to be unpacked later. */ - new_node_id = expand_remote_rsc_meta(xml_obj, xml_resources, &rsc_name_check); + new_node_id = expand_remote_rsc_meta(xml_obj, xml_resources, data_set); if (new_node_id && pe_find_node(data_set->nodes, new_node_id) == NULL) { crm_trace("Found guest remote node %s in container resource %s", new_node_id, ID(xml_obj)); @@ -674,7 +690,7 @@ unpack_remote_nodes(xmlNode * xml_resources, pe_working_set_t * data_set) /* search through a group to see if any of the primitive contain a remote node. */ for (xml_obj2 = __xml_first_child(xml_obj); xml_obj2 != NULL; xml_obj2 = __xml_next_element(xml_obj2)) { - new_node_id = expand_remote_rsc_meta(xml_obj2, xml_resources, &rsc_name_check); + new_node_id = expand_remote_rsc_meta(xml_obj2, xml_resources, data_set); if (new_node_id && pe_find_node(data_set->nodes, new_node_id) == NULL) { crm_trace("Found guest remote node %s in container resource %s which is in group %s", new_node_id, ID(xml_obj2), ID(xml_obj)); @@ -1803,7 +1819,10 @@ unpack_find_resource(pe_working_set_t * data_set, node_t * node, const char *rsc parent = uber_parent(rsc); } - if (parent && parent->variant > pe_group) { + if(parent && parent->parent) { + rsc = find_container_child(rsc_id, rsc, node); + + } else if (parent && parent->variant >= pe_clone) { if (is_not_set(parent->flags, pe_rsc_unique)) { char *base = clone_strip(rsc_id); diff --git a/lib/pengine/utils.c b/lib/pengine/utils.c index 2b53999..16d12d8 100644 --- a/lib/pengine/utils.c +++ b/lib/pengine/utils.c @@ -509,7 +509,8 @@ custom_action(resource_t * rsc, char *key, const char *task, pe_set_action_bit(action, pe_action_optional); /* action->runnable = FALSE; */ - } else if (action->node->details->online == FALSE) { + } else if (action->node->details->online == FALSE + && (!is_container_remote_node(action->node) || action->node->details->remote_requires_reset)) { pe_clear_action_bit(action, pe_action_runnable); do_crm_log(warn_level, "Action %s on %s is unrunnable (offline)", action->uuid, action->node->details->uname); diff --git a/lib/pengine/variant.h b/lib/pengine/variant.h index d127917..b02aeb0 100644 --- a/lib/pengine/variant.h +++ b/lib/pengine/variant.h @@ -55,6 +55,58 @@ typedef struct clone_variant_data_s { CRM_ASSERT(rsc->variant == pe_clone || rsc->variant == pe_master); \ data = (clone_variant_data_t *)rsc->variant_opaque; +# elif VARIANT_CONTAINER + +typedef struct +{ + int offset; + node_t *node; + char *ipaddr; + resource_t *ip; + resource_t *child; + resource_t *docker; + resource_t *remote; + +} container_grouping_t; + +typedef struct +{ + char *source; + char *target; + char *options; + int flags; + +} container_mount_t; + +typedef struct container_variant_data_s { + int masters; + int replicas; + int replicas_per_host; + char *prefix; + char *image; + const char *ip_last; + char *host_network; + char *host_netmask; + char *docker_network; + char *ip_range_start; + char *docker_host_options; + char *docker_run_options; + + resource_t *child; + + GListPtr tuples; /* container_grouping_t * */ + GListPtr ports; /* */ + GListPtr mounts; /* */ + + +} container_variant_data_t; + +# define get_container_variant_data(data, rsc) \ + CRM_ASSERT(rsc != NULL); \ + CRM_ASSERT(rsc->variant == pe_container); \ + CRM_ASSERT(rsc->variant_opaque != NULL); \ + data = (container_variant_data_t *)rsc->variant_opaque; \ + # elif VARIANT_GROUP typedef struct group_variant_data_s { diff --git a/lrmd/remote_ctl.c b/lrmd/remote_ctl.c index 41cab66..f3fc24f 100644 --- a/lrmd/remote_ctl.c +++ b/lrmd/remote_ctl.c @@ -210,6 +210,7 @@ client_start(gpointer user_data) client_exit(PCMK_OCF_UNKNOWN_ERROR); } wait_poke = 1; + } else { lrmd_rsc_info_t *rsc_info = NULL; @@ -244,156 +245,24 @@ client_start(gpointer user_data) return 0; } -static int -remote_proxy_dispatch_internal(const char *buffer, ssize_t length, gpointer userdata) -{ - /* Async responses from cib and friends back to clients via pacemaker_remoted */ - xmlNode *xml = NULL; - remote_proxy_t *proxy = userdata; - uint32_t flags; - - xml = string2xml(buffer); - if (xml == NULL) { - crm_warn("Received a NULL msg from IPC service."); - return 1; - } - - flags = crm_ipc_buffer_flags(proxy->ipc); - if (flags & crm_ipc_proxied_relay_response) { - crm_trace("Passing response back to %.8s on %s: %.200s - request id: %d", proxy->session_id, proxy->node_name, buffer, proxy->last_request_id); - remote_proxy_relay_response(lrmd_conn, proxy->session_id, xml, proxy->last_request_id); - proxy->last_request_id = 0; - - } else { - crm_trace("Passing event back to %.8s on %s: %.200s", proxy->session_id, proxy->node_name, buffer); - remote_proxy_relay_event(lrmd_conn, proxy->session_id, xml); - } - free_xml(xml); - return 1; -} - static void -remote_proxy_disconnected(void *userdata) -{ - remote_proxy_t *proxy = userdata; - - crm_trace("destroying %p", userdata); - - proxy->source = NULL; - proxy->ipc = NULL; - - remote_proxy_notify_destroy(lrmd_conn, proxy->session_id); - g_hash_table_remove(proxy_table, proxy->session_id); -} - -static remote_proxy_t * -remote_proxy_new(const char *node_name, const char *session_id, const char *channel) -{ - static struct ipc_client_callbacks proxy_callbacks = { - .dispatch = remote_proxy_dispatch_internal, - .destroy = remote_proxy_disconnected - }; - remote_proxy_t *proxy = calloc(1, sizeof(remote_proxy_t)); - - proxy->node_name = strdup(node_name); - proxy->session_id = strdup(session_id); - - if (safe_str_eq(channel, CRM_SYSTEM_CRMD)) { - proxy->is_local = TRUE; - } else { - proxy->source = mainloop_add_ipc_client(channel, G_PRIORITY_LOW, 0, proxy, &proxy_callbacks); - proxy->ipc = mainloop_get_ipc_client(proxy->source); - - if (proxy->source == NULL) { - remote_proxy_free(proxy); - return NULL; - } - } - - crm_trace("created proxy session ID %s", proxy->session_id); - g_hash_table_insert(proxy_table, proxy->session_id, proxy); - - return proxy; -} - -static void -remote_proxy_cb(lrmd_t *lrmd, void *userdata, xmlNode *msg) +ctl_remote_proxy_cb(lrmd_t *lrmd, void *userdata, xmlNode *msg) { const char *op = crm_element_value(msg, F_LRMD_IPC_OP); const char *session = crm_element_value(msg, F_LRMD_IPC_SESSION); - int msg_id = 0; - /* sessions are raw ipc connections to IPC, - * all we do is proxy requests/responses exactly - * like they are given to us at the ipc level. */ - - CRM_CHECK(op != NULL, return); - CRM_CHECK(session != NULL, return); - - crm_element_value_int(msg, F_LRMD_IPC_MSG_ID, &msg_id); - - /* This is msg from remote ipc client going to real ipc server */ if (safe_str_eq(op, LRMD_IPC_OP_NEW)) { const char *channel = crm_element_value(msg, F_LRMD_IPC_IPC_SERVER); - CRM_CHECK(channel != NULL, return); + static struct ipc_client_callbacks proxy_callbacks = { + .dispatch = remote_proxy_dispatch, + .destroy = remote_proxy_disconnected + }; + + remote_proxy_new(lrmd, proxy_callbacks, options.node_name, session, channel); - if (remote_proxy_new(options.node_name, session, channel) == NULL) { - remote_proxy_notify_destroy(lrmd, session); - } - crm_info("new remote proxy client established to %s, session id %s", channel, session); - } else if (safe_str_eq(op, LRMD_IPC_OP_DESTROY)) { - remote_proxy_end_session(session); - - } else if (safe_str_eq(op, LRMD_IPC_OP_REQUEST)) { - int flags = 0; - xmlNode *request = get_message_xml(msg, F_LRMD_IPC_MSG); - const char *name = crm_element_value(msg, F_LRMD_IPC_CLIENT); - remote_proxy_t *proxy = g_hash_table_lookup(proxy_table, session); - - CRM_CHECK(request != NULL, return); - - if (proxy == NULL) { - /* proxy connection no longer exists */ - remote_proxy_notify_destroy(lrmd, session); - return; - } else if ((proxy->is_local == FALSE) && (crm_ipc_connected(proxy->ipc) == FALSE)) { - remote_proxy_end_session(session); - return; - } - proxy->last_request_id = 0; - crm_element_value_int(msg, F_LRMD_IPC_MSG_FLAGS, &flags); - crm_xml_add(request, XML_ACL_TAG_ROLE, "pacemaker-remote"); - -#if ENABLE_ACL - CRM_ASSERT(options.node_name); - crm_acl_get_set_user(request, F_LRMD_IPC_USER, options.node_name); -#endif - - if (is_set(flags, crm_ipc_proxied)) { - int rc = crm_ipc_send(proxy->ipc, request, flags, 5000, NULL); - - if(rc < 0) { - xmlNode *op_reply = create_xml_node(NULL, "nack"); - - crm_err("Could not relay %s request %d from %s to %s for %s: %s (%d)", - op, msg_id, proxy->node_name, crm_ipc_name(proxy->ipc), name, pcmk_strerror(rc), rc); - - /* Send a n'ack so the caller doesn't block */ - crm_xml_add(op_reply, "function", __FUNCTION__); - crm_xml_add_int(op_reply, "line", __LINE__); - crm_xml_add_int(op_reply, "rc", rc); - remote_proxy_relay_response(lrmd, session, op_reply, msg_id); - free_xml(op_reply); - - } else { - crm_trace("Relayed %s request %d from %s to %s for %s", - op, msg_id, proxy->node_name, crm_ipc_name(proxy->ipc), name); - proxy->last_request_id = msg_id; - } - } } else { - crm_err("Unknown proxy operation: %s", op); + remote_proxy_cb(lrmd, options.node_name, msg); } } @@ -510,7 +379,7 @@ main(int argc, char **argv) proxy_table = g_hash_table_new_full(crm_strcase_hash, crm_strcase_equal, NULL, remote_proxy_free); lrmd_conn = lrmd_remote_api_new(NULL, options.tls_host ? options.tls_host : "localhost", options.port); - lrmd_internal_set_proxy_callback(lrmd_conn, NULL, remote_proxy_cb); + lrmd_internal_set_proxy_callback(lrmd_conn, NULL, ctl_remote_proxy_cb); } else { lrmd_conn = lrmd_api_new(); } diff --git a/pengine/Makefile.am b/pengine/Makefile.am index 5131dcb..c897db6 100644 --- a/pengine/Makefile.am +++ b/pengine/Makefile.am @@ -69,7 +69,7 @@ libpengine_la_LIBADD = $(top_builddir)/lib/pengine/libpe_status.la \ $(top_builddir)/lib/cib/libcib.la # -L$(top_builddir)/lib/pils -lpils -export-dynamic -module -avoid-version libpengine_la_SOURCES = pengine.c allocate.c notif.c utils.c constraints.c -libpengine_la_SOURCES += native.c group.c clone.c master.c graph.c utilization.c +libpengine_la_SOURCES += native.c group.c clone.c master.c graph.c utilization.c container.c pengine_CFLAGS = $(CFLAGS_HARDENED_EXE) pengine_LDFLAGS = $(LDFLAGS_HARDENED_EXE) diff --git a/pengine/allocate.c b/pengine/allocate.c index 74b57fb..441b596 100644 --- a/pengine/allocate.c +++ b/pengine/allocate.c @@ -69,6 +69,20 @@ resource_alloc_functions_t resource_class_alloc_functions[] = { group_append_meta, }, { + container_merge_weights, + container_color, + container_create_actions, + container_create_probe, + container_internal_constraints, + container_rsc_colocation_lh, + container_rsc_colocation_rh, + container_rsc_location, + container_action_flags, + container_update_actions, + container_expand, + container_append_meta, + }, + { clone_merge_weights, clone_color, clone_create_actions, @@ -99,7 +113,7 @@ resource_alloc_functions_t resource_class_alloc_functions[] = { }; gboolean -update_action_flags(action_t * action, enum pe_action_flags flags, const char *source) +update_action_flags(action_t * action, enum pe_action_flags flags, const char *source, int line) { static unsigned long calls = 0; gboolean changed = FALSE; @@ -107,9 +121,9 @@ update_action_flags(action_t * action, enum pe_action_flags flags, const char *s enum pe_action_flags last = action->flags; if (clear) { - action->flags = crm_clear_bit(source, action->uuid, action->flags, flags); + action->flags = crm_clear_bit(source, line, action->uuid, action->flags, flags); } else { - action->flags = crm_set_bit(source, action->uuid, action->flags, flags); + action->flags = crm_set_bit(source, line, action->uuid, action->flags, flags); } if (last != action->flags) { @@ -704,7 +718,7 @@ common_apply_stickiness(resource_t * rsc, node_t * node, pe_working_set_t * data } } -static void +void complex_set_cmds(resource_t * rsc) { GListPtr gIter = rsc->children; @@ -1380,7 +1394,7 @@ fence_guest(pe_node_t *node, pe_action_t *done, pe_working_set_t *data_set) */ stonith_op = pe_fence_op(node, fence_action, FALSE, data_set); update_action_flags(stonith_op, pe_action_pseudo | pe_action_runnable, - __FUNCTION__); + __FUNCTION__, __LINE__); /* We want to imply stops/demotes after the guest is stopped, not wait until * it is restarted, so we always order pseudo-fencing after stop, not start @@ -1646,7 +1660,7 @@ rsc_order_then(action_t * lh_action, resource_t * rsc, order_constraint_t * orde order_actions(lh_action, rh_action_iter, type); } else if (type & pe_order_implies_then) { - update_action_flags(rh_action_iter, pe_action_runnable | pe_action_clear, __FUNCTION__); + update_action_flags(rh_action_iter, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__); crm_warn("Unrunnable %s 0x%.6x", rh_action_iter->uuid, type); } else { crm_warn("neither %s 0x%.6x", rh_action_iter->uuid, type); diff --git a/pengine/allocate.h b/pengine/allocate.h index f17451c..3d7b7ce 100644 --- a/pengine/allocate.h +++ b/pengine/allocate.h @@ -52,6 +52,9 @@ extern GHashTable *rsc_merge_weights(resource_t * rsc, const char *rhs, GHashTab extern GHashTable *clone_merge_weights(resource_t * rsc, const char *rhs, GHashTable * nodes, const char *attr, float factor, enum pe_weights flags); +extern GHashTable *container_merge_weights(resource_t * rsc, const char *rhs, GHashTable * nodes, + const char *attr, float factor, enum pe_weights flags); + extern GHashTable *master_merge_weights(resource_t * rsc, const char *rhs, GHashTable * nodes, const char *attr, float factor, enum pe_weights flags); @@ -92,6 +95,21 @@ extern void group_rsc_location(resource_t * rsc, rsc_to_node_t * constraint); extern void group_expand(resource_t * rsc, pe_working_set_t * data_set); extern void group_append_meta(resource_t * rsc, xmlNode * xml); +extern int container_num_allowed_nodes(resource_t * rsc); +extern node_t *container_color(resource_t * rsc, node_t * preferred, pe_working_set_t * data_set); +extern void container_create_actions(resource_t * rsc, pe_working_set_t * data_set); +extern void container_internal_constraints(resource_t * rsc, pe_working_set_t * data_set); +extern void container_rsc_colocation_lh(resource_t * lh_rsc, resource_t * rh_rsc, + rsc_colocation_t * constraint); +extern void container_rsc_colocation_rh(resource_t * lh_rsc, resource_t * rh_rsc, + rsc_colocation_t * constraint); +extern void container_rsc_location(resource_t * rsc, rsc_to_node_t * constraint); +extern enum pe_action_flags container_action_flags(action_t * action, node_t * node); +extern void container_expand(resource_t * rsc, pe_working_set_t * data_set); +extern gboolean container_create_probe(resource_t * rsc, node_t * node, action_t * complete, + gboolean force, pe_working_set_t * data_set); +extern void container_append_meta(resource_t * rsc, xmlNode * xml); + extern int clone_num_allowed_nodes(resource_t * rsc); extern node_t *clone_color(resource_t * rsc, node_t * preferred, pe_working_set_t * data_set); extern void clone_create_actions(resource_t * rsc, pe_working_set_t * data_set); @@ -135,6 +153,7 @@ extern gboolean unpack_location(xmlNode * xml_obj, pe_working_set_t * data_set); extern gboolean unpack_rsc_ticket(xmlNode * xml_obj, pe_working_set_t * data_set); extern void LogActions(resource_t * rsc, pe_working_set_t * data_set, gboolean terminal); +void container_LogActions(resource_t * rsc, pe_working_set_t * data_set, gboolean terminal); extern void cleanup_alloc_calculations(pe_working_set_t * data_set); @@ -151,8 +170,14 @@ extern enum pe_graph_flags group_update_actions(action_t * first, action_t * the extern enum pe_graph_flags clone_update_actions(action_t * first, action_t * then, node_t * node, enum pe_action_flags flags, enum pe_action_flags filter, enum pe_ordering type); +extern enum pe_graph_flags container_update_actions(action_t * first, action_t * then, node_t * node, + enum pe_action_flags flags, + enum pe_action_flags filter, enum pe_ordering type); -gboolean update_action_flags(action_t * action, enum pe_action_flags flags, const char *source); +gboolean update_action_flags(action_t * action, enum pe_action_flags flags, const char *source, int line); gboolean update_action(action_t * action); +void complex_set_cmds(resource_t * rsc); + + #endif diff --git a/pengine/clone.c b/pengine/clone.c index 35575c0..9e2835d 100644 --- a/pengine/clone.c +++ b/pengine/clone.c @@ -47,8 +47,10 @@ parent_node_instance(const resource_t * rsc, node_t * node) { node_t *ret = NULL; - if (node != NULL) { + if (node != NULL && rsc->parent) { ret = pe_hash_table_lookup(rsc->parent->allowed_nodes, node->details->id); + } else if(node != NULL) { + ret = pe_hash_table_lookup(rsc->allowed_nodes, node->details->id); } return ret; } @@ -231,44 +233,48 @@ sort_clone_instance(gconstpointer a, gconstpointer b, gpointer data_set) n = node_copy(resource2->running_on->data); g_hash_table_insert(hash2, (gpointer) n->details->id, n); - for (gIter = resource1->parent->rsc_cons; gIter; gIter = gIter->next) { - rsc_colocation_t *constraint = (rsc_colocation_t *) gIter->data; + if(resource1->parent) { + for (gIter = resource1->parent->rsc_cons; gIter; gIter = gIter->next) { + rsc_colocation_t *constraint = (rsc_colocation_t *) gIter->data; - crm_trace("Applying %s to %s", constraint->id, resource1->id); + crm_trace("Applying %s to %s", constraint->id, resource1->id); - hash1 = native_merge_weights(constraint->rsc_rh, resource1->id, hash1, - constraint->node_attribute, - (float)constraint->score / INFINITY, 0); - } + hash1 = native_merge_weights(constraint->rsc_rh, resource1->id, hash1, + constraint->node_attribute, + (float)constraint->score / INFINITY, 0); + } - for (gIter = resource1->parent->rsc_cons_lhs; gIter; gIter = gIter->next) { - rsc_colocation_t *constraint = (rsc_colocation_t *) gIter->data; + for (gIter = resource1->parent->rsc_cons_lhs; gIter; gIter = gIter->next) { + rsc_colocation_t *constraint = (rsc_colocation_t *) gIter->data; - crm_trace("Applying %s to %s", constraint->id, resource1->id); + crm_trace("Applying %s to %s", constraint->id, resource1->id); - hash1 = native_merge_weights(constraint->rsc_lh, resource1->id, hash1, - constraint->node_attribute, - (float)constraint->score / INFINITY, pe_weights_positive); + hash1 = native_merge_weights(constraint->rsc_lh, resource1->id, hash1, + constraint->node_attribute, + (float)constraint->score / INFINITY, pe_weights_positive); + } } - for (gIter = resource2->parent->rsc_cons; gIter; gIter = gIter->next) { - rsc_colocation_t *constraint = (rsc_colocation_t *) gIter->data; + if(resource2->parent) { + for (gIter = resource2->parent->rsc_cons; gIter; gIter = gIter->next) { + rsc_colocation_t *constraint = (rsc_colocation_t *) gIter->data; - crm_trace("Applying %s to %s", constraint->id, resource2->id); + crm_trace("Applying %s to %s", constraint->id, resource2->id); - hash2 = native_merge_weights(constraint->rsc_rh, resource2->id, hash2, - constraint->node_attribute, - (float)constraint->score / INFINITY, 0); - } + hash2 = native_merge_weights(constraint->rsc_rh, resource2->id, hash2, + constraint->node_attribute, + (float)constraint->score / INFINITY, 0); + } - for (gIter = resource2->parent->rsc_cons_lhs; gIter; gIter = gIter->next) { - rsc_colocation_t *constraint = (rsc_colocation_t *) gIter->data; + for (gIter = resource2->parent->rsc_cons_lhs; gIter; gIter = gIter->next) { + rsc_colocation_t *constraint = (rsc_colocation_t *) gIter->data; - crm_trace("Applying %s to %s", constraint->id, resource2->id); + crm_trace("Applying %s to %s", constraint->id, resource2->id); - hash2 = native_merge_weights(constraint->rsc_lh, resource2->id, hash2, - constraint->node_attribute, - (float)constraint->score / INFINITY, pe_weights_positive); + hash2 = native_merge_weights(constraint->rsc_lh, resource2->id, hash2, + constraint->node_attribute, + (float)constraint->score / INFINITY, pe_weights_positive); + } } /* Current location score */ @@ -280,18 +286,18 @@ sort_clone_instance(gconstpointer a, gconstpointer b, gpointer data_set) if (node1->weight < node2->weight) { if (node1->weight < 0) { - crm_trace("%s > %s: current score", resource1->id, resource2->id); + crm_trace("%s > %s: current score: %d %d", resource1->id, resource2->id, node1->weight, node2->weight); rc = -1; goto out; } else { - crm_trace("%s < %s: current score", resource1->id, resource2->id); + crm_trace("%s < %s: current score: %d %d", resource1->id, resource2->id, node1->weight, node2->weight); rc = 1; goto out; } } else if (node1->weight > node2->weight) { - crm_trace("%s > %s: current score", resource1->id, resource2->id); + crm_trace("%s > %s: current score: %d %d", resource1->id, resource2->id, node1->weight, node2->weight); rc = -1; goto out; } @@ -355,10 +361,18 @@ sort_clone_instance(gconstpointer a, gconstpointer b, gpointer data_set) } static node_t * -can_run_instance(resource_t * rsc, node_t * node) +can_run_instance(resource_t * rsc, node_t * node, int limit) { node_t *local_node = NULL; - clone_variant_data_t *clone_data = NULL; + + if (node == NULL && rsc->allowed_nodes) { + GHashTableIter iter; + g_hash_table_iter_init(&iter, rsc->allowed_nodes); + while (g_hash_table_iter_next(&iter, NULL, (void **)&local_node)) { + can_run_instance(rsc, local_node, limit); + } + return NULL; + } if (can_run_resources(node) == FALSE) { goto bail; @@ -368,7 +382,6 @@ can_run_instance(resource_t * rsc, node_t * node) } local_node = parent_node_instance(rsc, node); - get_clone_variant_data(clone_data, rsc->parent); if (local_node == NULL) { crm_warn("%s cannot run on %s: node not allowed", rsc->id, node->details->uname); @@ -378,13 +391,14 @@ can_run_instance(resource_t * rsc, node_t * node) common_update_score(rsc, node->details->id, local_node->weight); pe_rsc_trace(rsc, "%s cannot run on %s: Parent node weight doesn't allow it.", rsc->id, node->details->uname); - } else if (local_node->count < clone_data->clone_node_max) { + + } else if (local_node->count < limit) { pe_rsc_trace(rsc, "%s can run on %s: %d", rsc->id, node->details->uname, local_node->count); return local_node; } else { pe_rsc_trace(rsc, "%s cannot run on %s: node full (%d >= %d)", - rsc->id, node->details->uname, local_node->count, clone_data->clone_node_max); + rsc->id, node->details->uname, local_node->count, limit); } bail: @@ -395,14 +409,13 @@ can_run_instance(resource_t * rsc, node_t * node) } static node_t * -color_instance(resource_t * rsc, node_t * prefer, gboolean all_coloc, pe_working_set_t * data_set) +color_instance(resource_t * rsc, node_t * prefer, gboolean all_coloc, int limit, pe_working_set_t * data_set) { node_t *chosen = NULL; - node_t *local_node = NULL; GHashTable *backup = NULL; CRM_ASSERT(rsc); - pe_rsc_trace(rsc, "Processing %s %d", rsc->id, all_coloc); + pe_rsc_trace(rsc, "Processing %s %d %s", rsc->id, all_coloc, prefer?prefer->details->uname:"none"); if (is_not_set(rsc->flags, pe_rsc_provisional)) { return rsc->fns->location(rsc, NULL, FALSE); @@ -427,21 +440,12 @@ color_instance(resource_t * rsc, node_t * prefer, gboolean all_coloc, pe_working } } - if (rsc->allowed_nodes) { - GHashTableIter iter; - node_t *try_node = NULL; - - g_hash_table_iter_init(&iter, rsc->allowed_nodes); - while (g_hash_table_iter_next(&iter, NULL, (void **)&try_node)) { - can_run_instance(rsc, try_node); - } - } + can_run_instance(rsc, NULL, limit); backup = node_hash_dup(rsc->allowed_nodes); chosen = rsc->cmds->allocate(rsc, prefer, data_set); if (chosen) { - local_node = pe_hash_table_lookup(rsc->parent->allowed_nodes, chosen->details->id); - + node_t *local_node = parent_node_instance(rsc, chosen); if (prefer && chosen && chosen->details != prefer->details) { crm_notice("Pre-allocation failed: got %s instead of %s", chosen->details->uname, prefer->details->uname); @@ -493,127 +497,69 @@ append_parent_colocation(resource_t * rsc, resource_t * child, gboolean all) } } -node_t * -clone_color(resource_t * rsc, node_t * prefer, pe_working_set_t * data_set) -{ - GHashTableIter iter; - GListPtr nIter = NULL; - GListPtr gIter = NULL; - GListPtr nodes = NULL; - node_t *node = NULL; - int allocated = 0; +void +distribute_children(resource_t *rsc, GListPtr children, GListPtr nodes, + int max, int per_host_max, pe_working_set_t * data_set); + +void +distribute_children(resource_t *rsc, GListPtr children, GListPtr nodes, + int max, int per_host_max, pe_working_set_t * data_set) +{ int loop_max = 0; - int clone_max = 0; + int allocated = 0; int available_nodes = 0; - clone_variant_data_t *clone_data = NULL; - - get_clone_variant_data(clone_data, rsc); - - if (is_not_set(rsc->flags, pe_rsc_provisional)) { - return NULL; - - } else if (is_set(rsc->flags, pe_rsc_allocating)) { - pe_rsc_debug(rsc, "Dependency loop detected involving %s", rsc->id); - return NULL; - } - - set_bit(rsc->flags, pe_rsc_allocating); - pe_rsc_trace(rsc, "Processing %s", rsc->id); - - /* this information is used by sort_clone_instance() when deciding in which - * order to allocate clone instances - */ - gIter = rsc->rsc_cons; - for (; gIter != NULL; gIter = gIter->next) { - rsc_colocation_t *constraint = (rsc_colocation_t *) gIter->data; - - pe_rsc_trace(rsc, "%s: Coloring %s first", rsc->id, constraint->rsc_rh->id); - constraint->rsc_rh->cmds->allocate(constraint->rsc_rh, prefer, data_set); - } - - gIter = rsc->rsc_cons_lhs; - for (; gIter != NULL; gIter = gIter->next) { - rsc_colocation_t *constraint = (rsc_colocation_t *) gIter->data; - - rsc->allowed_nodes = - constraint->rsc_lh->cmds->merge_weights(constraint->rsc_lh, rsc->id, rsc->allowed_nodes, - constraint->node_attribute, - (float)constraint->score / INFINITY, - (pe_weights_rollback | pe_weights_positive)); - } - - dump_node_scores(show_scores ? 0 : scores_log_level, rsc, __FUNCTION__, rsc->allowed_nodes); /* count now tracks the number of clones currently allocated */ - g_hash_table_iter_init(&iter, rsc->allowed_nodes); - while (g_hash_table_iter_next(&iter, NULL, (void **)&node)) { + for(GListPtr nIter = nodes; nIter != NULL; nIter = nIter->next) { + pe_node_t *node = nIter->data; + node->count = 0; if (can_run_resources(node)) { available_nodes++; } } - clone_max = clone_data->clone_max; if(available_nodes) { - loop_max = clone_data->clone_max / available_nodes; + loop_max = max / available_nodes; } if (loop_max < 1) { loop_max = 1; } - rsc->children = g_list_sort_with_data(rsc->children, sort_clone_instance, data_set); + pe_rsc_debug(rsc, "Allocating %d %s instances to a possible %d nodes (%d per host, %d optimal)", + max, rsc->id, available_nodes, per_host_max, loop_max); - /* Pre-allocate as many instances as we can to their current location - * First pre-sort the list of nodes by their placement score - */ - nodes = g_hash_table_get_values(rsc->allowed_nodes); - nodes = g_list_sort_with_data(nodes, sort_node_weight, NULL); + /* Pre-allocate as many instances as we can to their current location */ + for (GListPtr gIter = children; gIter != NULL && allocated < max; gIter = gIter->next) { + resource_t *child = (resource_t *) gIter->data; - for(nIter = nodes; nIter; nIter = nIter->next) { - int lpc; + if (child->running_on && is_set(child->flags, pe_rsc_provisional) + && is_not_set(child->flags, pe_rsc_failed)) { + node_t *child_node = child->running_on->data; + node_t *local_node = parent_node_instance(child, child->running_on->data); - node = nIter->data; + pe_rsc_trace(rsc, "Pre-allocating %s (%d remaining)", child->id, max - allocated); + pe_rsc_trace(rsc, "Foo %s to %s %d %d", child->id, + child_node->details->uname, max, available_nodes); - if(clone_max <= 0) { - break; - } + if (can_run_resources(child_node) == FALSE || child_node->weight < 0) { + pe_rsc_trace(rsc, "Not Pre-allocating %s", child_node->details->uname); - if (can_run_resources(node) == FALSE || node->weight < 0) { - pe_rsc_trace(rsc, "Not Pre-allocatiing %s", node->details->uname); - continue; - } + } else if(local_node && local_node->count >= loop_max) { + pe_rsc_trace(rsc, "Deferring allocation of %s", child_node->details->uname); - clone_max--; - pe_rsc_trace(rsc, "Pre-allocating %s (%d remaining)", node->details->uname, clone_max); - for (lpc = 0; - allocated < clone_data->clone_max - && node->count < clone_data->clone_node_max - && lpc < clone_data->clone_node_max && lpc < loop_max; lpc++) { - for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { - resource_t *child = (resource_t *) gIter->data; - - if (child->running_on && is_set(child->flags, pe_rsc_provisional) - && is_not_set(child->flags, pe_rsc_failed)) { - node_t *child_node = child->running_on->data; - - if (child_node->details == node->details - && color_instance(child, node, clone_data->clone_max < available_nodes, - data_set)) { - pe_rsc_trace(rsc, "Pre-allocated %s to %s", child->id, - node->details->uname); - allocated++; - break; - } - } + } else if (color_instance(child, child_node, max < available_nodes, per_host_max, data_set)) { + pe_rsc_trace(rsc, "Pre-allocated %s to %s", child->id, + child_node->details->uname); + allocated++; } } } - pe_rsc_trace(rsc, "Done pre-allocating (%d of %d)", allocated, clone_data->clone_max); - g_list_free(nodes); + pe_rsc_trace(rsc, "Done pre-allocating (%d of %d)", allocated, max); - for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { + for (GListPtr gIter = children; gIter != NULL; gIter = gIter->next) { resource_t *child = (resource_t *) gIter->data; if (g_list_length(child->running_on) > 0) { @@ -627,17 +573,68 @@ clone_color(resource_t * rsc, node_t * prefer, pe_working_set_t * data_set) } if (is_not_set(child->flags, pe_rsc_provisional)) { - } else if (allocated >= clone_data->clone_max) { - pe_rsc_debug(rsc, "Child %s not allocated - limit reached", child->id); + } else if (allocated >= max) { + pe_rsc_debug(rsc, "Child %s not allocated - limit reached %d %d", child->id, allocated, max); resource_location(child, NULL, -INFINITY, "clone_color:limit_reached", data_set); - - } else if (color_instance(child, NULL, clone_data->clone_max < available_nodes, data_set)) { - allocated++; + } else { + if (color_instance(child, NULL, max < available_nodes, per_host_max, data_set)) { + allocated++; + } } } pe_rsc_debug(rsc, "Allocated %d %s instances of a possible %d", - allocated, rsc->id, clone_data->clone_max); + allocated, rsc->id, max); +} + + +node_t * +clone_color(resource_t * rsc, node_t * prefer, pe_working_set_t * data_set) +{ + GListPtr nodes = NULL; + + clone_variant_data_t *clone_data = NULL; + + get_clone_variant_data(clone_data, rsc); + + if (is_not_set(rsc->flags, pe_rsc_provisional)) { + return NULL; + + } else if (is_set(rsc->flags, pe_rsc_allocating)) { + pe_rsc_debug(rsc, "Dependency loop detected involving %s", rsc->id); + return NULL; + } + + set_bit(rsc->flags, pe_rsc_allocating); + pe_rsc_trace(rsc, "Processing %s", rsc->id); + + /* this information is used by sort_clone_instance() when deciding in which + * order to allocate clone instances + */ + for (GListPtr gIter = rsc->rsc_cons; gIter != NULL; gIter = gIter->next) { + rsc_colocation_t *constraint = (rsc_colocation_t *) gIter->data; + + pe_rsc_trace(rsc, "%s: Coloring %s first", rsc->id, constraint->rsc_rh->id); + constraint->rsc_rh->cmds->allocate(constraint->rsc_rh, prefer, data_set); + } + + for (GListPtr gIter = rsc->rsc_cons_lhs; gIter != NULL; gIter = gIter->next) { + rsc_colocation_t *constraint = (rsc_colocation_t *) gIter->data; + + rsc->allowed_nodes = + constraint->rsc_lh->cmds->merge_weights(constraint->rsc_lh, rsc->id, rsc->allowed_nodes, + constraint->node_attribute, + (float)constraint->score / INFINITY, + (pe_weights_rollback | pe_weights_positive)); + } + + dump_node_scores(show_scores ? 0 : scores_log_level, rsc, __FUNCTION__, rsc->allowed_nodes); + + nodes = g_hash_table_get_values(rsc->allowed_nodes); + nodes = g_list_sort_with_data(nodes, sort_node_weight, NULL); + rsc->children = g_list_sort_with_data(rsc->children, sort_clone_instance, data_set); + distribute_children(rsc, rsc->children, nodes, clone_data->clone_max, clone_data->clone_node_max, data_set); + g_list_free(nodes); clear_bit(rsc->flags, pe_rsc_provisional); clear_bit(rsc->flags, pe_rsc_allocating); @@ -846,12 +843,12 @@ clone_create_actions(resource_t * rsc, pe_working_set_t * data_set) started = custom_action(rsc, started_key(rsc), RSC_STARTED, NULL, !child_starting, TRUE, data_set); - update_action_flags(start, pe_action_pseudo | pe_action_runnable, __FUNCTION__); - update_action_flags(started, pe_action_pseudo, __FUNCTION__); + update_action_flags(start, pe_action_pseudo | pe_action_runnable, __FUNCTION__, __LINE__); + update_action_flags(started, pe_action_pseudo, __FUNCTION__, __LINE__); started->priority = INFINITY; if (child_active || child_starting) { - update_action_flags(started, pe_action_runnable, __FUNCTION__); + update_action_flags(started, pe_action_runnable, __FUNCTION__, __LINE__); } child_ordering_constraints(rsc, data_set); @@ -866,11 +863,11 @@ clone_create_actions(resource_t * rsc, pe_working_set_t * data_set) RSC_STOPPED, NULL, !child_stopping, TRUE, data_set); stopped->priority = INFINITY; - update_action_flags(stop, pe_action_pseudo | pe_action_runnable, __FUNCTION__); + update_action_flags(stop, pe_action_pseudo | pe_action_runnable, __FUNCTION__, __LINE__); if (allow_dependent_migrations) { - update_action_flags(stop, pe_action_migrate_runnable, __FUNCTION__); + update_action_flags(stop, pe_action_migrate_runnable, __FUNCTION__, __LINE__); } - update_action_flags(stopped, pe_action_pseudo | pe_action_runnable, __FUNCTION__); + update_action_flags(stopped, pe_action_pseudo | pe_action_runnable, __FUNCTION__, __LINE__); if (clone_data->stop_notify == NULL) { clone_data->stop_notify = create_notification_boundaries(rsc, RSC_STOP, stop, stopped, data_set); @@ -1204,7 +1201,7 @@ clone_action_flags(action_t * action, node_t * node) && is_set(child_flags, pe_action_optional) == FALSE) { pe_rsc_trace(child, "%s is mandatory because of %s", action->uuid, child_action->uuid); - flags = crm_clear_bit(__FUNCTION__, action->rsc->id, flags, pe_action_optional); + flags = crm_clear_bit(__FUNCTION__, __LINE__, action->rsc->id, flags, pe_action_optional); pe_clear_action_bit(action, pe_action_optional); } if (is_set(child_flags, pe_action_runnable)) { @@ -1226,7 +1223,7 @@ clone_action_flags(action_t * action, node_t * node) if (check_runnable && any_runnable == FALSE) { pe_rsc_trace(action->rsc, "%s is not runnable because no children are", action->uuid); - flags = crm_clear_bit(__FUNCTION__, action->rsc->id, flags, pe_action_runnable); + flags = crm_clear_bit(__FUNCTION__, __LINE__, action->rsc->id, flags, pe_action_runnable); if (node == NULL) { pe_clear_action_bit(action, pe_action_runnable); } diff --git a/pengine/constraints.c b/pengine/constraints.c index eca4c25..92b9dd0 100644 --- a/pengine/constraints.c +++ b/pengine/constraints.c @@ -153,7 +153,7 @@ get_ordering_type(xmlNode * xml_obj) kind_e = pe_order_kind_optional; } - /* } else if(rsc_then->variant == pe_native && rsc_first->variant > pe_group) { */ + /* } else if(rsc_then->variant == pe_native && rsc_first->variant >= pe_clone) { */ /* kind_e = pe_order_kind_optional; */ } @@ -390,7 +390,7 @@ unpack_simple_rsc_order(xmlNode * xml_obj, pe_working_set_t * data_set) * actions to be considered runnable before allowing the pseudo action * to be runnable. */ unordered_action->required_runnable_before = min_required_before; - update_action_flags(unordered_action, pe_action_requires_any, __FUNCTION__); + update_action_flags(unordered_action, pe_action_requires_any, __FUNCTION__, __LINE__); for (rIter = rsc_first->children; id && rIter; rIter = rIter->next) { resource_t *child = rIter->data; @@ -1788,7 +1788,7 @@ order_rsc_sets(const char *id, xmlNode * set1, xmlNode * set2, enum pe_order_kin action_t *unordered_action = get_pseudo_op(task, data_set); free(task); - update_action_flags(unordered_action, pe_action_requires_any, __FUNCTION__); + update_action_flags(unordered_action, pe_action_requires_any, __FUNCTION__, __LINE__); for (xml_rsc = __xml_first_child(set1); xml_rsc != NULL; xml_rsc = __xml_next_element(xml_rsc)) { if (!crm_str_eq((const char *)xml_rsc->name, XML_TAG_RESOURCE_REF, TRUE)) { diff --git a/pengine/container.c b/pengine/container.c new file mode 100644 index 0000000..84f2f16 --- /dev/null +++ b/pengine/container.c @@ -0,0 +1,345 @@ +/* + * Copyright (C) 2004 Andrew Beekhof + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include + +#include +#include +#include +#include +#include + +#define VARIANT_CONTAINER 1 +#include + +static bool +is_child_container_node(container_variant_data_t *data, pe_node_t *node) +{ + for (GListPtr gIter = data->tuples; gIter != NULL; gIter = gIter->next) { + container_grouping_t *tuple = (container_grouping_t *)gIter->data; + if(node->details == tuple->node->details) { + return TRUE; + } + } + return FALSE; +} + +gint sort_clone_instance(gconstpointer a, gconstpointer b, gpointer data_set); +void distribute_children(resource_t *rsc, GListPtr children, GListPtr nodes, + int max, int per_host_max, pe_working_set_t * data_set); + +node_t * +container_color(resource_t * rsc, node_t * prefer, pe_working_set_t * data_set) +{ + GListPtr containers = NULL; + GListPtr nodes = NULL; + container_variant_data_t *container_data = NULL; + + CRM_CHECK(rsc != NULL, return NULL); + + get_container_variant_data(container_data, rsc); + + set_bit(rsc->flags, pe_rsc_allocating); + + for (GListPtr gIter = container_data->tuples; gIter != NULL; gIter = gIter->next) { + container_grouping_t *tuple = (container_grouping_t *)gIter->data; + containers = g_list_append(containers, tuple->docker); + } + + dump_node_scores(show_scores ? 0 : scores_log_level, rsc, __FUNCTION__, rsc->allowed_nodes); + + nodes = g_hash_table_get_values(rsc->allowed_nodes); + nodes = g_list_sort_with_data(nodes, sort_node_weight, NULL); + containers = g_list_sort_with_data(containers, sort_clone_instance, data_set); + distribute_children(rsc, containers, nodes, + container_data->replicas, container_data->replicas_per_host, data_set); + g_list_free(nodes); + g_list_free(containers); + + for (GListPtr gIter = container_data->tuples; gIter != NULL; gIter = gIter->next) { + container_grouping_t *tuple = (container_grouping_t *)gIter->data; + + CRM_ASSERT(tuple); + if(tuple->ip) { + tuple->ip->cmds->allocate(tuple->ip, prefer, data_set); + } + if(tuple->remote) { + tuple->remote->cmds->allocate(tuple->remote, prefer, data_set); + } + + // Explicitly allocate tuple->child before the container->child + if(tuple->child) { + pe_node_t *node = NULL; + GHashTableIter iter; + g_hash_table_iter_init(&iter, tuple->child->allowed_nodes); + while (g_hash_table_iter_next(&iter, NULL, (gpointer *) & node)) { + if(node->details != tuple->node->details) { + node->weight = -INFINITY; + } else { + node->weight = INFINITY; + } + } + + set_bit(tuple->child->parent->flags, pe_rsc_allocating); + tuple->child->cmds->allocate(tuple->child, tuple->node, data_set); + clear_bit(tuple->child->parent->flags, pe_rsc_allocating); + } + } + + if(container_data->child) { + pe_node_t *node = NULL; + GHashTableIter iter; + g_hash_table_iter_init(&iter, container_data->child->allowed_nodes); + while (g_hash_table_iter_next(&iter, NULL, (gpointer *) & node)) { + if(is_child_container_node(container_data, node)) { + node->weight = 0; + } else { + node->weight = -INFINITY; + } + } + container_data->child->cmds->allocate(container_data->child, prefer, data_set); + } + + clear_bit(rsc->flags, pe_rsc_allocating); + return NULL; +} + +void +container_create_actions(resource_t * rsc, pe_working_set_t * data_set) +{ + container_variant_data_t *container_data = NULL; + + CRM_CHECK(rsc != NULL, return); + + get_container_variant_data(container_data, rsc); + for (GListPtr gIter = container_data->tuples; gIter != NULL; gIter = gIter->next) { + container_grouping_t *tuple = (container_grouping_t *)gIter->data; + + CRM_ASSERT(tuple); + if(tuple->ip) { + tuple->ip->cmds->create_actions(tuple->ip, data_set); + } + if(tuple->docker) { + tuple->docker->cmds->create_actions(tuple->docker, data_set); + } + if(tuple->remote) { + tuple->remote->cmds->create_actions(tuple->remote, data_set); + } + } + + if(container_data->child) { + container_data->child->cmds->create_actions(container_data->child, data_set); + } +} + +void +container_internal_constraints(resource_t * rsc, pe_working_set_t * data_set) +{ + container_variant_data_t *container_data = NULL; + + CRM_CHECK(rsc != NULL, return); + + get_container_variant_data(container_data, rsc); + for (GListPtr gIter = container_data->tuples; gIter != NULL; gIter = gIter->next) { + char *id = NULL; + container_grouping_t *tuple = (container_grouping_t *)gIter->data; + + CRM_ASSERT(tuple); + if(tuple->docker) { + tuple->docker->cmds->internal_constraints(tuple->docker, data_set); + } + + if(tuple->ip) { + tuple->ip->cmds->internal_constraints(tuple->ip, data_set); + + // Start ip then docker + new_rsc_order(tuple->ip, RSC_START, tuple->docker, RSC_START, pe_order_runnable_left, data_set); + new_rsc_order(tuple->docker, RSC_STOP, tuple->ip, RSC_STOP, pe_order_implies_first, data_set); + + id = crm_strdup_printf("%s-ip-with-docker-%d", rsc->id, tuple->offset); + rsc_colocation_new(id, NULL, INFINITY, tuple->ip, tuple->docker, NULL, NULL, data_set); + free(id); + } + + if(tuple->remote) { + CRM_ASSERT(tuple->ip); + tuple->remote->cmds->internal_constraints(tuple->remote, data_set); + // Start docker then remote + new_rsc_order( + tuple->docker, RSC_START, tuple->remote, RSC_START, pe_order_runnable_left, data_set); + new_rsc_order( + tuple->remote, RSC_STOP, tuple->docker, RSC_STOP, pe_order_implies_first, data_set); + + id = crm_strdup_printf("%s-remote-with-ip-%d", rsc->id, tuple->offset); + rsc_colocation_new(id, NULL, INFINITY, tuple->remote, tuple->ip, NULL, NULL, data_set); + free(id); + } + + if(tuple->child) { + CRM_ASSERT(tuple->remote); + + // Start of the remote then child is implicit in the PE's remote logic + } + + } + + if(container_data->child) { + container_data->child->cmds->internal_constraints(container_data->child, data_set); + } +} + +void +container_rsc_colocation_lh(resource_t * rsc_lh, resource_t * rsc_rh, rsc_colocation_t * constraint) +{ + pe_err("Container %s cannot be colocated with anything", rsc_lh->id); +} + +void +container_rsc_colocation_rh(resource_t * rsc_lh, resource_t * rsc_rh, rsc_colocation_t * constraint) +{ + pe_err("Container %s cannot be colocated with anything", rsc_rh->id); +} + +enum pe_action_flags +container_action_flags(action_t * action, node_t * node) +{ + enum pe_action_flags flags = (pe_action_optional | pe_action_runnable | pe_action_pseudo); + return flags; +} + + +enum pe_graph_flags +container_update_actions(action_t * first, action_t * then, node_t * node, enum pe_action_flags flags, + enum pe_action_flags filter, enum pe_ordering type) +{ + enum pe_graph_flags changed = pe_graph_none; + return changed; +} + +void +container_rsc_location(resource_t * rsc, rsc_to_node_t * constraint) +{ + GListPtr gIter = rsc->children; + + pe_rsc_trace(rsc, "Processing location constraint %s for %s", constraint->id, rsc->id); + + native_rsc_location(rsc, constraint); + + for (; gIter != NULL; gIter = gIter->next) { + resource_t *child_rsc = (resource_t *) gIter->data; + + child_rsc->cmds->rsc_location(child_rsc, constraint); + } +} + +void +container_expand(resource_t * rsc, pe_working_set_t * data_set) +{ + container_variant_data_t *container_data = NULL; + + CRM_CHECK(rsc != NULL, return); + + get_container_variant_data(container_data, rsc); + for (GListPtr gIter = container_data->tuples; gIter != NULL; gIter = gIter->next) { + container_grouping_t *tuple = (container_grouping_t *)gIter->data; + + CRM_ASSERT(tuple); + if(tuple->ip) { + tuple->ip->cmds->expand(tuple->ip, data_set); + } + if(tuple->child) { + tuple->child->cmds->expand(tuple->child, data_set); + } + if(tuple->docker) { + tuple->docker->cmds->expand(tuple->docker, data_set); + } + if(tuple->remote) { + tuple->remote->cmds->expand(tuple->remote, data_set); + } + } +} + +gboolean +container_create_probe(resource_t * rsc, node_t * node, action_t * complete, + gboolean force, pe_working_set_t * data_set) +{ + bool any_created = FALSE; + container_variant_data_t *container_data = NULL; + + CRM_CHECK(rsc != NULL, return FALSE); + + get_container_variant_data(container_data, rsc); + for (GListPtr gIter = container_data->tuples; gIter != NULL; gIter = gIter->next) { + container_grouping_t *tuple = (container_grouping_t *)gIter->data; + + CRM_ASSERT(tuple); + if(tuple->ip) { + any_created |= tuple->ip->cmds->create_probe(tuple->ip, node, complete, force, data_set); + } + if(tuple->child && node->details == tuple->node->details) { + any_created |= tuple->child->cmds->create_probe(tuple->child, node, complete, force, data_set); + } + if(tuple->docker) { + any_created |= tuple->docker->cmds->create_probe(tuple->docker, node, complete, force, data_set); + } + if(FALSE && tuple->remote) { + // TODO: Needed? + any_created |= tuple->remote->cmds->create_probe(tuple->remote, node, complete, force, data_set); + } + } + return any_created; +} + +void +container_append_meta(resource_t * rsc, xmlNode * xml) +{ +} + +GHashTable * +container_merge_weights(resource_t * rsc, const char *rhs, GHashTable * nodes, const char *attr, + float factor, enum pe_weights flags) +{ + return rsc_merge_weights(rsc, rhs, nodes, attr, factor, flags); +} + +void container_LogActions( + resource_t * rsc, pe_working_set_t * data_set, gboolean terminal) +{ + container_variant_data_t *container_data = NULL; + + CRM_CHECK(rsc != NULL, return); + + get_container_variant_data(container_data, rsc); + for (GListPtr gIter = container_data->tuples; gIter != NULL; gIter = gIter->next) { + container_grouping_t *tuple = (container_grouping_t *)gIter->data; + + CRM_ASSERT(tuple); + if(tuple->ip) { + LogActions(tuple->ip, data_set, terminal); + } + if(tuple->docker) { + LogActions(tuple->docker, data_set, terminal); + } + if(tuple->remote) { + LogActions(tuple->remote, data_set, terminal); + } + if(tuple->child) { + LogActions(tuple->child, data_set, terminal); + } + } +} diff --git a/pengine/graph.c b/pengine/graph.c index 569cf6e..a1531dc 100644 --- a/pengine/graph.c +++ b/pengine/graph.c @@ -190,7 +190,7 @@ graph_update_action(action_t * first, action_t * then, node_t * node, enum pe_ac pe_action_optional, pe_order_implies_then); } else if (is_set(flags, pe_action_optional) == FALSE) { - if (update_action_flags(then, pe_action_optional | pe_action_clear, __FUNCTION__)) { + if (update_action_flags(then, pe_action_optional | pe_action_clear, __FUNCTION__, __LINE__)) { changed |= pe_graph_updated_then; } } @@ -223,7 +223,7 @@ graph_update_action(action_t * first, action_t * then, node_t * node, enum pe_ac } else if (is_set(flags, pe_action_optional) == FALSE) { pe_rsc_trace(first->rsc, "first unrunnable: %s then %s", first->uuid, then->uuid); - if (update_action_flags(first, pe_action_runnable | pe_action_clear, __FUNCTION__)) { + if (update_action_flags(first, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__)) { changed |= pe_graph_updated_first; } } @@ -268,7 +268,7 @@ graph_update_action(action_t * first, action_t * then, node_t * node, enum pe_ac /* if the runnable before count for then exceeds the required number * of "before" runnable actions... mark then as runnable */ if (then->runnable_before >= then->required_runnable_before) { - if (update_action_flags(then, pe_action_runnable, __FUNCTION__)) { + if (update_action_flags(then, pe_action_runnable, __FUNCTION__, __LINE__)) { changed |= pe_graph_updated_then; } } @@ -290,7 +290,7 @@ graph_update_action(action_t * first, action_t * then, node_t * node, enum pe_ac } else if (is_set(flags, pe_action_runnable) == FALSE) { pe_rsc_trace(then->rsc, "then unrunnable: %s then %s", first->uuid, then->uuid); - if (update_action_flags(then, pe_action_runnable | pe_action_clear, __FUNCTION__)) { + if (update_action_flags(then, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__)) { changed |= pe_graph_updated_then; } } @@ -363,13 +363,13 @@ graph_update_action(action_t * first, action_t * then, node_t * node, enum pe_ac && (flags & pe_action_optional) == 0) { processed = TRUE; crm_trace("%s implies %s printed", first->uuid, then->uuid); - update_action_flags(then, pe_action_print_always, __FUNCTION__); /* don't care about changed */ + update_action_flags(then, pe_action_print_always, __FUNCTION__, __LINE__); /* don't care about changed */ } if ((type & pe_order_implies_first_printed) && (flags & pe_action_optional) == 0) { processed = TRUE; crm_trace("%s implies %s printed", then->uuid, first->uuid); - update_action_flags(first, pe_action_print_always, __FUNCTION__); /* don't care about changed */ + update_action_flags(first, pe_action_print_always, __FUNCTION__, __LINE__); /* don't care about changed */ } if ((type & pe_order_implies_then @@ -381,7 +381,7 @@ graph_update_action(action_t * first, action_t * then, node_t * node, enum pe_ac && is_set(first->rsc->flags, pe_rsc_block) && is_not_set(first->flags, pe_action_runnable)) { - if (update_action_flags(then, pe_action_runnable | pe_action_clear, __FUNCTION__)) { + if (update_action_flags(then, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__)) { changed |= pe_graph_updated_then; } @@ -909,7 +909,6 @@ action2xml(action_t * action, gboolean as_input, pe_working_set_t *data_set) } crm_xml_add_int(action_xml, XML_ATTR_ID, action->id); - crm_xml_add(action_xml, XML_LRM_ATTR_TASK, action->task); if (action->rsc != NULL && action->rsc->clone_name != NULL) { char *clone_key = NULL; @@ -1053,6 +1052,7 @@ action2xml(action_t * action, gboolean as_input, pe_working_set_t *data_set) g_hash_table_foreach(action->meta, hash2metafield, args_xml); if (action->rsc != NULL) { int isolated = 0; + const char *value = g_hash_table_lookup(action->rsc->meta, "external-ip"); resource_t *parent = action->rsc; while (parent != NULL) { @@ -1067,6 +1067,10 @@ action2xml(action_t * action, gboolean as_input, pe_working_set_t *data_set) free(nodeattr); } + if(value) { + hash2smartfield((gpointer)"pcmk_external_ip", (gpointer)value, (gpointer)args_xml); + } + } else if (safe_str_eq(action->task, CRM_OP_FENCE) && action->node) { g_hash_table_foreach(action->node->details->attrs, hash2metafield, args_xml); } @@ -1164,6 +1168,9 @@ should_dump_action(action_t * action) log_action(LOG_DEBUG, "Unallocated action", action, FALSE); return FALSE; + } else if(is_container_remote_node(action->node) && action->node->details->remote_requires_reset == FALSE) { + crm_trace("Assuming action %s for %s will be runnable", action->uuid, action->node->details->uname); + } else if (action->node->details->online == FALSE) { pe_err("action %d was (%s) scheduled for offline node", action->id, action->uuid); log_action(LOG_DEBUG, "Action for offline node", action, FALSE); diff --git a/pengine/master.c b/pengine/master.c index 24d80c4..f6fcad3 100644 --- a/pengine/master.c +++ b/pengine/master.c @@ -845,14 +845,14 @@ master_create_actions(resource_t * rsc, pe_working_set_t * data_set) RSC_PROMOTED, NULL, !any_promoting, TRUE, data_set); action_complete->priority = INFINITY; - update_action_flags(action, pe_action_pseudo, __FUNCTION__); - update_action_flags(action, pe_action_runnable, __FUNCTION__); - update_action_flags(action_complete, pe_action_pseudo, __FUNCTION__); - update_action_flags(action_complete, pe_action_runnable, __FUNCTION__); + update_action_flags(action, pe_action_pseudo, __FUNCTION__, __LINE__); + update_action_flags(action, pe_action_runnable, __FUNCTION__, __LINE__); + update_action_flags(action_complete, pe_action_pseudo, __FUNCTION__, __LINE__); + update_action_flags(action_complete, pe_action_runnable, __FUNCTION__, __LINE__); if (clone_data->masters_allocated > 0) { - update_action_flags(action, pe_action_runnable, __FUNCTION__); - update_action_flags(action_complete, pe_action_runnable, __FUNCTION__); + update_action_flags(action, pe_action_runnable, __FUNCTION__, __LINE__); + update_action_flags(action_complete, pe_action_runnable, __FUNCTION__, __LINE__); } child_promoting_constraints(clone_data, pe_order_optional, @@ -869,10 +869,10 @@ master_create_actions(resource_t * rsc, pe_working_set_t * data_set) RSC_DEMOTED, NULL, !any_demoting, TRUE, data_set); action_complete->priority = INFINITY; - update_action_flags(action, pe_action_pseudo, __FUNCTION__); - update_action_flags(action, pe_action_runnable, __FUNCTION__); - update_action_flags(action_complete, pe_action_pseudo, __FUNCTION__); - update_action_flags(action_complete, pe_action_runnable, __FUNCTION__); + update_action_flags(action, pe_action_pseudo, __FUNCTION__, __LINE__); + update_action_flags(action, pe_action_runnable, __FUNCTION__, __LINE__); + update_action_flags(action_complete, pe_action_pseudo, __FUNCTION__, __LINE__); + update_action_flags(action_complete, pe_action_runnable, __FUNCTION__, __LINE__); child_demoting_constraints(clone_data, pe_order_optional, rsc, NULL, last_demote_rsc, data_set); diff --git a/pengine/native.c b/pengine/native.c index 0c972ea..f864fed 100644 --- a/pengine/native.c +++ b/pengine/native.c @@ -106,9 +106,17 @@ native_choose_node(resource_t * rsc, node_t * prefer, pe_working_set_t * data_se return rsc->allocated_to ? TRUE : FALSE; } + if(rsc->allowed_nodes) { + nodes = g_hash_table_get_values(rsc->allowed_nodes); + nodes = g_list_sort_with_data(nodes, sort_node_weight, g_list_nth_data(rsc->running_on, 0)); + } if (prefer) { + node_t *best = g_list_nth_data(nodes, 0); + chosen = g_hash_table_lookup(rsc->allowed_nodes, prefer->details->id); - if (chosen && chosen->weight >= 0 && can_run_resources(chosen)) { + if (chosen && chosen->weight >= 0 + && chosen->weight >= best->weight /* Possible alternative: (chosen->weight >= INFINITY || best->weight < INFINITY) */ + && can_run_resources(chosen)) { pe_rsc_trace(rsc, "Using preferred node %s for %s instead of choosing from %d candidates", chosen->details->uname, rsc->id, length); @@ -127,8 +135,6 @@ native_choose_node(resource_t * rsc, node_t * prefer, pe_working_set_t * data_se } if (chosen == NULL && rsc->allowed_nodes) { - nodes = g_hash_table_get_values(rsc->allowed_nodes); - nodes = g_list_sort_with_data(nodes, sort_node_weight, g_list_nth_data(rsc->running_on, 0)); chosen = g_list_nth_data(nodes, 0); pe_rsc_trace(rsc, "Chose node %s for %s from %d candidates", @@ -749,12 +755,12 @@ RecurringOp(resource_t * rsc, action_t * start, node_t * node, if (start == NULL || is_set(start->flags, pe_action_runnable) == FALSE) { pe_rsc_debug(rsc, "%s\t %s (cancelled : start un-runnable)", crm_str(node_uname), mon->uuid); - update_action_flags(mon, pe_action_runnable | pe_action_clear, __FUNCTION__); + update_action_flags(mon, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__); } else if (node == NULL || node->details->online == FALSE || node->details->unclean) { pe_rsc_debug(rsc, "%s\t %s (cancelled : no node available)", crm_str(node_uname), mon->uuid); - update_action_flags(mon, pe_action_runnable | pe_action_clear, __FUNCTION__); + update_action_flags(mon, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__); } else if (is_set(mon->flags, pe_action_optional) == FALSE) { pe_rsc_info(rsc, " Start recurring %s (%llus) for %s on %s", mon->task, interval_ms / 1000, @@ -971,7 +977,7 @@ RecurringOp_Stopped(resource_t * rsc, action_t * start, node_t * node, if (is_set(stop->flags, pe_action_runnable) == FALSE) { crm_debug("%s\t %s (cancelled : stop un-runnable)", crm_str(stop_node_uname), stopped_mon->uuid); - update_action_flags(stopped_mon, pe_action_runnable | pe_action_clear, __FUNCTION__); + update_action_flags(stopped_mon, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__); } if (is_set(rsc->flags, pe_rsc_managed)) { @@ -991,7 +997,7 @@ RecurringOp_Stopped(resource_t * rsc, action_t * start, node_t * node, && is_set(rsc->flags, pe_rsc_managed) == FALSE) { pe_rsc_trace(rsc, "Marking %s optional on %s due to unmanaged", key, crm_str(stop_node_uname)); - update_action_flags(stopped_mon, pe_action_optional, __FUNCTION__); + update_action_flags(stopped_mon, pe_action_optional, __FUNCTION__, __LINE__); } if (is_set(stopped_mon->flags, pe_action_optional)) { @@ -1001,7 +1007,7 @@ RecurringOp_Stopped(resource_t * rsc, action_t * start, node_t * node, if (stop_node->details->online == FALSE || stop_node->details->unclean) { pe_rsc_debug(rsc, "%s\t %s (cancelled : no node available)", crm_str(stop_node_uname), stopped_mon->uuid); - update_action_flags(stopped_mon, pe_action_runnable | pe_action_clear, __FUNCTION__); + update_action_flags(stopped_mon, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__); } if (is_set(stopped_mon->flags, pe_action_runnable) @@ -1055,7 +1061,7 @@ handle_migration_actions(resource_t * rsc, node_t *current, node_t *chosen, pe_w set_bit(start->flags, pe_action_migrate_runnable); set_bit(stop->flags, pe_action_migrate_runnable); - update_action_flags(start, pe_action_pseudo, __FUNCTION__); /* easier than trying to delete it from the graph */ + update_action_flags(start, pe_action_pseudo, __FUNCTION__, __LINE__); /* easier than trying to delete it from the graph */ /* order probes before migrations */ if (partial) { @@ -1263,7 +1269,7 @@ native_create_actions(resource_t * rsc, pe_working_set_t * data_set) /* Required steps from this role to the next */ while (role != rsc->next_role) { next_role = rsc_state_matrix[role][rsc->next_role]; - pe_rsc_trace(rsc, "Role: Executing: %s->%s = (%s)", role2text(role), role2text(next_role), rsc->id); + pe_rsc_trace(rsc, "Role: Executing: %s->%s = (%s on %s)", role2text(role), role2text(next_role), rsc->id, chosen?chosen->details->uname:"NA"); if (rsc_action_matrix[role][next_role] (rsc, chosen, FALSE, data_set) == FALSE) { break; } @@ -1410,7 +1416,7 @@ native_internal_constraints(resource_t * rsc, pe_working_set_t * data_set) if (load_stopped->node == NULL) { load_stopped->node = node_copy(current); - update_action_flags(load_stopped, pe_action_optional | pe_action_clear, __FUNCTION__); + update_action_flags(load_stopped, pe_action_optional | pe_action_clear, __FUNCTION__, __LINE__); } custom_action_order(rsc, stop_key(rsc), NULL, @@ -1424,7 +1430,7 @@ native_internal_constraints(resource_t * rsc, pe_working_set_t * data_set) if (load_stopped->node == NULL) { load_stopped->node = node_copy(next); - update_action_flags(load_stopped, pe_action_optional | pe_action_clear, __FUNCTION__); + update_action_flags(load_stopped, pe_action_optional | pe_action_clear, __FUNCTION__, __LINE__); } custom_action_order(NULL, strdup(load_stopped_task), load_stopped, @@ -2138,6 +2144,11 @@ LogActions(resource_t * rsc, pe_working_set_t * data_set, gboolean terminal) gboolean moving = FALSE; GListPtr possible_matches = NULL; + if(rsc->variant == pe_container) { + container_LogActions(rsc, data_set, terminal); + return; + } + if (rsc->children) { GListPtr gIter = NULL; @@ -2417,7 +2428,7 @@ StopRsc(resource_t * rsc, node_t * next, gboolean optional, pe_working_set_t * d stop = stop_action(rsc, current, optional); if (is_not_set(rsc->flags, pe_rsc_managed)) { - update_action_flags(stop, pe_action_runnable | pe_action_clear, __FUNCTION__); + update_action_flags(stop, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__); } if (is_set(data_set->flags, pe_flag_remove_after_stop)) { @@ -2437,7 +2448,7 @@ StartRsc(resource_t * rsc, node_t * next, gboolean optional, pe_working_set_t * pe_rsc_trace(rsc, "%s on %s %d", rsc->id, next ? next->details->uname : "N/A", optional); start = start_action(rsc, next, TRUE); if (is_set(start->flags, pe_action_runnable) && optional == FALSE) { - update_action_flags(start, pe_action_optional | pe_action_clear, __FUNCTION__); + update_action_flags(start, pe_action_optional | pe_action_clear, __FUNCTION__, __LINE__); } return TRUE; } @@ -2481,7 +2492,7 @@ PromoteRsc(resource_t * rsc, node_t * next, gboolean optional, pe_working_set_t for (gIter = action_list; gIter != NULL; gIter = gIter->next) { action_t *promote = (action_t *) gIter->data; - update_action_flags(promote, pe_action_runnable | pe_action_clear, __FUNCTION__); + update_action_flags(promote, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__); } g_list_free(action_list); @@ -2773,7 +2784,7 @@ native_create_probe(resource_t * rsc, node_t * node, action_t * complete, key = generate_op_key(rsc->id, RSC_STATUS, 0); probe = custom_action(rsc, key, RSC_STATUS, node, FALSE, TRUE, data_set); - update_action_flags(probe, pe_action_optional | pe_action_clear, __FUNCTION__); + update_action_flags(probe, pe_action_optional | pe_action_clear, __FUNCTION__, __LINE__); /* If enabled, require unfencing before probing any fence devices * but ensure it happens after any resources that require @@ -2940,9 +2951,9 @@ native_stop_constraints(resource_t * rsc, action_t * stonith_op, pe_working_set_ /* The stop would never complete and is now implied by the fencing, * so convert it into a pseudo-action. */ - update_action_flags(action, pe_action_pseudo, __FUNCTION__); - update_action_flags(action, pe_action_runnable, __FUNCTION__); - update_action_flags(action, pe_action_implied_by_stonith, __FUNCTION__); + update_action_flags(action, pe_action_pseudo, __FUNCTION__, __LINE__); + update_action_flags(action, pe_action_runnable, __FUNCTION__, __LINE__); + update_action_flags(action, pe_action_implied_by_stonith, __FUNCTION__, __LINE__); if(start == NULL || start->needs > rsc_req_quorum) { enum pe_ordering flags = pe_order_optional; @@ -3041,8 +3052,8 @@ native_stop_constraints(resource_t * rsc, action_t * stonith_op, pe_working_set_ /* The demote would never complete and is now implied by the * fencing, so convert it into a pseudo-action. */ - update_action_flags(action, pe_action_pseudo, __FUNCTION__); - update_action_flags(action, pe_action_runnable, __FUNCTION__); + update_action_flags(action, pe_action_pseudo, __FUNCTION__, __LINE__); + update_action_flags(action, pe_action_runnable, __FUNCTION__, __LINE__); if (start == NULL || start->needs > rsc_req_quorum) { order_actions(stonith_op, action, pe_order_preserve|pe_order_optional); diff --git a/pengine/notif.c b/pengine/notif.c index 73bb226..a2d4c1b 100644 --- a/pengine/notif.c +++ b/pengine/notif.c @@ -315,8 +315,8 @@ create_notification_boundaries(resource_t * rsc, const char *action, action_t * custom_action(rsc, key, RSC_NOTIFY, NULL, is_set(start->flags, pe_action_optional), TRUE, data_set); - update_action_flags(n_data->pre, pe_action_pseudo, __FUNCTION__); - update_action_flags(n_data->pre, pe_action_runnable, __FUNCTION__); + update_action_flags(n_data->pre, pe_action_pseudo, __FUNCTION__, __LINE__); + update_action_flags(n_data->pre, pe_action_runnable, __FUNCTION__, __LINE__); add_hash_param(n_data->pre->meta, "notify_type", "pre"); add_hash_param(n_data->pre->meta, "notify_operation", n_data->action); @@ -330,8 +330,8 @@ create_notification_boundaries(resource_t * rsc, const char *action, action_t * custom_action(rsc, key, RSC_NOTIFIED, NULL, is_set(start->flags, pe_action_optional), TRUE, data_set); - update_action_flags(n_data->pre_done, pe_action_pseudo, __FUNCTION__); - update_action_flags(n_data->pre_done, pe_action_runnable, __FUNCTION__); + update_action_flags(n_data->pre_done, pe_action_pseudo, __FUNCTION__, __LINE__); + update_action_flags(n_data->pre_done, pe_action_runnable, __FUNCTION__, __LINE__); add_hash_param(n_data->pre_done->meta, "notify_type", "pre"); add_hash_param(n_data->pre_done->meta, "notify_operation", n_data->action); @@ -351,11 +351,11 @@ create_notification_boundaries(resource_t * rsc, const char *action, action_t * data_set); n_data->post->priority = INFINITY; - update_action_flags(n_data->post, pe_action_pseudo, __FUNCTION__); + update_action_flags(n_data->post, pe_action_pseudo, __FUNCTION__, __LINE__); if (is_set(end->flags, pe_action_runnable)) { - update_action_flags(n_data->post, pe_action_runnable, __FUNCTION__); + update_action_flags(n_data->post, pe_action_runnable, __FUNCTION__, __LINE__); } else { - update_action_flags(n_data->post, pe_action_runnable | pe_action_clear, __FUNCTION__); + update_action_flags(n_data->post, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__); } add_hash_param(n_data->post->meta, "notify_type", "post"); @@ -371,11 +371,11 @@ create_notification_boundaries(resource_t * rsc, const char *action, action_t * TRUE, data_set); n_data->post_done->priority = INFINITY; - update_action_flags(n_data->post_done, pe_action_pseudo, __FUNCTION__); + update_action_flags(n_data->post_done, pe_action_pseudo, __FUNCTION__, __LINE__); if (is_set(end->flags, pe_action_runnable)) { - update_action_flags(n_data->post_done, pe_action_runnable, __FUNCTION__); + update_action_flags(n_data->post_done, pe_action_runnable, __FUNCTION__, __LINE__); } else { - update_action_flags(n_data->post_done, pe_action_runnable | pe_action_clear, __FUNCTION__); + update_action_flags(n_data->post_done, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__); } add_hash_param(n_data->post_done->meta, "notify_type", "post"); @@ -585,13 +585,13 @@ expand_notification_data(notify_data_t * n_data, pe_working_set_t * data_set) g_hash_table_insert(n_data->keys, strdup("notify_all_uname"), node_list); if (required && n_data->pre) { - update_action_flags(n_data->pre, pe_action_optional | pe_action_clear, __FUNCTION__); - update_action_flags(n_data->pre_done, pe_action_optional | pe_action_clear, __FUNCTION__); + update_action_flags(n_data->pre, pe_action_optional | pe_action_clear, __FUNCTION__, __LINE__); + update_action_flags(n_data->pre_done, pe_action_optional | pe_action_clear, __FUNCTION__, __LINE__); } if (required && n_data->post) { - update_action_flags(n_data->post, pe_action_optional | pe_action_clear, __FUNCTION__); - update_action_flags(n_data->post_done, pe_action_optional | pe_action_clear, __FUNCTION__); + update_action_flags(n_data->post, pe_action_optional | pe_action_clear, __FUNCTION__, __LINE__); + update_action_flags(n_data->post_done, pe_action_optional | pe_action_clear, __FUNCTION__, __LINE__); } return required; } diff --git a/pengine/test10/1360.scores b/pengine/test10/1360.scores index 39c803d..c0c5cc9 100644 --- a/pengine/test10/1360.scores +++ b/pengine/test10/1360.scores @@ -10,4 +10,6 @@ group_color: VIP allocation score on ssgtest1b: 0 native_color: VIP allocation score on ssgtest1a: INFINITY native_color: VIP allocation score on ssgtest1b: 0 native_color: dollies:0 allocation score on ssgtest1a: 0 +native_color: dollies:0 allocation score on ssgtest1a: 0 +native_color: dollies:0 allocation score on ssgtest1b: INFINITY native_color: dollies:0 allocation score on ssgtest1b: INFINITY diff --git a/pengine/test10/662.scores b/pengine/test10/662.scores index 50be40c..5e6598c 100644 --- a/pengine/test10/662.scores +++ b/pengine/test10/662.scores @@ -29,10 +29,10 @@ native_color: child_DoFencing:0 allocation score on c001n04: -INFINITY native_color: child_DoFencing:0 allocation score on c001n09: -INFINITY native_color: child_DoFencing:1 allocation score on c001n02: -INFINITY native_color: child_DoFencing:1 allocation score on c001n03: 1 -native_color: child_DoFencing:1 allocation score on c001n04: -INFINITY +native_color: child_DoFencing:1 allocation score on c001n04: 0 native_color: child_DoFencing:1 allocation score on c001n09: 0 native_color: child_DoFencing:2 allocation score on c001n02: -INFINITY -native_color: child_DoFencing:2 allocation score on c001n03: 0 +native_color: child_DoFencing:2 allocation score on c001n03: -INFINITY native_color: child_DoFencing:2 allocation score on c001n04: 1 native_color: child_DoFencing:2 allocation score on c001n09: 0 native_color: child_DoFencing:3 allocation score on c001n02: -INFINITY diff --git a/pengine/test10/696.scores b/pengine/test10/696.scores index 4f6dd50..f27fc36 100644 --- a/pengine/test10/696.scores +++ b/pengine/test10/696.scores @@ -16,9 +16,9 @@ native_color: DcIPaddr allocation score on hadev2: 0 native_color: DcIPaddr allocation score on hadev3: -INFINITY native_color: child_DoFencing:0 allocation score on hadev1: 0 native_color: child_DoFencing:0 allocation score on hadev2: 1 -native_color: child_DoFencing:0 allocation score on hadev3: -INFINITY +native_color: child_DoFencing:0 allocation score on hadev3: 0 native_color: child_DoFencing:1 allocation score on hadev1: 0 -native_color: child_DoFencing:1 allocation score on hadev2: 0 +native_color: child_DoFencing:1 allocation score on hadev2: -INFINITY native_color: child_DoFencing:1 allocation score on hadev3: 1 native_color: child_DoFencing:2 allocation score on hadev1: 0 native_color: child_DoFencing:2 allocation score on hadev2: -INFINITY diff --git a/pengine/test10/anti-colocation-slave.scores b/pengine/test10/anti-colocation-slave.scores index b9d278e..e0b8a52 100644 --- a/pengine/test10/anti-colocation-slave.scores +++ b/pengine/test10/anti-colocation-slave.scores @@ -10,8 +10,8 @@ native_color: dummy1 allocation score on sle12sp2-2: 0 native_color: st_sbd allocation score on sle12sp2-1: 0 native_color: st_sbd allocation score on sle12sp2-2: 0 native_color: state1:0 allocation score on sle12sp2-1: 11 -native_color: state1:0 allocation score on sle12sp2-2: -INFINITY -native_color: state1:1 allocation score on sle12sp2-1: 0 +native_color: state1:0 allocation score on sle12sp2-2: 0 +native_color: state1:1 allocation score on sle12sp2-1: -INFINITY native_color: state1:1 allocation score on sle12sp2-2: 6 state1:0 promotion score on sle12sp2-1: -INFINITY state1:1 promotion score on sle12sp2-2: 5 diff --git a/pengine/test10/asymmetric.scores b/pengine/test10/asymmetric.scores index 1dcb15a..802da70 100644 --- a/pengine/test10/asymmetric.scores +++ b/pengine/test10/asymmetric.scores @@ -8,7 +8,7 @@ clone_color: ms_drbd_poolA allocation score on puma3: 0 ebe3fb6e-7778-426e-be58-190ab1ff3dd3:0 promotion score on puma1: 5 ebe3fb6e-7778-426e-be58-190ab1ff3dd3:1 promotion score on puma3: 100 native_color: ebe3fb6e-7778-426e-be58-190ab1ff3dd3:0 allocation score on puma1: 6 -native_color: ebe3fb6e-7778-426e-be58-190ab1ff3dd3:0 allocation score on puma3: 0 -native_color: ebe3fb6e-7778-426e-be58-190ab1ff3dd3:1 allocation score on puma1: -INFINITY +native_color: ebe3fb6e-7778-426e-be58-190ab1ff3dd3:0 allocation score on puma3: -INFINITY +native_color: ebe3fb6e-7778-426e-be58-190ab1ff3dd3:1 allocation score on puma1: 0 native_color: ebe3fb6e-7778-426e-be58-190ab1ff3dd3:1 allocation score on puma3: 101 native_color: vpool_ip_poolA allocation score on puma3: -INFINITY diff --git a/pengine/test10/bnc-515172.scores b/pengine/test10/bnc-515172.scores index 3615bfa..f085a46 100644 --- a/pengine/test10/bnc-515172.scores +++ b/pengine/test10/bnc-515172.scores @@ -49,18 +49,18 @@ native_color: Res_Pingd_Gateway:0 allocation score on sles11-ha2: 0 native_color: Res_Pingd_Gateway:0 allocation score on sles11-ha3: 0 native_color: Res_Pingd_Gateway:1 allocation score on sles11-ha1: -INFINITY native_color: Res_Pingd_Gateway:1 allocation score on sles11-ha2: 1 -native_color: Res_Pingd_Gateway:1 allocation score on sles11-ha3: -INFINITY +native_color: Res_Pingd_Gateway:1 allocation score on sles11-ha3: 0 native_color: Res_Pingd_Gateway:2 allocation score on sles11-ha1: -INFINITY -native_color: Res_Pingd_Gateway:2 allocation score on sles11-ha2: 0 +native_color: Res_Pingd_Gateway:2 allocation score on sles11-ha2: -INFINITY native_color: Res_Pingd_Gateway:2 allocation score on sles11-ha3: 1 native_color: Res_Pingd_Public:0 allocation score on sles11-ha1: 1 native_color: Res_Pingd_Public:0 allocation score on sles11-ha2: 0 native_color: Res_Pingd_Public:0 allocation score on sles11-ha3: 0 native_color: Res_Pingd_Public:1 allocation score on sles11-ha1: -INFINITY native_color: Res_Pingd_Public:1 allocation score on sles11-ha2: 1 -native_color: Res_Pingd_Public:1 allocation score on sles11-ha3: -INFINITY +native_color: Res_Pingd_Public:1 allocation score on sles11-ha3: 0 native_color: Res_Pingd_Public:2 allocation score on sles11-ha1: -INFINITY -native_color: Res_Pingd_Public:2 allocation score on sles11-ha2: 0 +native_color: Res_Pingd_Public:2 allocation score on sles11-ha2: -INFINITY native_color: Res_Pingd_Public:2 allocation score on sles11-ha3: 1 native_color: Stonith_Resource:0 allocation score on sles11-ha1: 1 native_color: Stonith_Resource:0 allocation score on sles11-ha2: 0 diff --git a/pengine/test10/bug-1685.scores b/pengine/test10/bug-1685.scores index e45d379..7142c60 100644 --- a/pengine/test10/bug-1685.scores +++ b/pengine/test10/bug-1685.scores @@ -5,10 +5,10 @@ clone_color: prim_shared_storage:1 allocation score on redun1: 76 clone_color: prim_shared_storage:1 allocation score on redun2: 0 clone_color: shared_storage allocation score on redun1: 0 clone_color: shared_storage allocation score on redun2: 0 -native_color: prim_shared_storage:0 allocation score on redun1: -INFINITY +native_color: prim_shared_storage:0 allocation score on redun1: 0 native_color: prim_shared_storage:0 allocation score on redun2: 76 native_color: prim_shared_storage:1 allocation score on redun1: 76 -native_color: prim_shared_storage:1 allocation score on redun2: 0 +native_color: prim_shared_storage:1 allocation score on redun2: -INFINITY native_color: shared_filesystem allocation score on redun1: -INFINITY native_color: shared_filesystem allocation score on redun2: 76 prim_shared_storage:0 promotion score on redun2: 75 diff --git a/pengine/test10/bug-1765.scores b/pengine/test10/bug-1765.scores index c072902..28f19e1 100644 --- a/pengine/test10/bug-1765.scores +++ b/pengine/test10/bug-1765.scores @@ -21,7 +21,7 @@ native_color: drbd0:0 allocation score on sles236: 76 native_color: drbd0:0 allocation score on sles238: 75 native_color: drbd0:1 allocation score on sles236: -INFINITY native_color: drbd0:1 allocation score on sles238: 5 -native_color: drbd1:0 allocation score on sles236: -INFINITY +native_color: drbd1:0 allocation score on sles236: 0 native_color: drbd1:0 allocation score on sles238: 76 native_color: drbd1:1 allocation score on sles236: 76 -native_color: drbd1:1 allocation score on sles238: 0 +native_color: drbd1:1 allocation score on sles238: -INFINITY diff --git a/pengine/test10/bug-5143-ms-shuffle.scores b/pengine/test10/bug-5143-ms-shuffle.scores index 37881e6..b062986 100644 --- a/pengine/test10/bug-5143-ms-shuffle.scores +++ b/pengine/test10/bug-5143-ms-shuffle.scores @@ -93,29 +93,29 @@ drbd-r1:0 promotion score on hex-2: -1 drbd-r1:1 promotion score on hex-3: 10000 group_color: basegrp:0 allocation score on hex-1: 0 group_color: basegrp:0 allocation score on hex-2: -INFINITY -group_color: basegrp:0 allocation score on hex-3: -INFINITY +group_color: basegrp:0 allocation score on hex-3: 0 group_color: basegrp:1 allocation score on hex-1: 0 group_color: basegrp:1 allocation score on hex-2: 0 group_color: basegrp:1 allocation score on hex-3: 0 -group_color: basegrp:2 allocation score on hex-1: 0 +group_color: basegrp:2 allocation score on hex-1: -INFINITY group_color: basegrp:2 allocation score on hex-2: -INFINITY group_color: basegrp:2 allocation score on hex-3: 0 group_color: clvmd:0 allocation score on hex-1: 1 group_color: clvmd:0 allocation score on hex-2: -INFINITY -group_color: clvmd:0 allocation score on hex-3: -INFINITY +group_color: clvmd:0 allocation score on hex-3: 0 group_color: clvmd:1 allocation score on hex-1: 0 group_color: clvmd:1 allocation score on hex-2: 1 group_color: clvmd:1 allocation score on hex-3: 0 -group_color: clvmd:2 allocation score on hex-1: 0 +group_color: clvmd:2 allocation score on hex-1: -INFINITY group_color: clvmd:2 allocation score on hex-2: -INFINITY group_color: clvmd:2 allocation score on hex-3: 1 group_color: dlm:0 allocation score on hex-1: 1 group_color: dlm:0 allocation score on hex-2: -INFINITY -group_color: dlm:0 allocation score on hex-3: -INFINITY +group_color: dlm:0 allocation score on hex-3: 0 group_color: dlm:1 allocation score on hex-1: 0 group_color: dlm:1 allocation score on hex-2: 1 group_color: dlm:1 allocation score on hex-3: 0 -group_color: dlm:2 allocation score on hex-1: 0 +group_color: dlm:2 allocation score on hex-1: -INFINITY group_color: dlm:2 allocation score on hex-2: -INFINITY group_color: dlm:2 allocation score on hex-3: 1 group_color: dummy1 allocation score on hex-1: 0 @@ -129,11 +129,11 @@ group_color: fs-md0 allocation score on hex-2: 0 group_color: fs-md0 allocation score on hex-3: 1000 group_color: fs-ocfs-1:0 allocation score on hex-1: 1 group_color: fs-ocfs-1:0 allocation score on hex-2: -INFINITY -group_color: fs-ocfs-1:0 allocation score on hex-3: -INFINITY +group_color: fs-ocfs-1:0 allocation score on hex-3: 0 group_color: fs-ocfs-1:1 allocation score on hex-1: 0 group_color: fs-ocfs-1:1 allocation score on hex-2: 1 group_color: fs-ocfs-1:1 allocation score on hex-3: 0 -group_color: fs-ocfs-1:2 allocation score on hex-1: 0 +group_color: fs-ocfs-1:2 allocation score on hex-1: -INFINITY group_color: fs-ocfs-1:2 allocation score on hex-2: -INFINITY group_color: fs-ocfs-1:2 allocation score on hex-3: 1 group_color: fs-r0 allocation score on hex-1: 0 @@ -147,11 +147,11 @@ group_color: md0-group allocation score on hex-2: 0 group_color: md0-group allocation score on hex-3: 0 group_color: o2cb:0 allocation score on hex-1: 1 group_color: o2cb:0 allocation score on hex-2: -INFINITY -group_color: o2cb:0 allocation score on hex-3: -INFINITY +group_color: o2cb:0 allocation score on hex-3: 0 group_color: o2cb:1 allocation score on hex-1: 0 group_color: o2cb:1 allocation score on hex-2: 1 group_color: o2cb:1 allocation score on hex-3: 0 -group_color: o2cb:2 allocation score on hex-1: 0 +group_color: o2cb:2 allocation score on hex-1: -INFINITY group_color: o2cb:2 allocation score on hex-2: -INFINITY group_color: o2cb:2 allocation score on hex-3: 1 group_color: r0-group allocation score on hex-1: 0 @@ -162,11 +162,11 @@ group_color: vg-md0 allocation score on hex-2: 0 group_color: vg-md0 allocation score on hex-3: 1000 group_color: vg1:0 allocation score on hex-1: 1 group_color: vg1:0 allocation score on hex-2: -INFINITY -group_color: vg1:0 allocation score on hex-3: -INFINITY +group_color: vg1:0 allocation score on hex-3: 0 group_color: vg1:1 allocation score on hex-1: 0 group_color: vg1:1 allocation score on hex-2: 1 group_color: vg1:1 allocation score on hex-3: 0 -group_color: vg1:2 allocation score on hex-1: 0 +group_color: vg1:2 allocation score on hex-1: -INFINITY group_color: vg1:2 allocation score on hex-2: -INFINITY group_color: vg1:2 allocation score on hex-3: 1 native_color: clvmd:0 allocation score on hex-1: 4 @@ -180,11 +180,11 @@ native_color: clvmd:2 allocation score on hex-2: -INFINITY native_color: clvmd:2 allocation score on hex-3: 4 native_color: dlm:0 allocation score on hex-1: 5 native_color: dlm:0 allocation score on hex-2: -INFINITY -native_color: dlm:0 allocation score on hex-3: -INFINITY +native_color: dlm:0 allocation score on hex-3: 0 native_color: dlm:1 allocation score on hex-1: 0 native_color: dlm:1 allocation score on hex-2: 5 native_color: dlm:1 allocation score on hex-3: 0 -native_color: dlm:2 allocation score on hex-1: 0 +native_color: dlm:2 allocation score on hex-1: -INFINITY native_color: dlm:2 allocation score on hex-2: -INFINITY native_color: dlm:2 allocation score on hex-3: 5 native_color: drbd-r0:0 allocation score on hex-1: 10001 diff --git a/pengine/test10/bug-5186-partial-migrate.scores b/pengine/test10/bug-5186-partial-migrate.scores index baec909..8b29529 100644 --- a/pengine/test10/bug-5186-partial-migrate.scores +++ b/pengine/test10/bug-5186-partial-migrate.scores @@ -67,8 +67,8 @@ native_color: prmDiskd1:0 allocation score on bl460g1n7: -INFINITY native_color: prmDiskd1:0 allocation score on bl460g1n8: -INFINITY native_color: prmDiskd1:1 allocation score on bl460g1n6: INFINITY native_color: prmDiskd1:1 allocation score on bl460g1n7: -INFINITY -native_color: prmDiskd1:1 allocation score on bl460g1n8: -INFINITY -native_color: prmDiskd1:2 allocation score on bl460g1n6: 0 +native_color: prmDiskd1:1 allocation score on bl460g1n8: 0 +native_color: prmDiskd1:2 allocation score on bl460g1n6: -INFINITY native_color: prmDiskd1:2 allocation score on bl460g1n7: -INFINITY native_color: prmDiskd1:2 allocation score on bl460g1n8: INFINITY native_color: prmDiskd2:0 allocation score on bl460g1n6: -INFINITY @@ -76,8 +76,8 @@ native_color: prmDiskd2:0 allocation score on bl460g1n7: -INFINITY native_color: prmDiskd2:0 allocation score on bl460g1n8: -INFINITY native_color: prmDiskd2:1 allocation score on bl460g1n6: INFINITY native_color: prmDiskd2:1 allocation score on bl460g1n7: -INFINITY -native_color: prmDiskd2:1 allocation score on bl460g1n8: -INFINITY -native_color: prmDiskd2:2 allocation score on bl460g1n6: 0 +native_color: prmDiskd2:1 allocation score on bl460g1n8: 0 +native_color: prmDiskd2:2 allocation score on bl460g1n6: -INFINITY native_color: prmDiskd2:2 allocation score on bl460g1n7: -INFINITY native_color: prmDiskd2:2 allocation score on bl460g1n8: INFINITY native_color: prmDummy allocation score on bl460g1n6: 200 @@ -88,8 +88,8 @@ native_color: prmPing:0 allocation score on bl460g1n7: -INFINITY native_color: prmPing:0 allocation score on bl460g1n8: -INFINITY native_color: prmPing:1 allocation score on bl460g1n6: INFINITY native_color: prmPing:1 allocation score on bl460g1n7: -INFINITY -native_color: prmPing:1 allocation score on bl460g1n8: -INFINITY -native_color: prmPing:2 allocation score on bl460g1n6: 0 +native_color: prmPing:1 allocation score on bl460g1n8: 0 +native_color: prmPing:2 allocation score on bl460g1n6: -INFINITY native_color: prmPing:2 allocation score on bl460g1n7: -INFINITY native_color: prmPing:2 allocation score on bl460g1n8: INFINITY native_color: prmStonith6-1 allocation score on bl460g1n6: -INFINITY diff --git a/pengine/test10/bug-cl-5168.scores b/pengine/test10/bug-cl-5168.scores index 027d669..640e0f1 100644 --- a/pengine/test10/bug-cl-5168.scores +++ b/pengine/test10/bug-cl-5168.scores @@ -194,8 +194,11 @@ native_color: drbd-r0:1 allocation score on hex-1: INFINITY native_color: drbd-r0:1 allocation score on hex-2: 0 native_color: drbd-r0:1 allocation score on hex-3: -INFINITY native_color: drbd-r1:0 allocation score on hex-1: -INFINITY +native_color: drbd-r1:0 allocation score on hex-1: -INFINITY +native_color: drbd-r1:0 allocation score on hex-2: 1001 native_color: drbd-r1:0 allocation score on hex-2: 1001 native_color: drbd-r1:0 allocation score on hex-3: -INFINITY +native_color: drbd-r1:0 allocation score on hex-3: INFINITY native_color: drbd-r1:1 allocation score on hex-1: -INFINITY native_color: drbd-r1:1 allocation score on hex-2: 0 native_color: drbd-r1:1 allocation score on hex-3: INFINITY diff --git a/pengine/test10/bug-cl-5213.scores b/pengine/test10/bug-cl-5213.scores index b5b64ae..f9347dc 100644 --- a/pengine/test10/bug-cl-5213.scores +++ b/pengine/test10/bug-cl-5213.scores @@ -7,9 +7,9 @@ clone_color: pgsql:1 allocation score on srv01: INFINITY clone_color: pgsql:1 allocation score on srv02: 0 native_color: A-master allocation score on srv01: 0 native_color: A-master allocation score on srv02: INFINITY -native_color: pgsql:0 allocation score on srv01: -INFINITY +native_color: pgsql:0 allocation score on srv01: 0 native_color: pgsql:0 allocation score on srv02: INFINITY native_color: pgsql:1 allocation score on srv01: INFINITY -native_color: pgsql:1 allocation score on srv02: 0 +native_color: pgsql:1 allocation score on srv02: -INFINITY pgsql:0 promotion score on srv02: -INFINITY pgsql:1 promotion score on srv01: -INFINITY diff --git a/pengine/test10/bug-cl-5219.scores b/pengine/test10/bug-cl-5219.scores index cdb624a..991ca83 100644 --- a/pengine/test10/bug-cl-5219.scores +++ b/pengine/test10/bug-cl-5219.scores @@ -23,18 +23,18 @@ native_color: child2-service allocation score on ha1.test.anchor.net.au: -INFINI native_color: child2-service allocation score on ha2.test.anchor.net.au: 11 native_color: parent-service allocation score on ha1.test.anchor.net.au: -INFINITY native_color: parent-service allocation score on ha2.test.anchor.net.au: 11 -native_color: stateful-child1:0 allocation score on ha1.test.anchor.net.au: -INFINITY +native_color: stateful-child1:0 allocation score on ha1.test.anchor.net.au: 0 native_color: stateful-child1:0 allocation score on ha2.test.anchor.net.au: 11 native_color: stateful-child1:1 allocation score on ha1.test.anchor.net.au: 6 -native_color: stateful-child1:1 allocation score on ha2.test.anchor.net.au: 0 -native_color: stateful-child2:0 allocation score on ha1.test.anchor.net.au: -INFINITY +native_color: stateful-child1:1 allocation score on ha2.test.anchor.net.au: -INFINITY +native_color: stateful-child2:0 allocation score on ha1.test.anchor.net.au: 0 native_color: stateful-child2:0 allocation score on ha2.test.anchor.net.au: 11 native_color: stateful-child2:1 allocation score on ha1.test.anchor.net.au: 6 -native_color: stateful-child2:1 allocation score on ha2.test.anchor.net.au: 0 -native_color: stateful-parent:0 allocation score on ha1.test.anchor.net.au: -INFINITY +native_color: stateful-child2:1 allocation score on ha2.test.anchor.net.au: -INFINITY +native_color: stateful-parent:0 allocation score on ha1.test.anchor.net.au: 0 native_color: stateful-parent:0 allocation score on ha2.test.anchor.net.au: 11 native_color: stateful-parent:1 allocation score on ha1.test.anchor.net.au: 6 -native_color: stateful-parent:1 allocation score on ha2.test.anchor.net.au: 0 +native_color: stateful-parent:1 allocation score on ha2.test.anchor.net.au: -INFINITY stateful-child1:0 promotion score on ha2.test.anchor.net.au: INFINITY stateful-child1:1 promotion score on ha1.test.anchor.net.au: -INFINITY stateful-child2:0 promotion score on ha2.test.anchor.net.au: INFINITY diff --git a/pengine/test10/bug-lf-2106.scores b/pengine/test10/bug-lf-2106.scores index d7a2dbd..9b8e06c 100644 --- a/pengine/test10/bug-lf-2106.scores +++ b/pengine/test10/bug-lf-2106.scores @@ -96,8 +96,8 @@ native_color: itwiki allocation score on cl-virt-2: 176 native_color: medomus-cvs allocation score on cl-virt-1: -INFINITY native_color: medomus-cvs allocation score on cl-virt-2: 226 native_color: pingd:0 allocation score on cl-virt-1: 1 -native_color: pingd:0 allocation score on cl-virt-2: -INFINITY -native_color: pingd:1 allocation score on cl-virt-1: 0 +native_color: pingd:0 allocation score on cl-virt-2: 0 +native_color: pingd:1 allocation score on cl-virt-1: -INFINITY native_color: pingd:1 allocation score on cl-virt-2: 1 native_color: servsyslog allocation score on cl-virt-1: -INFINITY native_color: servsyslog allocation score on cl-virt-2: 176 diff --git a/pengine/test10/bug-lf-2317.scores b/pengine/test10/bug-lf-2317.scores index 12b86e7..73ea6ee 100644 --- a/pengine/test10/bug-lf-2317.scores +++ b/pengine/test10/bug-lf-2317.scores @@ -9,7 +9,7 @@ drbd_r0:0 promotion score on ibm2.isg.si: 10000 drbd_r0:1 promotion score on ibm1.isg.si: 10000 native_color: HostingIsg allocation score on ibm1.isg.si: 0 native_color: HostingIsg allocation score on ibm2.isg.si: 10 -native_color: drbd_r0:0 allocation score on ibm1.isg.si: -INFINITY +native_color: drbd_r0:0 allocation score on ibm1.isg.si: 0 native_color: drbd_r0:0 allocation score on ibm2.isg.si: 10001 native_color: drbd_r0:1 allocation score on ibm1.isg.si: 10001 -native_color: drbd_r0:1 allocation score on ibm2.isg.si: 0 +native_color: drbd_r0:1 allocation score on ibm2.isg.si: -INFINITY diff --git a/pengine/test10/bug-lf-2358.scores b/pengine/test10/bug-lf-2358.scores index 2f8ea08..a04b469 100644 --- a/pengine/test10/bug-lf-2358.scores +++ b/pengine/test10/bug-lf-2358.scores @@ -45,10 +45,10 @@ native_color: res_drbd_mysql1:0 allocation score on alice.demo: -INFINITY native_color: res_drbd_mysql1:0 allocation score on bob.demo: 10001 native_color: res_drbd_mysql1:1 allocation score on alice.demo: 0 native_color: res_drbd_mysql1:1 allocation score on bob.demo: -INFINITY -native_color: res_drbd_mysql2:0 allocation score on alice.demo: -INFINITY +native_color: res_drbd_mysql2:0 allocation score on alice.demo: 0 native_color: res_drbd_mysql2:0 allocation score on bob.demo: 10001 native_color: res_drbd_mysql2:1 allocation score on alice.demo: 10001 -native_color: res_drbd_mysql2:1 allocation score on bob.demo: 0 +native_color: res_drbd_mysql2:1 allocation score on bob.demo: -INFINITY native_color: res_drbd_nfsexport:0 allocation score on alice.demo: -INFINITY native_color: res_drbd_nfsexport:0 allocation score on bob.demo: -INFINITY native_color: res_drbd_nfsexport:1 allocation score on alice.demo: -INFINITY diff --git a/pengine/test10/bug-lf-2422.scores b/pengine/test10/bug-lf-2422.scores index 14f1c05..738e423 100644 --- a/pengine/test10/bug-lf-2422.scores +++ b/pengine/test10/bug-lf-2422.scores @@ -109,12 +109,12 @@ group_color: clvm:0 allocation score on qa-suse-3: 0 group_color: clvm:0 allocation score on qa-suse-4: 0 group_color: clvm:1 allocation score on qa-suse-1: -INFINITY group_color: clvm:1 allocation score on qa-suse-2: 0 -group_color: clvm:1 allocation score on qa-suse-3: -INFINITY +group_color: clvm:1 allocation score on qa-suse-3: 0 group_color: clvm:1 allocation score on qa-suse-4: 1 group_color: clvm:2 allocation score on qa-suse-1: -INFINITY group_color: clvm:2 allocation score on qa-suse-2: 0 group_color: clvm:2 allocation score on qa-suse-3: 1 -group_color: clvm:2 allocation score on qa-suse-4: 0 +group_color: clvm:2 allocation score on qa-suse-4: -INFINITY group_color: clvm:3 allocation score on qa-suse-1: -INFINITY group_color: clvm:3 allocation score on qa-suse-2: 1 group_color: clvm:3 allocation score on qa-suse-3: -INFINITY @@ -125,12 +125,12 @@ group_color: cmirror:0 allocation score on qa-suse-3: 0 group_color: cmirror:0 allocation score on qa-suse-4: 0 group_color: cmirror:1 allocation score on qa-suse-1: -INFINITY group_color: cmirror:1 allocation score on qa-suse-2: 0 -group_color: cmirror:1 allocation score on qa-suse-3: -INFINITY +group_color: cmirror:1 allocation score on qa-suse-3: 0 group_color: cmirror:1 allocation score on qa-suse-4: 1 group_color: cmirror:2 allocation score on qa-suse-1: -INFINITY group_color: cmirror:2 allocation score on qa-suse-2: 0 group_color: cmirror:2 allocation score on qa-suse-3: 1 -group_color: cmirror:2 allocation score on qa-suse-4: 0 +group_color: cmirror:2 allocation score on qa-suse-4: -INFINITY group_color: cmirror:3 allocation score on qa-suse-1: -INFINITY group_color: cmirror:3 allocation score on qa-suse-2: 1 group_color: cmirror:3 allocation score on qa-suse-3: -INFINITY @@ -141,12 +141,12 @@ group_color: dlm:0 allocation score on qa-suse-3: 0 group_color: dlm:0 allocation score on qa-suse-4: 0 group_color: dlm:1 allocation score on qa-suse-1: -INFINITY group_color: dlm:1 allocation score on qa-suse-2: 0 -group_color: dlm:1 allocation score on qa-suse-3: -INFINITY +group_color: dlm:1 allocation score on qa-suse-3: 0 group_color: dlm:1 allocation score on qa-suse-4: 1 group_color: dlm:2 allocation score on qa-suse-1: -INFINITY group_color: dlm:2 allocation score on qa-suse-2: 0 group_color: dlm:2 allocation score on qa-suse-3: 1 -group_color: dlm:2 allocation score on qa-suse-4: 0 +group_color: dlm:2 allocation score on qa-suse-4: -INFINITY group_color: dlm:3 allocation score on qa-suse-1: -INFINITY group_color: dlm:3 allocation score on qa-suse-2: 1 group_color: dlm:3 allocation score on qa-suse-3: -INFINITY @@ -157,12 +157,12 @@ group_color: o2cb:0 allocation score on qa-suse-3: 0 group_color: o2cb:0 allocation score on qa-suse-4: 0 group_color: o2cb:1 allocation score on qa-suse-1: -INFINITY group_color: o2cb:1 allocation score on qa-suse-2: 0 -group_color: o2cb:1 allocation score on qa-suse-3: -INFINITY +group_color: o2cb:1 allocation score on qa-suse-3: 0 group_color: o2cb:1 allocation score on qa-suse-4: 1 group_color: o2cb:2 allocation score on qa-suse-1: -INFINITY group_color: o2cb:2 allocation score on qa-suse-2: 0 group_color: o2cb:2 allocation score on qa-suse-3: 1 -group_color: o2cb:2 allocation score on qa-suse-4: 0 +group_color: o2cb:2 allocation score on qa-suse-4: -INFINITY group_color: o2cb:3 allocation score on qa-suse-1: -INFINITY group_color: o2cb:3 allocation score on qa-suse-2: 1 group_color: o2cb:3 allocation score on qa-suse-3: -INFINITY @@ -173,12 +173,12 @@ group_color: o2stage:0 allocation score on qa-suse-3: 0 group_color: o2stage:0 allocation score on qa-suse-4: 0 group_color: o2stage:1 allocation score on qa-suse-1: -INFINITY group_color: o2stage:1 allocation score on qa-suse-2: 0 -group_color: o2stage:1 allocation score on qa-suse-3: -INFINITY +group_color: o2stage:1 allocation score on qa-suse-3: 0 group_color: o2stage:1 allocation score on qa-suse-4: 0 group_color: o2stage:2 allocation score on qa-suse-1: -INFINITY group_color: o2stage:2 allocation score on qa-suse-2: 0 group_color: o2stage:2 allocation score on qa-suse-3: 0 -group_color: o2stage:2 allocation score on qa-suse-4: 0 +group_color: o2stage:2 allocation score on qa-suse-4: -INFINITY group_color: o2stage:3 allocation score on qa-suse-1: -INFINITY group_color: o2stage:3 allocation score on qa-suse-2: 0 group_color: o2stage:3 allocation score on qa-suse-3: -INFINITY @@ -221,12 +221,12 @@ native_color: dlm:0 allocation score on qa-suse-3: 0 native_color: dlm:0 allocation score on qa-suse-4: 0 native_color: dlm:1 allocation score on qa-suse-1: -INFINITY native_color: dlm:1 allocation score on qa-suse-2: 0 -native_color: dlm:1 allocation score on qa-suse-3: -INFINITY +native_color: dlm:1 allocation score on qa-suse-3: 0 native_color: dlm:1 allocation score on qa-suse-4: 4 native_color: dlm:2 allocation score on qa-suse-1: -INFINITY native_color: dlm:2 allocation score on qa-suse-2: 0 native_color: dlm:2 allocation score on qa-suse-3: 4 -native_color: dlm:2 allocation score on qa-suse-4: 0 +native_color: dlm:2 allocation score on qa-suse-4: -INFINITY native_color: dlm:3 allocation score on qa-suse-1: -INFINITY native_color: dlm:3 allocation score on qa-suse-2: 4 native_color: dlm:3 allocation score on qa-suse-3: -INFINITY diff --git a/pengine/test10/bug-lf-2453.scores b/pengine/test10/bug-lf-2453.scores index 3b044e7..b2ecd0a 100644 --- a/pengine/test10/bug-lf-2453.scores +++ b/pengine/test10/bug-lf-2453.scores @@ -12,8 +12,8 @@ clone_color: apache:0 allocation score on domu2: INFINITY clone_color: apache:1 allocation score on domu1: INFINITY clone_color: apache:1 allocation score on domu2: INFINITY native_color: DummyResource:0 allocation score on domu1: INFINITY -native_color: DummyResource:0 allocation score on domu2: -INFINITY -native_color: DummyResource:1 allocation score on domu1: INFINITY +native_color: DummyResource:0 allocation score on domu2: INFINITY +native_color: DummyResource:1 allocation score on domu1: -INFINITY native_color: DummyResource:1 allocation score on domu2: INFINITY native_color: PrimitiveResource1 allocation score on domu1: INFINITY native_color: apache:0 allocation score on domu1: -INFINITY diff --git a/pengine/test10/bug-lf-2508.scores b/pengine/test10/bug-lf-2508.scores index e3b3642..3c3ce16 100644 --- a/pengine/test10/bug-lf-2508.scores +++ b/pengine/test10/bug-lf-2508.scores @@ -247,13 +247,13 @@ group_color: grpStonith1:3 allocation score on srv01: -INFINITY group_color: grpStonith1:3 allocation score on srv02: -INFINITY group_color: grpStonith1:3 allocation score on srv03: -INFINITY group_color: grpStonith1:3 allocation score on srv04: -INFINITY -group_color: grpStonith2:0 allocation score on srv01: -INFINITY +group_color: grpStonith2:0 allocation score on srv01: 0 group_color: grpStonith2:0 allocation score on srv02: -INFINITY group_color: grpStonith2:0 allocation score on srv03: 0 group_color: grpStonith2:0 allocation score on srv04: 0 group_color: grpStonith2:1 allocation score on srv01: 0 group_color: grpStonith2:1 allocation score on srv02: -INFINITY -group_color: grpStonith2:1 allocation score on srv03: 0 +group_color: grpStonith2:1 allocation score on srv03: -INFINITY group_color: grpStonith2:1 allocation score on srv04: 0 group_color: grpStonith2:2 allocation score on srv01: -INFINITY group_color: grpStonith2:2 allocation score on srv02: -INFINITY @@ -279,7 +279,7 @@ group_color: grpStonith3:3 allocation score on srv01: -INFINITY group_color: grpStonith3:3 allocation score on srv02: -INFINITY group_color: grpStonith3:3 allocation score on srv03: -INFINITY group_color: grpStonith3:3 allocation score on srv04: -INFINITY -group_color: grpStonith4:0 allocation score on srv01: -INFINITY +group_color: grpStonith4:0 allocation score on srv01: 0 group_color: grpStonith4:0 allocation score on srv02: -INFINITY group_color: grpStonith4:0 allocation score on srv03: 0 group_color: grpStonith4:0 allocation score on srv04: -INFINITY @@ -289,7 +289,7 @@ group_color: grpStonith4:1 allocation score on srv03: -INFINITY group_color: grpStonith4:1 allocation score on srv04: -INFINITY group_color: grpStonith4:2 allocation score on srv01: 0 group_color: grpStonith4:2 allocation score on srv02: -INFINITY -group_color: grpStonith4:2 allocation score on srv03: 0 +group_color: grpStonith4:2 allocation score on srv03: -INFINITY group_color: grpStonith4:2 allocation score on srv04: -INFINITY group_color: grpStonith4:3 allocation score on srv01: -INFINITY group_color: grpStonith4:3 allocation score on srv02: -INFINITY @@ -327,13 +327,13 @@ group_color: prmStonith1-3:3 allocation score on srv01: -INFINITY group_color: prmStonith1-3:3 allocation score on srv02: -INFINITY group_color: prmStonith1-3:3 allocation score on srv03: -INFINITY group_color: prmStonith1-3:3 allocation score on srv04: -INFINITY -group_color: prmStonith2-1:0 allocation score on srv01: -INFINITY +group_color: prmStonith2-1:0 allocation score on srv01: 0 group_color: prmStonith2-1:0 allocation score on srv02: -INFINITY group_color: prmStonith2-1:0 allocation score on srv03: INFINITY group_color: prmStonith2-1:0 allocation score on srv04: 0 group_color: prmStonith2-1:1 allocation score on srv01: INFINITY group_color: prmStonith2-1:1 allocation score on srv02: -INFINITY -group_color: prmStonith2-1:1 allocation score on srv03: 0 +group_color: prmStonith2-1:1 allocation score on srv03: -INFINITY group_color: prmStonith2-1:1 allocation score on srv04: 0 group_color: prmStonith2-1:2 allocation score on srv01: -INFINITY group_color: prmStonith2-1:2 allocation score on srv02: -INFINITY @@ -343,13 +343,13 @@ group_color: prmStonith2-1:3 allocation score on srv01: -INFINITY group_color: prmStonith2-1:3 allocation score on srv02: -INFINITY group_color: prmStonith2-1:3 allocation score on srv03: -INFINITY group_color: prmStonith2-1:3 allocation score on srv04: -INFINITY -group_color: prmStonith2-3:0 allocation score on srv01: -INFINITY +group_color: prmStonith2-3:0 allocation score on srv01: 0 group_color: prmStonith2-3:0 allocation score on srv02: -INFINITY group_color: prmStonith2-3:0 allocation score on srv03: INFINITY group_color: prmStonith2-3:0 allocation score on srv04: 0 group_color: prmStonith2-3:1 allocation score on srv01: INFINITY group_color: prmStonith2-3:1 allocation score on srv02: -INFINITY -group_color: prmStonith2-3:1 allocation score on srv03: 0 +group_color: prmStonith2-3:1 allocation score on srv03: -INFINITY group_color: prmStonith2-3:1 allocation score on srv04: 0 group_color: prmStonith2-3:2 allocation score on srv01: -INFINITY group_color: prmStonith2-3:2 allocation score on srv02: -INFINITY @@ -391,7 +391,7 @@ group_color: prmStonith3-3:3 allocation score on srv01: -INFINITY group_color: prmStonith3-3:3 allocation score on srv02: -INFINITY group_color: prmStonith3-3:3 allocation score on srv03: -INFINITY group_color: prmStonith3-3:3 allocation score on srv04: -INFINITY -group_color: prmStonith4-1:0 allocation score on srv01: -INFINITY +group_color: prmStonith4-1:0 allocation score on srv01: 0 group_color: prmStonith4-1:0 allocation score on srv02: -INFINITY group_color: prmStonith4-1:0 allocation score on srv03: INFINITY group_color: prmStonith4-1:0 allocation score on srv04: -INFINITY @@ -401,13 +401,13 @@ group_color: prmStonith4-1:1 allocation score on srv03: -INFINITY group_color: prmStonith4-1:1 allocation score on srv04: -INFINITY group_color: prmStonith4-1:2 allocation score on srv01: INFINITY group_color: prmStonith4-1:2 allocation score on srv02: -INFINITY -group_color: prmStonith4-1:2 allocation score on srv03: 0 +group_color: prmStonith4-1:2 allocation score on srv03: -INFINITY group_color: prmStonith4-1:2 allocation score on srv04: -INFINITY group_color: prmStonith4-1:3 allocation score on srv01: -INFINITY group_color: prmStonith4-1:3 allocation score on srv02: -INFINITY group_color: prmStonith4-1:3 allocation score on srv03: -INFINITY group_color: prmStonith4-1:3 allocation score on srv04: -INFINITY -group_color: prmStonith4-3:0 allocation score on srv01: -INFINITY +group_color: prmStonith4-3:0 allocation score on srv01: 0 group_color: prmStonith4-3:0 allocation score on srv02: -INFINITY group_color: prmStonith4-3:0 allocation score on srv03: INFINITY group_color: prmStonith4-3:0 allocation score on srv04: -INFINITY @@ -417,7 +417,7 @@ group_color: prmStonith4-3:1 allocation score on srv03: -INFINITY group_color: prmStonith4-3:1 allocation score on srv04: -INFINITY group_color: prmStonith4-3:2 allocation score on srv01: INFINITY group_color: prmStonith4-3:2 allocation score on srv02: -INFINITY -group_color: prmStonith4-3:2 allocation score on srv03: 0 +group_color: prmStonith4-3:2 allocation score on srv03: -INFINITY group_color: prmStonith4-3:2 allocation score on srv04: -INFINITY group_color: prmStonith4-3:3 allocation score on srv01: -INFINITY group_color: prmStonith4-3:3 allocation score on srv02: -INFINITY @@ -467,13 +467,13 @@ native_color: prmStonith1-3:3 allocation score on srv01: -INFINITY native_color: prmStonith1-3:3 allocation score on srv02: -INFINITY native_color: prmStonith1-3:3 allocation score on srv03: -INFINITY native_color: prmStonith1-3:3 allocation score on srv04: -INFINITY -native_color: prmStonith2-1:0 allocation score on srv01: -INFINITY +native_color: prmStonith2-1:0 allocation score on srv01: 0 native_color: prmStonith2-1:0 allocation score on srv02: -INFINITY native_color: prmStonith2-1:0 allocation score on srv03: INFINITY native_color: prmStonith2-1:0 allocation score on srv04: 0 native_color: prmStonith2-1:1 allocation score on srv01: INFINITY native_color: prmStonith2-1:1 allocation score on srv02: -INFINITY -native_color: prmStonith2-1:1 allocation score on srv03: 0 +native_color: prmStonith2-1:1 allocation score on srv03: -INFINITY native_color: prmStonith2-1:1 allocation score on srv04: 0 native_color: prmStonith2-1:2 allocation score on srv01: -INFINITY native_color: prmStonith2-1:2 allocation score on srv02: -INFINITY @@ -531,7 +531,7 @@ native_color: prmStonith3-3:3 allocation score on srv01: -INFINITY native_color: prmStonith3-3:3 allocation score on srv02: -INFINITY native_color: prmStonith3-3:3 allocation score on srv03: -INFINITY native_color: prmStonith3-3:3 allocation score on srv04: -INFINITY -native_color: prmStonith4-1:0 allocation score on srv01: -INFINITY +native_color: prmStonith4-1:0 allocation score on srv01: 0 native_color: prmStonith4-1:0 allocation score on srv02: -INFINITY native_color: prmStonith4-1:0 allocation score on srv03: INFINITY native_color: prmStonith4-1:0 allocation score on srv04: -INFINITY @@ -541,7 +541,7 @@ native_color: prmStonith4-1:1 allocation score on srv03: -INFINITY native_color: prmStonith4-1:1 allocation score on srv04: -INFINITY native_color: prmStonith4-1:2 allocation score on srv01: INFINITY native_color: prmStonith4-1:2 allocation score on srv02: -INFINITY -native_color: prmStonith4-1:2 allocation score on srv03: 0 +native_color: prmStonith4-1:2 allocation score on srv03: -INFINITY native_color: prmStonith4-1:2 allocation score on srv04: -INFINITY native_color: prmStonith4-1:3 allocation score on srv01: -INFINITY native_color: prmStonith4-1:3 allocation score on srv02: -INFINITY diff --git a/pengine/test10/bug-pm-11.scores b/pengine/test10/bug-pm-11.scores index 4a150b0..7809a55 100644 --- a/pengine/test10/bug-pm-11.scores +++ b/pengine/test10/bug-pm-11.scores @@ -15,22 +15,22 @@ clone_color: stateful-2:1 allocation score on node-a: 0 clone_color: stateful-2:1 allocation score on node-b: 0 group:0 promotion score on node-b: 49 group:1 promotion score on node-a: 99 -group_color: group:0 allocation score on node-a: -INFINITY +group_color: group:0 allocation score on node-a: 0 group_color: group:0 allocation score on node-b: 0 group_color: group:1 allocation score on node-a: 0 -group_color: group:1 allocation score on node-b: 0 -group_color: stateful-1:0 allocation score on node-a: -INFINITY +group_color: group:1 allocation score on node-b: -INFINITY +group_color: stateful-1:0 allocation score on node-a: 0 group_color: stateful-1:0 allocation score on node-b: 1 group_color: stateful-1:1 allocation score on node-a: 1 -group_color: stateful-1:1 allocation score on node-b: 0 -group_color: stateful-2:0 allocation score on node-a: -INFINITY +group_color: stateful-1:1 allocation score on node-b: -INFINITY +group_color: stateful-2:0 allocation score on node-a: 0 group_color: stateful-2:0 allocation score on node-b: 0 group_color: stateful-2:1 allocation score on node-a: 0 -group_color: stateful-2:1 allocation score on node-b: 0 -native_color: stateful-1:0 allocation score on node-a: -INFINITY +group_color: stateful-2:1 allocation score on node-b: -INFINITY +native_color: stateful-1:0 allocation score on node-a: 0 native_color: stateful-1:0 allocation score on node-b: 1 native_color: stateful-1:1 allocation score on node-a: 1 -native_color: stateful-1:1 allocation score on node-b: 0 +native_color: stateful-1:1 allocation score on node-b: -INFINITY native_color: stateful-2:0 allocation score on node-a: -INFINITY native_color: stateful-2:0 allocation score on node-b: 0 native_color: stateful-2:1 allocation score on node-a: 0 diff --git a/pengine/test10/bug-pm-12.scores b/pengine/test10/bug-pm-12.scores index 0713859..db773a4 100644 --- a/pengine/test10/bug-pm-12.scores +++ b/pengine/test10/bug-pm-12.scores @@ -15,22 +15,22 @@ clone_color: stateful-2:1 allocation score on node-a: 1 clone_color: stateful-2:1 allocation score on node-b: 0 group:0 promotion score on node-b: 49 group:1 promotion score on node-a: 99 -group_color: group:0 allocation score on node-a: -INFINITY +group_color: group:0 allocation score on node-a: 0 group_color: group:0 allocation score on node-b: 0 group_color: group:1 allocation score on node-a: 0 -group_color: group:1 allocation score on node-b: 0 -group_color: stateful-1:0 allocation score on node-a: -INFINITY +group_color: group:1 allocation score on node-b: -INFINITY +group_color: stateful-1:0 allocation score on node-a: 0 group_color: stateful-1:0 allocation score on node-b: 1 group_color: stateful-1:1 allocation score on node-a: 1 -group_color: stateful-1:1 allocation score on node-b: 0 -group_color: stateful-2:0 allocation score on node-a: -INFINITY +group_color: stateful-1:1 allocation score on node-b: -INFINITY +group_color: stateful-2:0 allocation score on node-a: 0 group_color: stateful-2:0 allocation score on node-b: 1 group_color: stateful-2:1 allocation score on node-a: 1 -group_color: stateful-2:1 allocation score on node-b: 0 -native_color: stateful-1:0 allocation score on node-a: -INFINITY +group_color: stateful-2:1 allocation score on node-b: -INFINITY +native_color: stateful-1:0 allocation score on node-a: 0 native_color: stateful-1:0 allocation score on node-b: 2 native_color: stateful-1:1 allocation score on node-a: 2 -native_color: stateful-1:1 allocation score on node-b: 0 +native_color: stateful-1:1 allocation score on node-b: -INFINITY native_color: stateful-2:0 allocation score on node-a: -INFINITY native_color: stateful-2:0 allocation score on node-b: 1 native_color: stateful-2:1 allocation score on node-a: 1 diff --git a/pengine/test10/bug-rh-1097457.scores b/pengine/test10/bug-rh-1097457.scores index c93b195..7729421 100644 --- a/pengine/test10/bug-rh-1097457.scores +++ b/pengine/test10/bug-rh-1097457.scores @@ -137,18 +137,18 @@ native_color: FAKE6-IP allocation score on lamaVM3: -INFINITY native_color: FAKE6:0 allocation score on lama2: -INFINITY native_color: FAKE6:0 allocation score on lama3: -INFINITY native_color: FAKE6:0 allocation score on lamaVM1: 0 -native_color: FAKE6:0 allocation score on lamaVM2: -INFINITY +native_color: FAKE6:0 allocation score on lamaVM2: 0 native_color: FAKE6:0 allocation score on lamaVM3: 1 native_color: FAKE6:1 allocation score on lama2: -INFINITY native_color: FAKE6:1 allocation score on lama3: -INFINITY native_color: FAKE6:1 allocation score on lamaVM1: 1 -native_color: FAKE6:1 allocation score on lamaVM2: -INFINITY +native_color: FAKE6:1 allocation score on lamaVM2: 0 native_color: FAKE6:1 allocation score on lamaVM3: -INFINITY native_color: FAKE6:2 allocation score on lama2: -INFINITY native_color: FAKE6:2 allocation score on lama3: -INFINITY -native_color: FAKE6:2 allocation score on lamaVM1: 0 +native_color: FAKE6:2 allocation score on lamaVM1: -INFINITY native_color: FAKE6:2 allocation score on lamaVM2: 1 -native_color: FAKE6:2 allocation score on lamaVM3: 0 +native_color: FAKE6:2 allocation score on lamaVM3: -INFINITY native_color: FSlun1 allocation score on lama2: 0 native_color: FSlun1 allocation score on lama3: 0 native_color: FSlun1 allocation score on lamaVM1: INFINITY diff --git a/pengine/test10/clone-interleave-2.scores b/pengine/test10/clone-interleave-2.scores index aba18b3..1eb341c 100644 --- a/pengine/test10/clone-interleave-2.scores +++ b/pengine/test10/clone-interleave-2.scores @@ -36,12 +36,12 @@ clone_color: clone-3 allocation score on pcmk-1: 0 clone_color: clone-3 allocation score on pcmk-2: 0 clone_color: clone-3 allocation score on pcmk-3: 0 native_color: child-1:0 allocation score on pcmk-1: 1 -native_color: child-1:0 allocation score on pcmk-2: -INFINITY -native_color: child-1:0 allocation score on pcmk-3: -INFINITY -native_color: child-1:1 allocation score on pcmk-1: 0 +native_color: child-1:0 allocation score on pcmk-2: 0 +native_color: child-1:0 allocation score on pcmk-3: 0 +native_color: child-1:1 allocation score on pcmk-1: -INFINITY native_color: child-1:1 allocation score on pcmk-2: 1 native_color: child-1:1 allocation score on pcmk-3: 0 -native_color: child-1:2 allocation score on pcmk-1: 0 +native_color: child-1:2 allocation score on pcmk-1: -INFINITY native_color: child-1:2 allocation score on pcmk-2: -INFINITY native_color: child-1:2 allocation score on pcmk-3: 1 native_color: child-2:0 allocation score on pcmk-1: -INFINITY diff --git a/pengine/test10/clone-interleave-3.scores b/pengine/test10/clone-interleave-3.scores index 951cfdd..689a176 100644 --- a/pengine/test10/clone-interleave-3.scores +++ b/pengine/test10/clone-interleave-3.scores @@ -36,12 +36,12 @@ clone_color: clone-3 allocation score on pcmk-1: 0 clone_color: clone-3 allocation score on pcmk-2: 0 clone_color: clone-3 allocation score on pcmk-3: 0 native_color: child-1:0 allocation score on pcmk-1: 1 -native_color: child-1:0 allocation score on pcmk-2: -INFINITY -native_color: child-1:0 allocation score on pcmk-3: -INFINITY -native_color: child-1:1 allocation score on pcmk-1: 0 +native_color: child-1:0 allocation score on pcmk-2: 0 +native_color: child-1:0 allocation score on pcmk-3: 0 +native_color: child-1:1 allocation score on pcmk-1: -INFINITY native_color: child-1:1 allocation score on pcmk-2: 1 native_color: child-1:1 allocation score on pcmk-3: 0 -native_color: child-1:2 allocation score on pcmk-1: 0 +native_color: child-1:2 allocation score on pcmk-1: -INFINITY native_color: child-1:2 allocation score on pcmk-2: -INFINITY native_color: child-1:2 allocation score on pcmk-3: 1 native_color: child-2:0 allocation score on pcmk-1: 1 @@ -54,12 +54,12 @@ native_color: child-2:2 allocation score on pcmk-1: 0 native_color: child-2:2 allocation score on pcmk-2: -INFINITY native_color: child-2:2 allocation score on pcmk-3: 1 native_color: child-3:0 allocation score on pcmk-1: 1 -native_color: child-3:0 allocation score on pcmk-2: -INFINITY -native_color: child-3:0 allocation score on pcmk-3: -INFINITY -native_color: child-3:1 allocation score on pcmk-1: 0 +native_color: child-3:0 allocation score on pcmk-2: 0 +native_color: child-3:0 allocation score on pcmk-3: 0 +native_color: child-3:1 allocation score on pcmk-1: -INFINITY native_color: child-3:1 allocation score on pcmk-2: 1 native_color: child-3:1 allocation score on pcmk-3: 0 -native_color: child-3:2 allocation score on pcmk-1: 0 +native_color: child-3:2 allocation score on pcmk-1: -INFINITY native_color: child-3:2 allocation score on pcmk-2: -INFINITY native_color: child-3:2 allocation score on pcmk-3: 1 native_color: dummy allocation score on pcmk-1: 0 diff --git a/pengine/test10/clone-order-16instances.scores b/pengine/test10/clone-order-16instances.scores index f5dadd7..410bcf7 100644 --- a/pengine/test10/clone-order-16instances.scores +++ b/pengine/test10/clone-order-16instances.scores @@ -801,7 +801,7 @@ native_color: clvmd:9 allocation score on virt-033.cluster-qe.lab.eng.brq.redhat native_color: clvmd:9 allocation score on virt-034.cluster-qe.lab.eng.brq.redhat.com: -INFINITY native_color: dlm:0 allocation score on virt-009.cluster-qe.lab.eng.brq.redhat.com: 0 native_color: dlm:0 allocation score on virt-010.cluster-qe.lab.eng.brq.redhat.com: 1 -native_color: dlm:0 allocation score on virt-012.cluster-qe.lab.eng.brq.redhat.com: -INFINITY +native_color: dlm:0 allocation score on virt-012.cluster-qe.lab.eng.brq.redhat.com: 0 native_color: dlm:0 allocation score on virt-013.cluster-qe.lab.eng.brq.redhat.com: 0 native_color: dlm:0 allocation score on virt-014.cluster-qe.lab.eng.brq.redhat.com: 0 native_color: dlm:0 allocation score on virt-015.cluster-qe.lab.eng.brq.redhat.com: 0 @@ -816,7 +816,7 @@ native_color: dlm:0 allocation score on virt-032.cluster-qe.lab.eng.brq.redhat.c native_color: dlm:0 allocation score on virt-033.cluster-qe.lab.eng.brq.redhat.com: 0 native_color: dlm:0 allocation score on virt-034.cluster-qe.lab.eng.brq.redhat.com: 0 native_color: dlm:1 allocation score on virt-009.cluster-qe.lab.eng.brq.redhat.com: 0 -native_color: dlm:1 allocation score on virt-010.cluster-qe.lab.eng.brq.redhat.com: 0 +native_color: dlm:1 allocation score on virt-010.cluster-qe.lab.eng.brq.redhat.com: -INFINITY native_color: dlm:1 allocation score on virt-012.cluster-qe.lab.eng.brq.redhat.com: 1 native_color: dlm:1 allocation score on virt-013.cluster-qe.lab.eng.brq.redhat.com: 0 native_color: dlm:1 allocation score on virt-014.cluster-qe.lab.eng.brq.redhat.com: 0 diff --git a/pengine/test10/clone-require-all-1.scores b/pengine/test10/clone-require-all-1.scores index fe3ce21..9601a10 100644 --- a/pengine/test10/clone-require-all-1.scores +++ b/pengine/test10/clone-require-all-1.scores @@ -40,10 +40,10 @@ clone_color: B:3 allocation score on rhel7-auto2: -INFINITY clone_color: B:3 allocation score on rhel7-auto3: 0 clone_color: B:3 allocation score on rhel7-auto4: 0 native_color: A:0 allocation score on rhel7-auto1: 1 -native_color: A:0 allocation score on rhel7-auto2: -INFINITY +native_color: A:0 allocation score on rhel7-auto2: 0 native_color: A:0 allocation score on rhel7-auto3: -INFINITY native_color: A:0 allocation score on rhel7-auto4: -INFINITY -native_color: A:1 allocation score on rhel7-auto1: 0 +native_color: A:1 allocation score on rhel7-auto1: -INFINITY native_color: A:1 allocation score on rhel7-auto2: 1 native_color: A:1 allocation score on rhel7-auto3: -INFINITY native_color: A:1 allocation score on rhel7-auto4: -INFINITY diff --git a/pengine/test10/clone-require-all-3.scores b/pengine/test10/clone-require-all-3.scores index 814a972..f1e739a 100644 --- a/pengine/test10/clone-require-all-3.scores +++ b/pengine/test10/clone-require-all-3.scores @@ -58,10 +58,10 @@ native_color: A:3 allocation score on rhel7-auto4: -INFINITY native_color: B:0 allocation score on rhel7-auto1: -INFINITY native_color: B:0 allocation score on rhel7-auto2: -INFINITY native_color: B:0 allocation score on rhel7-auto3: 1 -native_color: B:0 allocation score on rhel7-auto4: -INFINITY +native_color: B:0 allocation score on rhel7-auto4: 0 native_color: B:1 allocation score on rhel7-auto1: -INFINITY native_color: B:1 allocation score on rhel7-auto2: -INFINITY -native_color: B:1 allocation score on rhel7-auto3: 0 +native_color: B:1 allocation score on rhel7-auto3: -INFINITY native_color: B:1 allocation score on rhel7-auto4: 1 native_color: B:2 allocation score on rhel7-auto1: -INFINITY native_color: B:2 allocation score on rhel7-auto2: -INFINITY diff --git a/pengine/test10/clone-require-all-5.scores b/pengine/test10/clone-require-all-5.scores index cca6739..1123d60 100644 --- a/pengine/test10/clone-require-all-5.scores +++ b/pengine/test10/clone-require-all-5.scores @@ -40,10 +40,10 @@ clone_color: B:3 allocation score on rhel7-auto2: -INFINITY clone_color: B:3 allocation score on rhel7-auto3: 0 clone_color: B:3 allocation score on rhel7-auto4: 0 native_color: A:0 allocation score on rhel7-auto1: 1 -native_color: A:0 allocation score on rhel7-auto2: -INFINITY +native_color: A:0 allocation score on rhel7-auto2: 0 native_color: A:0 allocation score on rhel7-auto3: 0 native_color: A:0 allocation score on rhel7-auto4: -INFINITY -native_color: A:1 allocation score on rhel7-auto1: 0 +native_color: A:1 allocation score on rhel7-auto1: -INFINITY native_color: A:1 allocation score on rhel7-auto2: 1 native_color: A:1 allocation score on rhel7-auto3: 0 native_color: A:1 allocation score on rhel7-auto4: -INFINITY diff --git a/pengine/test10/clone-require-all-6.scores b/pengine/test10/clone-require-all-6.scores index 4e8ee5a..f293573 100644 --- a/pengine/test10/clone-require-all-6.scores +++ b/pengine/test10/clone-require-all-6.scores @@ -57,13 +57,13 @@ native_color: A:3 allocation score on rhel7-auto3: -INFINITY native_color: A:3 allocation score on rhel7-auto4: -INFINITY native_color: B:0 allocation score on rhel7-auto1: 1 native_color: B:0 allocation score on rhel7-auto2: -INFINITY -native_color: B:0 allocation score on rhel7-auto3: -INFINITY -native_color: B:0 allocation score on rhel7-auto4: -INFINITY -native_color: B:1 allocation score on rhel7-auto1: 0 +native_color: B:0 allocation score on rhel7-auto3: 0 +native_color: B:0 allocation score on rhel7-auto4: 0 +native_color: B:1 allocation score on rhel7-auto1: -INFINITY native_color: B:1 allocation score on rhel7-auto2: -INFINITY native_color: B:1 allocation score on rhel7-auto3: 1 native_color: B:1 allocation score on rhel7-auto4: 0 -native_color: B:2 allocation score on rhel7-auto1: 0 +native_color: B:2 allocation score on rhel7-auto1: -INFINITY native_color: B:2 allocation score on rhel7-auto2: -INFINITY native_color: B:2 allocation score on rhel7-auto3: -INFINITY native_color: B:2 allocation score on rhel7-auto4: 1 diff --git a/pengine/test10/clone-require-all-no-interleave-3.scores b/pengine/test10/clone-require-all-no-interleave-3.scores index 70dd2d1..76e8db6 100644 --- a/pengine/test10/clone-require-all-no-interleave-3.scores +++ b/pengine/test10/clone-require-all-no-interleave-3.scores @@ -96,10 +96,10 @@ native_color: C:0 allocation score on rhel7-auto2: -INFINITY native_color: C:0 allocation score on rhel7-auto3: 0 native_color: C:0 allocation score on rhel7-auto4: -INFINITY native_color: C:1 allocation score on rhel7-auto1: 1 -native_color: C:1 allocation score on rhel7-auto2: -INFINITY +native_color: C:1 allocation score on rhel7-auto2: 0 native_color: C:1 allocation score on rhel7-auto3: 0 native_color: C:1 allocation score on rhel7-auto4: -INFINITY -native_color: C:2 allocation score on rhel7-auto1: 0 +native_color: C:2 allocation score on rhel7-auto1: -INFINITY native_color: C:2 allocation score on rhel7-auto2: 1 native_color: C:2 allocation score on rhel7-auto3: 0 native_color: C:2 allocation score on rhel7-auto4: -INFINITY diff --git a/pengine/test10/clone_min_interleave_stop_one.scores b/pengine/test10/clone_min_interleave_stop_one.scores index 1a98230..014bbad 100644 --- a/pengine/test10/clone_min_interleave_stop_one.scores +++ b/pengine/test10/clone_min_interleave_stop_one.scores @@ -39,27 +39,27 @@ native_color: FAKE1:0 allocation score on c7auto1: -INFINITY native_color: FAKE1:0 allocation score on c7auto2: -INFINITY native_color: FAKE1:0 allocation score on c7auto3: -INFINITY native_color: FAKE1:1 allocation score on c7auto1: 1 -native_color: FAKE1:1 allocation score on c7auto2: -INFINITY +native_color: FAKE1:1 allocation score on c7auto2: 0 native_color: FAKE1:1 allocation score on c7auto3: -INFINITY -native_color: FAKE1:2 allocation score on c7auto1: 0 +native_color: FAKE1:2 allocation score on c7auto1: -INFINITY native_color: FAKE1:2 allocation score on c7auto2: 1 native_color: FAKE1:2 allocation score on c7auto3: -INFINITY native_color: FAKE2:0 allocation score on c7auto1: 0 native_color: FAKE2:0 allocation score on c7auto2: 0 native_color: FAKE2:0 allocation score on c7auto3: 1 native_color: FAKE2:1 allocation score on c7auto1: 1 -native_color: FAKE2:1 allocation score on c7auto2: -INFINITY +native_color: FAKE2:1 allocation score on c7auto2: 0 native_color: FAKE2:1 allocation score on c7auto3: -INFINITY -native_color: FAKE2:2 allocation score on c7auto1: 0 +native_color: FAKE2:2 allocation score on c7auto1: -INFINITY native_color: FAKE2:2 allocation score on c7auto2: 1 native_color: FAKE2:2 allocation score on c7auto3: -INFINITY native_color: FAKE3:0 allocation score on c7auto1: 0 native_color: FAKE3:0 allocation score on c7auto2: 0 native_color: FAKE3:0 allocation score on c7auto3: 1 native_color: FAKE3:1 allocation score on c7auto1: 1 -native_color: FAKE3:1 allocation score on c7auto2: -INFINITY +native_color: FAKE3:1 allocation score on c7auto2: 0 native_color: FAKE3:1 allocation score on c7auto3: -INFINITY -native_color: FAKE3:2 allocation score on c7auto1: 0 +native_color: FAKE3:2 allocation score on c7auto1: -INFINITY native_color: FAKE3:2 allocation score on c7auto2: 1 native_color: FAKE3:2 allocation score on c7auto3: -INFINITY native_color: shooter allocation score on c7auto1: 0 diff --git a/pengine/test10/clone_min_interleave_stop_two.scores b/pengine/test10/clone_min_interleave_stop_two.scores index ee7df92..f00467c 100644 --- a/pengine/test10/clone_min_interleave_stop_two.scores +++ b/pengine/test10/clone_min_interleave_stop_two.scores @@ -45,23 +45,23 @@ native_color: FAKE1:2 allocation score on c7auto1: -INFINITY native_color: FAKE1:2 allocation score on c7auto2: -INFINITY native_color: FAKE1:2 allocation score on c7auto3: -INFINITY native_color: FAKE2:0 allocation score on c7auto1: 0 -native_color: FAKE2:0 allocation score on c7auto2: -INFINITY +native_color: FAKE2:0 allocation score on c7auto2: 0 native_color: FAKE2:0 allocation score on c7auto3: 1 native_color: FAKE2:1 allocation score on c7auto1: 1 -native_color: FAKE2:1 allocation score on c7auto2: -INFINITY +native_color: FAKE2:1 allocation score on c7auto2: 0 native_color: FAKE2:1 allocation score on c7auto3: -INFINITY -native_color: FAKE2:2 allocation score on c7auto1: 0 +native_color: FAKE2:2 allocation score on c7auto1: -INFINITY native_color: FAKE2:2 allocation score on c7auto2: 1 -native_color: FAKE2:2 allocation score on c7auto3: 0 +native_color: FAKE2:2 allocation score on c7auto3: -INFINITY native_color: FAKE3:0 allocation score on c7auto1: 0 -native_color: FAKE3:0 allocation score on c7auto2: -INFINITY +native_color: FAKE3:0 allocation score on c7auto2: 0 native_color: FAKE3:0 allocation score on c7auto3: 1 native_color: FAKE3:1 allocation score on c7auto1: 1 -native_color: FAKE3:1 allocation score on c7auto2: -INFINITY +native_color: FAKE3:1 allocation score on c7auto2: 0 native_color: FAKE3:1 allocation score on c7auto3: -INFINITY -native_color: FAKE3:2 allocation score on c7auto1: 0 +native_color: FAKE3:2 allocation score on c7auto1: -INFINITY native_color: FAKE3:2 allocation score on c7auto2: 1 -native_color: FAKE3:2 allocation score on c7auto3: 0 +native_color: FAKE3:2 allocation score on c7auto3: -INFINITY native_color: shooter allocation score on c7auto1: 0 native_color: shooter allocation score on c7auto2: 0 native_color: shooter allocation score on c7auto3: 0 diff --git a/pengine/test10/clone_min_stop_one.scores b/pengine/test10/clone_min_stop_one.scores index 1f28932..3621ed8 100644 --- a/pengine/test10/clone_min_stop_one.scores +++ b/pengine/test10/clone_min_stop_one.scores @@ -25,13 +25,13 @@ native_color: FAKE allocation score on c7auto3: -INFINITY native_color: FAKE allocation score on c7auto4: 0 native_color: FAKECLONE:0 allocation score on c7auto1: 1 native_color: FAKECLONE:0 allocation score on c7auto2: -INFINITY -native_color: FAKECLONE:0 allocation score on c7auto3: -INFINITY +native_color: FAKECLONE:0 allocation score on c7auto3: 0 native_color: FAKECLONE:0 allocation score on c7auto4: -INFINITY native_color: FAKECLONE:1 allocation score on c7auto1: -INFINITY native_color: FAKECLONE:1 allocation score on c7auto2: -INFINITY native_color: FAKECLONE:1 allocation score on c7auto3: -INFINITY native_color: FAKECLONE:1 allocation score on c7auto4: -INFINITY -native_color: FAKECLONE:2 allocation score on c7auto1: 0 +native_color: FAKECLONE:2 allocation score on c7auto1: -INFINITY native_color: FAKECLONE:2 allocation score on c7auto2: -INFINITY native_color: FAKECLONE:2 allocation score on c7auto3: 1 native_color: FAKECLONE:2 allocation score on c7auto4: -INFINITY diff --git a/pengine/test10/cloned_stop_one.scores b/pengine/test10/cloned_stop_one.scores index 6d66638..35db5ca 100644 --- a/pengine/test10/cloned_stop_one.scores +++ b/pengine/test10/cloned_stop_one.scores @@ -56,10 +56,10 @@ native_color: FAKECLONE2:3 allocation score on c7auto2: -INFINITY native_color: FAKECLONE2:3 allocation score on c7auto3: -INFINITY native_color: FAKECLONE2:3 allocation score on c7auto4: -INFINITY native_color: FAKECLONE:0 allocation score on c7auto1: 1 -native_color: FAKECLONE:0 allocation score on c7auto2: -INFINITY +native_color: FAKECLONE:0 allocation score on c7auto2: 0 native_color: FAKECLONE:0 allocation score on c7auto3: -INFINITY native_color: FAKECLONE:0 allocation score on c7auto4: -INFINITY -native_color: FAKECLONE:1 allocation score on c7auto1: 0 +native_color: FAKECLONE:1 allocation score on c7auto1: -INFINITY native_color: FAKECLONE:1 allocation score on c7auto2: 1 native_color: FAKECLONE:1 allocation score on c7auto3: -INFINITY native_color: FAKECLONE:1 allocation score on c7auto4: -INFINITY diff --git a/pengine/test10/colo_slave_w_native.scores b/pengine/test10/colo_slave_w_native.scores index e91cb9a..1cb0071 100644 --- a/pengine/test10/colo_slave_w_native.scores +++ b/pengine/test10/colo_slave_w_native.scores @@ -9,7 +9,7 @@ clone_color: MS_RSC_NATIVE:1 allocation score on node1: 6 clone_color: MS_RSC_NATIVE:1 allocation score on node2: 0 native_color: A allocation score on node1: 0 native_color: A allocation score on node2: 5000 -native_color: MS_RSC_NATIVE:0 allocation score on node1: -INFINITY +native_color: MS_RSC_NATIVE:0 allocation score on node1: 0 native_color: MS_RSC_NATIVE:0 allocation score on node2: 11 native_color: MS_RSC_NATIVE:1 allocation score on node1: 6 -native_color: MS_RSC_NATIVE:1 allocation score on node2: 0 +native_color: MS_RSC_NATIVE:1 allocation score on node2: -INFINITY diff --git a/pengine/test10/coloc-clone-stays-active.scores b/pengine/test10/coloc-clone-stays-active.scores index adda9a0..8eb0ae7 100644 --- a/pengine/test10/coloc-clone-stays-active.scores +++ b/pengine/test10/coloc-clone-stays-active.scores @@ -231,10 +231,10 @@ group_color: iscsi-pool-0-target-all allocation score on s01-0: 1000 group_color: iscsi-pool-0-target-all allocation score on s01-1: 0 group_color: iscsi-pool-0-vips allocation score on s01-0: 0 group_color: iscsi-pool-0-vips allocation score on s01-1: 0 -group_color: iscsi-pool-0-vips-fw:0 allocation score on s01-0: -INFINITY +group_color: iscsi-pool-0-vips-fw:0 allocation score on s01-0: 0 group_color: iscsi-pool-0-vips-fw:0 allocation score on s01-1: 2000 group_color: iscsi-pool-0-vips-fw:1 allocation score on s01-0: 2000 -group_color: iscsi-pool-0-vips-fw:1 allocation score on s01-1: 0 +group_color: iscsi-pool-0-vips-fw:1 allocation score on s01-1: -INFINITY group_color: iscsi-pool-1-lun-1 allocation score on s01-0: 0 group_color: iscsi-pool-1-lun-1 allocation score on s01-1: 0 group_color: iscsi-pool-1-target allocation score on s01-0: 0 @@ -243,10 +243,10 @@ group_color: iscsi-pool-1-target-all allocation score on s01-0: 0 group_color: iscsi-pool-1-target-all allocation score on s01-1: 1000 group_color: iscsi-pool-1-vips allocation score on s01-0: 0 group_color: iscsi-pool-1-vips allocation score on s01-1: 0 -group_color: iscsi-pool-1-vips-fw:0 allocation score on s01-0: -INFINITY +group_color: iscsi-pool-1-vips-fw:0 allocation score on s01-0: 0 group_color: iscsi-pool-1-vips-fw:0 allocation score on s01-1: 2000 group_color: iscsi-pool-1-vips-fw:1 allocation score on s01-0: 2000 -group_color: iscsi-pool-1-vips-fw:1 allocation score on s01-1: 0 +group_color: iscsi-pool-1-vips-fw:1 allocation score on s01-1: -INFINITY group_color: iscsi-vds-dom0-stateless-0-lun-1 allocation score on s01-0: 0 group_color: iscsi-vds-dom0-stateless-0-lun-1 allocation score on s01-1: 0 group_color: iscsi-vds-dom0-stateless-0-target allocation score on s01-0: 0 @@ -255,20 +255,20 @@ group_color: iscsi-vds-dom0-stateless-0-target-all allocation score on s01-0: 0 group_color: iscsi-vds-dom0-stateless-0-target-all allocation score on s01-1: 0 group_color: iscsi-vds-dom0-stateless-0-vips allocation score on s01-0: 0 group_color: iscsi-vds-dom0-stateless-0-vips allocation score on s01-1: 0 -group_color: iscsi-vds-dom0-stateless-0-vips-fw:0 allocation score on s01-0: -INFINITY +group_color: iscsi-vds-dom0-stateless-0-vips-fw:0 allocation score on s01-0: 0 group_color: iscsi-vds-dom0-stateless-0-vips-fw:0 allocation score on s01-1: 2000 group_color: iscsi-vds-dom0-stateless-0-vips-fw:1 allocation score on s01-0: 2000 -group_color: iscsi-vds-dom0-stateless-0-vips-fw:1 allocation score on s01-1: 0 +group_color: iscsi-vds-dom0-stateless-0-vips-fw:1 allocation score on s01-1: -INFINITY group_color: nginx allocation score on s01-0: 0 group_color: nginx allocation score on s01-1: 0 -group_color: ospf-routing:0 allocation score on s01-0: -INFINITY +group_color: ospf-routing:0 allocation score on s01-0: 0 group_color: ospf-routing:0 allocation score on s01-1: 0 group_color: ospf-routing:1 allocation score on s01-0: 0 -group_color: ospf-routing:1 allocation score on s01-1: 0 -group_color: ospfd:0 allocation score on s01-0: -INFINITY +group_color: ospf-routing:1 allocation score on s01-1: -INFINITY +group_color: ospfd:0 allocation score on s01-0: 0 group_color: ospfd:0 allocation score on s01-1: 1 group_color: ospfd:1 allocation score on s01-0: 1 -group_color: ospfd:1 allocation score on s01-1: 0 +group_color: ospfd:1 allocation score on s01-1: -INFINITY group_color: syslog-ng allocation score on s01-0: 0 group_color: syslog-ng allocation score on s01-1: 0 group_color: syslog-server allocation score on s01-0: 0 @@ -279,16 +279,16 @@ group_color: tftpd allocation score on s01-0: 0 group_color: tftpd allocation score on s01-1: 0 group_color: vip-227 allocation score on s01-0: 0 group_color: vip-227 allocation score on s01-1: 0 -group_color: vip-227-fw:0 allocation score on s01-0: -INFINITY +group_color: vip-227-fw:0 allocation score on s01-0: 0 group_color: vip-227-fw:0 allocation score on s01-1: 1 group_color: vip-227-fw:1 allocation score on s01-0: 1 -group_color: vip-227-fw:1 allocation score on s01-1: 0 +group_color: vip-227-fw:1 allocation score on s01-1: -INFINITY group_color: vip-228 allocation score on s01-0: 0 group_color: vip-228 allocation score on s01-1: 0 -group_color: vip-228-fw:0 allocation score on s01-0: -INFINITY +group_color: vip-228-fw:0 allocation score on s01-0: 0 group_color: vip-228-fw:0 allocation score on s01-1: 1 group_color: vip-228-fw:1 allocation score on s01-0: 1 -group_color: vip-228-fw:1 allocation score on s01-1: 0 +group_color: vip-228-fw:1 allocation score on s01-1: -INFINITY group_color: vip-232 allocation score on s01-0: 0 group_color: vip-232 allocation score on s01-1: 0 group_color: vip-233 allocation score on s01-0: 0 @@ -297,32 +297,32 @@ group_color: vip-234 allocation score on s01-0: 0 group_color: vip-234 allocation score on s01-1: 0 group_color: vip-235 allocation score on s01-0: 0 group_color: vip-235 allocation score on s01-1: 0 -group_color: vip-235-fw:0 allocation score on s01-0: -INFINITY +group_color: vip-235-fw:0 allocation score on s01-0: 0 group_color: vip-235-fw:0 allocation score on s01-1: 1 group_color: vip-235-fw:1 allocation score on s01-0: 1 -group_color: vip-235-fw:1 allocation score on s01-1: 0 +group_color: vip-235-fw:1 allocation score on s01-1: -INFINITY group_color: vip-236 allocation score on s01-0: 0 group_color: vip-236 allocation score on s01-1: 0 -group_color: vip-236-fw:0 allocation score on s01-0: -INFINITY +group_color: vip-236-fw:0 allocation score on s01-0: 0 group_color: vip-236-fw:0 allocation score on s01-1: 1 group_color: vip-236-fw:1 allocation score on s01-0: 1 -group_color: vip-236-fw:1 allocation score on s01-1: 0 +group_color: vip-236-fw:1 allocation score on s01-1: -INFINITY group_color: vip-237 allocation score on s01-0: 0 group_color: vip-237 allocation score on s01-1: 0 -group_color: vip-237-fw:0 allocation score on s01-0: -INFINITY +group_color: vip-237-fw:0 allocation score on s01-0: 0 group_color: vip-237-fw:0 allocation score on s01-1: 1 group_color: vip-237-fw:1 allocation score on s01-0: 1 -group_color: vip-237-fw:1 allocation score on s01-1: 0 +group_color: vip-237-fw:1 allocation score on s01-1: -INFINITY group_color: vip-238 allocation score on s01-0: 0 group_color: vip-238 allocation score on s01-1: 0 -group_color: vip-238-fw:0 allocation score on s01-0: -INFINITY +group_color: vip-238-fw:0 allocation score on s01-0: 0 group_color: vip-238-fw:0 allocation score on s01-1: 1 group_color: vip-238-fw:1 allocation score on s01-0: 1 -group_color: vip-238-fw:1 allocation score on s01-1: 0 -group_color: zebra:0 allocation score on s01-0: -INFINITY +group_color: vip-238-fw:1 allocation score on s01-1: -INFINITY +group_color: zebra:0 allocation score on s01-0: 0 group_color: zebra:0 allocation score on s01-1: 1 group_color: zebra:1 allocation score on s01-0: 1 -group_color: zebra:1 allocation score on s01-1: 0 +group_color: zebra:1 allocation score on s01-1: -INFINITY iscsi-pool-0-vips-fw:0 promotion score on s01-1: -INFINITY iscsi-pool-0-vips-fw:1 promotion score on s01-0: 2000 iscsi-pool-1-vips-fw:0 promotion score on s01-1: 2000 @@ -337,10 +337,10 @@ native_color: dhcpd:0 allocation score on s01-0: -INFINITY native_color: dhcpd:0 allocation score on s01-1: -INFINITY native_color: dhcpd:1 allocation score on s01-0: -INFINITY native_color: dhcpd:1 allocation score on s01-1: -INFINITY -native_color: dlm:0 allocation score on s01-0: -INFINITY +native_color: dlm:0 allocation score on s01-0: 0 native_color: dlm:0 allocation score on s01-1: 1 native_color: dlm:1 allocation score on s01-0: 1 -native_color: dlm:1 allocation score on s01-1: 0 +native_color: dlm:1 allocation score on s01-1: -INFINITY native_color: drbd-pool-0:0 allocation score on s01-0: -INFINITY native_color: drbd-pool-0:0 allocation score on s01-1: 10001 native_color: drbd-pool-0:1 allocation score on s01-0: 10001 @@ -353,26 +353,26 @@ native_color: drbd-s01-logs:0 allocation score on s01-0: 0 native_color: drbd-s01-logs:0 allocation score on s01-1: 10001 native_color: drbd-s01-logs:1 allocation score on s01-0: 10001 native_color: drbd-s01-logs:1 allocation score on s01-1: -INFINITY -native_color: drbd-s01-service:0 allocation score on s01-0: -INFINITY +native_color: drbd-s01-service:0 allocation score on s01-0: 0 native_color: drbd-s01-service:0 allocation score on s01-1: 10001 native_color: drbd-s01-service:1 allocation score on s01-0: 10001 -native_color: drbd-s01-service:1 allocation score on s01-1: 0 -native_color: drbd-s01-vm-data:0 allocation score on s01-0: -INFINITY +native_color: drbd-s01-service:1 allocation score on s01-1: -INFINITY +native_color: drbd-s01-vm-data:0 allocation score on s01-0: 0 native_color: drbd-s01-vm-data:0 allocation score on s01-1: 10001 native_color: drbd-s01-vm-data:1 allocation score on s01-0: 10001 -native_color: drbd-s01-vm-data:1 allocation score on s01-1: 0 -native_color: drbd-vds-dom0-stateless-0:0 allocation score on s01-0: -INFINITY +native_color: drbd-s01-vm-data:1 allocation score on s01-1: -INFINITY +native_color: drbd-vds-dom0-stateless-0:0 allocation score on s01-0: 0 native_color: drbd-vds-dom0-stateless-0:0 allocation score on s01-1: 10001 native_color: drbd-vds-dom0-stateless-0:1 allocation score on s01-0: 10001 -native_color: drbd-vds-dom0-stateless-0:1 allocation score on s01-1: 0 -native_color: drbd-vds-http:0 allocation score on s01-0: -INFINITY +native_color: drbd-vds-dom0-stateless-0:1 allocation score on s01-1: -INFINITY +native_color: drbd-vds-http:0 allocation score on s01-0: 0 native_color: drbd-vds-http:0 allocation score on s01-1: 10001 native_color: drbd-vds-http:1 allocation score on s01-0: 10001 -native_color: drbd-vds-http:1 allocation score on s01-1: 0 -native_color: drbd-vds-tftpboot:0 allocation score on s01-0: -INFINITY +native_color: drbd-vds-http:1 allocation score on s01-1: -INFINITY +native_color: drbd-vds-tftpboot:0 allocation score on s01-0: 0 native_color: drbd-vds-tftpboot:0 allocation score on s01-1: 10001 native_color: drbd-vds-tftpboot:1 allocation score on s01-0: 10001 -native_color: drbd-vds-tftpboot:1 allocation score on s01-1: 0 +native_color: drbd-vds-tftpboot:1 allocation score on s01-1: -INFINITY native_color: drbdlinks-s01-service:0 allocation score on s01-0: -INFINITY native_color: drbdlinks-s01-service:0 allocation score on s01-1: 1 native_color: drbdlinks-s01-service:1 allocation score on s01-0: 1 @@ -397,10 +397,10 @@ native_color: iscsi-vds-dom0-stateless-0-lun-1 allocation score on s01-0: -INFIN native_color: iscsi-vds-dom0-stateless-0-lun-1 allocation score on s01-1: -INFINITY native_color: iscsi-vds-dom0-stateless-0-target allocation score on s01-0: -INFINITY native_color: iscsi-vds-dom0-stateless-0-target allocation score on s01-1: -INFINITY -native_color: libvirtd:0 allocation score on s01-0: -INFINITY +native_color: libvirtd:0 allocation score on s01-0: 0 native_color: libvirtd:0 allocation score on s01-1: 1 native_color: libvirtd:1 allocation score on s01-0: 1 -native_color: libvirtd:1 allocation score on s01-1: 0 +native_color: libvirtd:1 allocation score on s01-1: -INFINITY native_color: mgmt-vm allocation score on s01-0: -INFINITY native_color: mgmt-vm allocation score on s01-1: 0 native_color: nginx allocation score on s01-0: -INFINITY @@ -413,10 +413,10 @@ native_color: ospfd:0 allocation score on s01-0: -INFINITY native_color: ospfd:0 allocation score on s01-1: 1 native_color: ospfd:1 allocation score on s01-0: 1 native_color: ospfd:1 allocation score on s01-1: -INFINITY -native_color: ping-bmc-and-switch:0 allocation score on s01-0: -INFINITY +native_color: ping-bmc-and-switch:0 allocation score on s01-0: 0 native_color: ping-bmc-and-switch:0 allocation score on s01-1: 1 native_color: ping-bmc-and-switch:1 allocation score on s01-0: 1 -native_color: ping-bmc-and-switch:1 allocation score on s01-1: 0 +native_color: ping-bmc-and-switch:1 allocation score on s01-1: -INFINITY native_color: s01-logs-fs:0 allocation score on s01-0: -INFINITY native_color: s01-logs-fs:0 allocation score on s01-1: 10002 native_color: s01-logs-fs:1 allocation score on s01-0: 10002 @@ -455,10 +455,10 @@ native_color: vg-s01-vm-data:1 allocation score on s01-0: 10002 native_color: vg-s01-vm-data:1 allocation score on s01-1: -INFINITY native_color: vip-227 allocation score on s01-0: -INFINITY native_color: vip-227 allocation score on s01-1: -INFINITY -native_color: vip-227-fw:0 allocation score on s01-0: -INFINITY +native_color: vip-227-fw:0 allocation score on s01-0: 0 native_color: vip-227-fw:0 allocation score on s01-1: 2 native_color: vip-227-fw:1 allocation score on s01-0: 2 -native_color: vip-227-fw:1 allocation score on s01-1: 0 +native_color: vip-227-fw:1 allocation score on s01-1: -INFINITY native_color: vip-228 allocation score on s01-0: -INFINITY native_color: vip-228 allocation score on s01-1: -INFINITY native_color: vip-228-fw:0 allocation score on s01-0: -INFINITY @@ -473,10 +473,10 @@ native_color: vip-234 allocation score on s01-0: 0 native_color: vip-234 allocation score on s01-1: 0 native_color: vip-235 allocation score on s01-0: 0 native_color: vip-235 allocation score on s01-1: -INFINITY -native_color: vip-235-fw:0 allocation score on s01-0: -INFINITY +native_color: vip-235-fw:0 allocation score on s01-0: 0 native_color: vip-235-fw:0 allocation score on s01-1: 2 native_color: vip-235-fw:1 allocation score on s01-0: 2 -native_color: vip-235-fw:1 allocation score on s01-1: 0 +native_color: vip-235-fw:1 allocation score on s01-1: -INFINITY native_color: vip-236 allocation score on s01-0: 0 native_color: vip-236 allocation score on s01-1: -INFINITY native_color: vip-236-fw:0 allocation score on s01-0: -INFINITY @@ -485,21 +485,21 @@ native_color: vip-236-fw:1 allocation score on s01-0: 1 native_color: vip-236-fw:1 allocation score on s01-1: -INFINITY native_color: vip-237 allocation score on s01-0: -INFINITY native_color: vip-237 allocation score on s01-1: 0 -native_color: vip-237-fw:0 allocation score on s01-0: -INFINITY +native_color: vip-237-fw:0 allocation score on s01-0: 0 native_color: vip-237-fw:0 allocation score on s01-1: 2 native_color: vip-237-fw:1 allocation score on s01-0: 2 -native_color: vip-237-fw:1 allocation score on s01-1: 0 +native_color: vip-237-fw:1 allocation score on s01-1: -INFINITY native_color: vip-238 allocation score on s01-0: -INFINITY native_color: vip-238 allocation score on s01-1: 0 native_color: vip-238-fw:0 allocation score on s01-0: -INFINITY native_color: vip-238-fw:0 allocation score on s01-1: 1 native_color: vip-238-fw:1 allocation score on s01-0: 1 native_color: vip-238-fw:1 allocation score on s01-1: -INFINITY -native_color: xinetd:0 allocation score on s01-0: -INFINITY +native_color: xinetd:0 allocation score on s01-0: 0 native_color: xinetd:0 allocation score on s01-1: 1 native_color: xinetd:1 allocation score on s01-0: 1 -native_color: xinetd:1 allocation score on s01-1: 0 -native_color: zebra:0 allocation score on s01-0: -INFINITY +native_color: xinetd:1 allocation score on s01-1: -INFINITY +native_color: zebra:0 allocation score on s01-0: 0 native_color: zebra:0 allocation score on s01-1: 2 native_color: zebra:1 allocation score on s01-0: 2 -native_color: zebra:1 allocation score on s01-1: 0 +native_color: zebra:1 allocation score on s01-1: -INFINITY diff --git a/pengine/test10/colocate-primitive-with-clone.scores b/pengine/test10/colocate-primitive-with-clone.scores index 4f40acc..b04a1e7 100644 --- a/pengine/test10/colocate-primitive-with-clone.scores +++ b/pengine/test10/colocate-primitive-with-clone.scores @@ -285,10 +285,10 @@ native_color: UmVIPcheck allocation score on srv03: -INFINITY native_color: UmVIPcheck allocation score on srv04: 100 native_color: clnG3dummy01:0 allocation score on srv01: -INFINITY native_color: clnG3dummy01:0 allocation score on srv02: 100 -native_color: clnG3dummy01:0 allocation score on srv03: 0 +native_color: clnG3dummy01:0 allocation score on srv03: -INFINITY native_color: clnG3dummy01:0 allocation score on srv04: -INFINITY native_color: clnG3dummy01:1 allocation score on srv01: -INFINITY -native_color: clnG3dummy01:1 allocation score on srv02: -INFINITY +native_color: clnG3dummy01:1 allocation score on srv02: 0 native_color: clnG3dummy01:1 allocation score on srv03: 100 native_color: clnG3dummy01:1 allocation score on srv04: -INFINITY native_color: clnG3dummy01:2 allocation score on srv01: -INFINITY @@ -301,10 +301,10 @@ native_color: clnG3dummy01:3 allocation score on srv03: -INFINITY native_color: clnG3dummy01:3 allocation score on srv04: -INFINITY native_color: clnG3dummy02:0 allocation score on srv01: -INFINITY native_color: clnG3dummy02:0 allocation score on srv02: 100 -native_color: clnG3dummy02:0 allocation score on srv03: 0 +native_color: clnG3dummy02:0 allocation score on srv03: -INFINITY native_color: clnG3dummy02:0 allocation score on srv04: -INFINITY native_color: clnG3dummy02:1 allocation score on srv01: -INFINITY -native_color: clnG3dummy02:1 allocation score on srv02: -INFINITY +native_color: clnG3dummy02:1 allocation score on srv02: 0 native_color: clnG3dummy02:1 allocation score on srv03: 100 native_color: clnG3dummy02:1 allocation score on srv04: -INFINITY native_color: clnG3dummy02:2 allocation score on srv01: -INFINITY @@ -317,10 +317,10 @@ native_color: clnG3dummy02:3 allocation score on srv03: -INFINITY native_color: clnG3dummy02:3 allocation score on srv04: -INFINITY native_color: clnPrmDiskd1:0 allocation score on srv01: -INFINITY native_color: clnPrmDiskd1:0 allocation score on srv02: 100 -native_color: clnPrmDiskd1:0 allocation score on srv03: 0 +native_color: clnPrmDiskd1:0 allocation score on srv03: -INFINITY native_color: clnPrmDiskd1:0 allocation score on srv04: -INFINITY native_color: clnPrmDiskd1:1 allocation score on srv01: -INFINITY -native_color: clnPrmDiskd1:1 allocation score on srv02: -INFINITY +native_color: clnPrmDiskd1:1 allocation score on srv02: 0 native_color: clnPrmDiskd1:1 allocation score on srv03: 100 native_color: clnPrmDiskd1:1 allocation score on srv04: -INFINITY native_color: clnPrmDiskd1:2 allocation score on srv01: -INFINITY @@ -333,10 +333,10 @@ native_color: clnPrmDiskd1:3 allocation score on srv03: -INFINITY native_color: clnPrmDiskd1:3 allocation score on srv04: -INFINITY native_color: clnPrmPingd:0 allocation score on srv01: -INFINITY native_color: clnPrmPingd:0 allocation score on srv02: 100 -native_color: clnPrmPingd:0 allocation score on srv03: 0 +native_color: clnPrmPingd:0 allocation score on srv03: -INFINITY native_color: clnPrmPingd:0 allocation score on srv04: -INFINITY native_color: clnPrmPingd:1 allocation score on srv01: -INFINITY -native_color: clnPrmPingd:1 allocation score on srv02: -INFINITY +native_color: clnPrmPingd:1 allocation score on srv02: 0 native_color: clnPrmPingd:1 allocation score on srv03: 100 native_color: clnPrmPingd:1 allocation score on srv04: -INFINITY native_color: clnPrmPingd:2 allocation score on srv01: -INFINITY diff --git a/pengine/test10/complex_enforce_colo.scores b/pengine/test10/complex_enforce_colo.scores index 9394084..e64c6e8 100644 --- a/pengine/test10/complex_enforce_colo.scores +++ b/pengine/test10/complex_enforce_colo.scores @@ -477,12 +477,12 @@ native_color: ceilometer-central allocation score on rhos6-node1: 0 native_color: ceilometer-central allocation score on rhos6-node2: 0 native_color: ceilometer-central allocation score on rhos6-node3: 0 native_color: ceilometer-collector:0 allocation score on rhos6-node1: 1 -native_color: ceilometer-collector:0 allocation score on rhos6-node2: -INFINITY -native_color: ceilometer-collector:0 allocation score on rhos6-node3: -INFINITY -native_color: ceilometer-collector:1 allocation score on rhos6-node1: 0 +native_color: ceilometer-collector:0 allocation score on rhos6-node2: 0 +native_color: ceilometer-collector:0 allocation score on rhos6-node3: 0 +native_color: ceilometer-collector:1 allocation score on rhos6-node1: -INFINITY native_color: ceilometer-collector:1 allocation score on rhos6-node2: 1 native_color: ceilometer-collector:1 allocation score on rhos6-node3: 0 -native_color: ceilometer-collector:2 allocation score on rhos6-node1: 0 +native_color: ceilometer-collector:2 allocation score on rhos6-node1: -INFINITY native_color: ceilometer-collector:2 allocation score on rhos6-node2: -INFINITY native_color: ceilometer-collector:2 allocation score on rhos6-node3: 1 native_color: ceilometer-delay:0 allocation score on rhos6-node1: 1 @@ -567,25 +567,25 @@ native_color: heat-api-cloudwatch:2 allocation score on rhos6-node1: -INFINITY native_color: heat-api-cloudwatch:2 allocation score on rhos6-node2: -INFINITY native_color: heat-api-cloudwatch:2 allocation score on rhos6-node3: 1 native_color: heat-api:0 allocation score on rhos6-node1: 1 -native_color: heat-api:0 allocation score on rhos6-node2: -INFINITY -native_color: heat-api:0 allocation score on rhos6-node3: -INFINITY -native_color: heat-api:1 allocation score on rhos6-node1: 0 +native_color: heat-api:0 allocation score on rhos6-node2: 0 +native_color: heat-api:0 allocation score on rhos6-node3: 0 +native_color: heat-api:1 allocation score on rhos6-node1: -INFINITY native_color: heat-api:1 allocation score on rhos6-node2: 1 native_color: heat-api:1 allocation score on rhos6-node3: 0 -native_color: heat-api:2 allocation score on rhos6-node1: 0 +native_color: heat-api:2 allocation score on rhos6-node1: -INFINITY native_color: heat-api:2 allocation score on rhos6-node2: -INFINITY native_color: heat-api:2 allocation score on rhos6-node3: 1 native_color: heat-engine allocation score on rhos6-node1: 0 native_color: heat-engine allocation score on rhos6-node2: 0 native_color: heat-engine allocation score on rhos6-node3: 0 native_color: horizon:0 allocation score on rhos6-node1: 1 -native_color: horizon:0 allocation score on rhos6-node2: -INFINITY -native_color: horizon:0 allocation score on rhos6-node3: -INFINITY -native_color: horizon:1 allocation score on rhos6-node1: 0 +native_color: horizon:0 allocation score on rhos6-node2: 0 +native_color: horizon:0 allocation score on rhos6-node3: 0 +native_color: horizon:1 allocation score on rhos6-node1: -INFINITY native_color: horizon:1 allocation score on rhos6-node2: 1 -native_color: horizon:1 allocation score on rhos6-node3: -INFINITY -native_color: horizon:2 allocation score on rhos6-node1: 0 -native_color: horizon:2 allocation score on rhos6-node2: 0 +native_color: horizon:1 allocation score on rhos6-node3: 0 +native_color: horizon:2 allocation score on rhos6-node1: -INFINITY +native_color: horizon:2 allocation score on rhos6-node2: -INFINITY native_color: horizon:2 allocation score on rhos6-node3: 1 native_color: keystone:0 allocation score on rhos6-node1: -INFINITY native_color: keystone:0 allocation score on rhos6-node2: -INFINITY @@ -687,13 +687,13 @@ native_color: neutron-scale:2 allocation score on rhos6-node1: 1 native_color: neutron-scale:2 allocation score on rhos6-node2: -INFINITY native_color: neutron-scale:2 allocation score on rhos6-node3: -INFINITY native_color: neutron-server:0 allocation score on rhos6-node1: 1 -native_color: neutron-server:0 allocation score on rhos6-node2: -INFINITY -native_color: neutron-server:0 allocation score on rhos6-node3: -INFINITY -native_color: neutron-server:1 allocation score on rhos6-node1: 0 +native_color: neutron-server:0 allocation score on rhos6-node2: 0 +native_color: neutron-server:0 allocation score on rhos6-node3: 0 +native_color: neutron-server:1 allocation score on rhos6-node1: -INFINITY native_color: neutron-server:1 allocation score on rhos6-node2: 1 -native_color: neutron-server:1 allocation score on rhos6-node3: -INFINITY -native_color: neutron-server:2 allocation score on rhos6-node1: 0 -native_color: neutron-server:2 allocation score on rhos6-node2: 0 +native_color: neutron-server:1 allocation score on rhos6-node3: 0 +native_color: neutron-server:2 allocation score on rhos6-node1: -INFINITY +native_color: neutron-server:2 allocation score on rhos6-node2: -INFINITY native_color: neutron-server:2 allocation score on rhos6-node3: 1 native_color: node1-fence allocation score on rhos6-node1: 0 native_color: node1-fence allocation score on rhos6-node2: 0 @@ -723,13 +723,13 @@ native_color: nova-conductor:2 allocation score on rhos6-node1: -INFINITY native_color: nova-conductor:2 allocation score on rhos6-node2: -INFINITY native_color: nova-conductor:2 allocation score on rhos6-node3: 1 native_color: nova-consoleauth:0 allocation score on rhos6-node1: 1 -native_color: nova-consoleauth:0 allocation score on rhos6-node2: -INFINITY -native_color: nova-consoleauth:0 allocation score on rhos6-node3: -INFINITY -native_color: nova-consoleauth:1 allocation score on rhos6-node1: 0 +native_color: nova-consoleauth:0 allocation score on rhos6-node2: 0 +native_color: nova-consoleauth:0 allocation score on rhos6-node3: 0 +native_color: nova-consoleauth:1 allocation score on rhos6-node1: -INFINITY native_color: nova-consoleauth:1 allocation score on rhos6-node2: 1 -native_color: nova-consoleauth:1 allocation score on rhos6-node3: -INFINITY -native_color: nova-consoleauth:2 allocation score on rhos6-node1: 0 -native_color: nova-consoleauth:2 allocation score on rhos6-node2: 0 +native_color: nova-consoleauth:1 allocation score on rhos6-node3: 0 +native_color: nova-consoleauth:2 allocation score on rhos6-node1: -INFINITY +native_color: nova-consoleauth:2 allocation score on rhos6-node2: -INFINITY native_color: nova-consoleauth:2 allocation score on rhos6-node3: 1 native_color: nova-novncproxy:0 allocation score on rhos6-node1: 1 native_color: nova-novncproxy:0 allocation score on rhos6-node2: -INFINITY @@ -777,12 +777,12 @@ native_color: swift-container:2 allocation score on rhos6-node1: -INFINITY native_color: swift-container:2 allocation score on rhos6-node2: -INFINITY native_color: swift-container:2 allocation score on rhos6-node3: 1 native_color: swift-fs:0 allocation score on rhos6-node1: 1 -native_color: swift-fs:0 allocation score on rhos6-node2: -INFINITY -native_color: swift-fs:0 allocation score on rhos6-node3: -INFINITY -native_color: swift-fs:1 allocation score on rhos6-node1: 0 +native_color: swift-fs:0 allocation score on rhos6-node2: 0 +native_color: swift-fs:0 allocation score on rhos6-node3: 0 +native_color: swift-fs:1 allocation score on rhos6-node1: -INFINITY native_color: swift-fs:1 allocation score on rhos6-node2: 1 native_color: swift-fs:1 allocation score on rhos6-node3: 0 -native_color: swift-fs:2 allocation score on rhos6-node1: 0 +native_color: swift-fs:2 allocation score on rhos6-node1: -INFINITY native_color: swift-fs:2 allocation score on rhos6-node2: -INFINITY native_color: swift-fs:2 allocation score on rhos6-node3: 1 native_color: swift-object-expirer allocation score on rhos6-node1: 0 @@ -798,12 +798,12 @@ native_color: swift-object:2 allocation score on rhos6-node1: -INFINITY native_color: swift-object:2 allocation score on rhos6-node2: -INFINITY native_color: swift-object:2 allocation score on rhos6-node3: 1 native_color: swift-proxy:0 allocation score on rhos6-node1: 1 -native_color: swift-proxy:0 allocation score on rhos6-node2: -INFINITY -native_color: swift-proxy:0 allocation score on rhos6-node3: -INFINITY -native_color: swift-proxy:1 allocation score on rhos6-node1: 0 +native_color: swift-proxy:0 allocation score on rhos6-node2: 0 +native_color: swift-proxy:0 allocation score on rhos6-node3: 0 +native_color: swift-proxy:1 allocation score on rhos6-node1: -INFINITY native_color: swift-proxy:1 allocation score on rhos6-node2: 1 native_color: swift-proxy:1 allocation score on rhos6-node3: 0 -native_color: swift-proxy:2 allocation score on rhos6-node1: 0 +native_color: swift-proxy:2 allocation score on rhos6-node1: -INFINITY native_color: swift-proxy:2 allocation score on rhos6-node2: -INFINITY native_color: swift-proxy:2 allocation score on rhos6-node3: 1 native_color: vip-ceilometer allocation score on rhos6-node1: 0 diff --git a/pengine/test10/container-is-remote-node.scores b/pengine/test10/container-is-remote-node.scores index 486ecbe..6c743c5 100644 --- a/pengine/test10/container-is-remote-node.scores +++ b/pengine/test10/container-is-remote-node.scores @@ -82,9 +82,9 @@ native_color: clvmd:2 allocation score on lama2: -INFINITY native_color: clvmd:2 allocation score on lama3: -INFINITY native_color: dlm:0 allocation score on RNVM1: -INFINITY native_color: dlm:0 allocation score on lama2: 1 -native_color: dlm:0 allocation score on lama3: -INFINITY +native_color: dlm:0 allocation score on lama3: 0 native_color: dlm:1 allocation score on RNVM1: -INFINITY -native_color: dlm:1 allocation score on lama2: 0 +native_color: dlm:1 allocation score on lama2: -INFINITY native_color: dlm:1 allocation score on lama3: 1 native_color: dlm:2 allocation score on RNVM1: -INFINITY native_color: dlm:2 allocation score on lama2: -INFINITY diff --git a/pengine/test10/group-dependents.scores b/pengine/test10/group-dependents.scores index 665d8c1..64531a5 100644 --- a/pengine/test10/group-dependents.scores +++ b/pengine/test10/group-dependents.scores @@ -58,8 +58,8 @@ native_color: asterisk allocation score on asttest2: 0 native_color: dahdi allocation score on asttest1: -INFINITY native_color: dahdi allocation score on asttest2: 0 native_color: drbd:0 allocation score on asttest1: 6 -native_color: drbd:0 allocation score on asttest2: -INFINITY -native_color: drbd:1 allocation score on asttest1: 0 +native_color: drbd:0 allocation score on asttest2: 0 +native_color: drbd:1 allocation score on asttest1: -INFINITY native_color: drbd:1 allocation score on asttest2: 6 native_color: fonulator allocation score on asttest1: -INFINITY native_color: fonulator allocation score on asttest2: 0 diff --git a/pengine/test10/group10.scores b/pengine/test10/group10.scores index 2a22b7b..6d3f6bf 100644 --- a/pengine/test10/group10.scores +++ b/pengine/test10/group10.scores @@ -52,18 +52,18 @@ native_color: child_192.168.100.183 allocation score on c001n02: -INFINITY native_color: child_192.168.100.183 allocation score on c001n03: -INFINITY native_color: child_192.168.100.183 allocation score on c001n08: -INFINITY native_color: child_DoFencing:0 allocation score on c001n01: 1 -native_color: child_DoFencing:0 allocation score on c001n02: -INFINITY -native_color: child_DoFencing:0 allocation score on c001n03: -INFINITY -native_color: child_DoFencing:0 allocation score on c001n08: -INFINITY -native_color: child_DoFencing:1 allocation score on c001n01: 0 +native_color: child_DoFencing:0 allocation score on c001n02: 0 +native_color: child_DoFencing:0 allocation score on c001n03: 0 +native_color: child_DoFencing:0 allocation score on c001n08: 0 +native_color: child_DoFencing:1 allocation score on c001n01: -INFINITY native_color: child_DoFencing:1 allocation score on c001n02: 1 native_color: child_DoFencing:1 allocation score on c001n03: 0 native_color: child_DoFencing:1 allocation score on c001n08: 0 -native_color: child_DoFencing:2 allocation score on c001n01: 0 +native_color: child_DoFencing:2 allocation score on c001n01: -INFINITY native_color: child_DoFencing:2 allocation score on c001n02: -INFINITY native_color: child_DoFencing:2 allocation score on c001n03: 1 native_color: child_DoFencing:2 allocation score on c001n08: 0 -native_color: child_DoFencing:3 allocation score on c001n01: 0 +native_color: child_DoFencing:3 allocation score on c001n01: -INFINITY native_color: child_DoFencing:3 allocation score on c001n02: -INFINITY native_color: child_DoFencing:3 allocation score on c001n03: -INFINITY native_color: child_DoFencing:3 allocation score on c001n08: 1 diff --git a/pengine/test10/history-1.scores b/pengine/test10/history-1.scores index 6263b95..bd0f43d 100644 --- a/pengine/test10/history-1.scores +++ b/pengine/test10/history-1.scores @@ -100,10 +100,10 @@ native_color: migrator allocation score on pcmk-2: 0 native_color: migrator allocation score on pcmk-3: 0 native_color: migrator allocation score on pcmk-4: 0 native_color: ping-1:0 allocation score on pcmk-1: 1 -native_color: ping-1:0 allocation score on pcmk-2: -INFINITY +native_color: ping-1:0 allocation score on pcmk-2: 0 native_color: ping-1:0 allocation score on pcmk-3: 0 native_color: ping-1:0 allocation score on pcmk-4: -INFINITY -native_color: ping-1:1 allocation score on pcmk-1: 0 +native_color: ping-1:1 allocation score on pcmk-1: -INFINITY native_color: ping-1:1 allocation score on pcmk-2: 1 native_color: ping-1:1 allocation score on pcmk-3: 0 native_color: ping-1:1 allocation score on pcmk-4: -INFINITY diff --git a/pengine/test10/inc10.scores b/pengine/test10/inc10.scores index bf69d89..de77779 100644 --- a/pengine/test10/inc10.scores +++ b/pengine/test10/inc10.scores @@ -39,7 +39,7 @@ clone_color: ocfs2:3 allocation score on xen-1: 0 clone_color: ocfs2:3 allocation score on xen-2: 0 clone_color: ocfs2:3 allocation score on xen-3: 0 clone_color: ocfs2:3 allocation score on xen-4: 1 -native_color: child_DoFencing:0 allocation score on xen-1: -INFINITY +native_color: child_DoFencing:0 allocation score on xen-1: 0 native_color: child_DoFencing:0 allocation score on xen-2: -INFINITY native_color: child_DoFencing:0 allocation score on xen-3: 1 native_color: child_DoFencing:0 allocation score on xen-4: 0 @@ -49,13 +49,13 @@ native_color: child_DoFencing:1 allocation score on xen-3: -INFINITY native_color: child_DoFencing:1 allocation score on xen-4: -INFINITY native_color: child_DoFencing:2 allocation score on xen-1: 1 native_color: child_DoFencing:2 allocation score on xen-2: -INFINITY -native_color: child_DoFencing:2 allocation score on xen-3: 0 +native_color: child_DoFencing:2 allocation score on xen-3: -INFINITY native_color: child_DoFencing:2 allocation score on xen-4: 0 native_color: child_DoFencing:3 allocation score on xen-1: -INFINITY native_color: child_DoFencing:3 allocation score on xen-2: -INFINITY native_color: child_DoFencing:3 allocation score on xen-3: -INFINITY native_color: child_DoFencing:3 allocation score on xen-4: 1 -native_color: ocfs2:0 allocation score on xen-1: -INFINITY +native_color: ocfs2:0 allocation score on xen-1: 0 native_color: ocfs2:0 allocation score on xen-2: -INFINITY native_color: ocfs2:0 allocation score on xen-3: 1 native_color: ocfs2:0 allocation score on xen-4: 0 @@ -65,7 +65,7 @@ native_color: ocfs2:1 allocation score on xen-3: -INFINITY native_color: ocfs2:1 allocation score on xen-4: -INFINITY native_color: ocfs2:2 allocation score on xen-1: 1 native_color: ocfs2:2 allocation score on xen-2: -INFINITY -native_color: ocfs2:2 allocation score on xen-3: 0 +native_color: ocfs2:2 allocation score on xen-3: -INFINITY native_color: ocfs2:2 allocation score on xen-4: 0 native_color: ocfs2:3 allocation score on xen-1: -INFINITY native_color: ocfs2:3 allocation score on xen-2: -INFINITY diff --git a/pengine/test10/interleave-restart.scores b/pengine/test10/interleave-restart.scores index c4e5773..b5b697b 100644 --- a/pengine/test10/interleave-restart.scores +++ b/pengine/test10/interleave-restart.scores @@ -23,19 +23,19 @@ clone_color: stonithclone:1 allocation score on node1: 1 clone_color: stonithclone:1 allocation score on node2: 0 clone_color: stonithcloneset allocation score on node1: 0 clone_color: stonithcloneset allocation score on node2: 0 -native_color: configstoreclone:0 allocation score on node1: -INFINITY +native_color: configstoreclone:0 allocation score on node1: 0 native_color: configstoreclone:0 allocation score on node2: 1 native_color: configstoreclone:1 allocation score on node1: 1 -native_color: configstoreclone:1 allocation score on node2: 0 +native_color: configstoreclone:1 allocation score on node2: -INFINITY native_color: evmsclone:0 allocation score on node1: 0 native_color: evmsclone:0 allocation score on node2: 1 native_color: evmsclone:1 allocation score on node1: 1 native_color: evmsclone:1 allocation score on node2: -INFINITY -native_color: imagestoreclone:0 allocation score on node1: -INFINITY +native_color: imagestoreclone:0 allocation score on node1: 0 native_color: imagestoreclone:0 allocation score on node2: 1 native_color: imagestoreclone:1 allocation score on node1: 1 -native_color: imagestoreclone:1 allocation score on node2: 0 -native_color: stonithclone:0 allocation score on node1: -INFINITY +native_color: imagestoreclone:1 allocation score on node2: -INFINITY +native_color: stonithclone:0 allocation score on node1: 0 native_color: stonithclone:0 allocation score on node2: 1 native_color: stonithclone:1 allocation score on node1: 1 -native_color: stonithclone:1 allocation score on node2: 0 +native_color: stonithclone:1 allocation score on node2: -INFINITY diff --git a/pengine/test10/load-stopped-loop-2.scores b/pengine/test10/load-stopped-loop-2.scores index 10f120f..6e42135 100644 --- a/pengine/test10/load-stopped-loop-2.scores +++ b/pengine/test10/load-stopped-loop-2.scores @@ -60,10 +60,10 @@ native_color: p_glusterd:0 allocation score on xfc1: 0 native_color: p_glusterd:0 allocation score on xfc2: 0 native_color: p_glusterd:0 allocation score on xfc3: 1 native_color: p_glusterd:1 allocation score on xfc0: 1 -native_color: p_glusterd:1 allocation score on xfc1: -INFINITY +native_color: p_glusterd:1 allocation score on xfc1: 0 native_color: p_glusterd:1 allocation score on xfc2: 0 native_color: p_glusterd:1 allocation score on xfc3: -INFINITY -native_color: p_glusterd:2 allocation score on xfc0: 0 +native_color: p_glusterd:2 allocation score on xfc0: -INFINITY native_color: p_glusterd:2 allocation score on xfc1: 1 native_color: p_glusterd:2 allocation score on xfc2: 0 native_color: p_glusterd:2 allocation score on xfc3: -INFINITY diff --git a/pengine/test10/load-stopped-loop.scores b/pengine/test10/load-stopped-loop.scores index dc9f5f5..df95481 100644 --- a/pengine/test10/load-stopped-loop.scores +++ b/pengine/test10/load-stopped-loop.scores @@ -882,14 +882,14 @@ native_color: dist.fly-uni.org-vm allocation score on mgmt01: -INFINITY native_color: dist.fly-uni.org-vm allocation score on v03-a: -INFINITY native_color: dist.fly-uni.org-vm allocation score on v03-b: -INFINITY native_color: dlm:0 allocation score on mgmt01: 1 -native_color: dlm:0 allocation score on v03-a: -INFINITY -native_color: dlm:0 allocation score on v03-b: -INFINITY -native_color: dlm:1 allocation score on mgmt01: 0 -native_color: dlm:1 allocation score on v03-a: -INFINITY +native_color: dlm:0 allocation score on v03-a: 0 +native_color: dlm:0 allocation score on v03-b: 0 +native_color: dlm:1 allocation score on mgmt01: -INFINITY +native_color: dlm:1 allocation score on v03-a: 0 native_color: dlm:1 allocation score on v03-b: 1 -native_color: dlm:2 allocation score on mgmt01: 0 +native_color: dlm:2 allocation score on mgmt01: -INFINITY native_color: dlm:2 allocation score on v03-a: 1 -native_color: dlm:2 allocation score on v03-b: 0 +native_color: dlm:2 allocation score on v03-b: -INFINITY native_color: dlm:3 allocation score on mgmt01: -INFINITY native_color: dlm:3 allocation score on v03-a: -INFINITY native_color: dlm:3 allocation score on v03-b: -INFINITY @@ -933,14 +933,14 @@ native_color: gw.gotin.vds-ok.com-vm allocation score on mgmt01: -INFINITY native_color: gw.gotin.vds-ok.com-vm allocation score on v03-a: -INFINITY native_color: gw.gotin.vds-ok.com-vm allocation score on v03-b: -INFINITY native_color: iscsid:0 allocation score on mgmt01: 1 -native_color: iscsid:0 allocation score on v03-a: -INFINITY -native_color: iscsid:0 allocation score on v03-b: -INFINITY -native_color: iscsid:1 allocation score on mgmt01: 0 -native_color: iscsid:1 allocation score on v03-a: -INFINITY +native_color: iscsid:0 allocation score on v03-a: 0 +native_color: iscsid:0 allocation score on v03-b: 0 +native_color: iscsid:1 allocation score on mgmt01: -INFINITY +native_color: iscsid:1 allocation score on v03-a: 0 native_color: iscsid:1 allocation score on v03-b: 1 -native_color: iscsid:2 allocation score on mgmt01: 0 +native_color: iscsid:2 allocation score on mgmt01: -INFINITY native_color: iscsid:2 allocation score on v03-a: 1 -native_color: iscsid:2 allocation score on v03-b: 0 +native_color: iscsid:2 allocation score on v03-b: -INFINITY native_color: iscsid:3 allocation score on mgmt01: -INFINITY native_color: iscsid:3 allocation score on v03-a: -INFINITY native_color: iscsid:3 allocation score on v03-b: -INFINITY @@ -966,14 +966,14 @@ native_color: lenny-x32-devel-vm allocation score on mgmt01: -INFINITY native_color: lenny-x32-devel-vm allocation score on v03-a: 0 native_color: lenny-x32-devel-vm allocation score on v03-b: 0 native_color: libvirt-images-fs:0 allocation score on mgmt01: 1 -native_color: libvirt-images-fs:0 allocation score on v03-a: -INFINITY -native_color: libvirt-images-fs:0 allocation score on v03-b: -INFINITY -native_color: libvirt-images-fs:1 allocation score on mgmt01: 0 -native_color: libvirt-images-fs:1 allocation score on v03-a: -INFINITY +native_color: libvirt-images-fs:0 allocation score on v03-a: 0 +native_color: libvirt-images-fs:0 allocation score on v03-b: 0 +native_color: libvirt-images-fs:1 allocation score on mgmt01: -INFINITY +native_color: libvirt-images-fs:1 allocation score on v03-a: 0 native_color: libvirt-images-fs:1 allocation score on v03-b: 1 -native_color: libvirt-images-fs:2 allocation score on mgmt01: 0 +native_color: libvirt-images-fs:2 allocation score on mgmt01: -INFINITY native_color: libvirt-images-fs:2 allocation score on v03-a: 1 -native_color: libvirt-images-fs:2 allocation score on v03-b: 0 +native_color: libvirt-images-fs:2 allocation score on v03-b: -INFINITY native_color: libvirt-images-fs:3 allocation score on mgmt01: -INFINITY native_color: libvirt-images-fs:3 allocation score on v03-a: -INFINITY native_color: libvirt-images-fs:3 allocation score on v03-b: -INFINITY @@ -1017,14 +1017,14 @@ native_color: libvirt-images-pool:7 allocation score on mgmt01: -INFINITY native_color: libvirt-images-pool:7 allocation score on v03-a: -INFINITY native_color: libvirt-images-pool:7 allocation score on v03-b: -INFINITY native_color: libvirt-install-fs:0 allocation score on mgmt01: 1 -native_color: libvirt-install-fs:0 allocation score on v03-a: -INFINITY -native_color: libvirt-install-fs:0 allocation score on v03-b: -INFINITY -native_color: libvirt-install-fs:1 allocation score on mgmt01: 0 -native_color: libvirt-install-fs:1 allocation score on v03-a: -INFINITY +native_color: libvirt-install-fs:0 allocation score on v03-a: 0 +native_color: libvirt-install-fs:0 allocation score on v03-b: 0 +native_color: libvirt-install-fs:1 allocation score on mgmt01: -INFINITY +native_color: libvirt-install-fs:1 allocation score on v03-a: 0 native_color: libvirt-install-fs:1 allocation score on v03-b: 1 -native_color: libvirt-install-fs:2 allocation score on mgmt01: 0 +native_color: libvirt-install-fs:2 allocation score on mgmt01: -INFINITY native_color: libvirt-install-fs:2 allocation score on v03-a: 1 -native_color: libvirt-install-fs:2 allocation score on v03-b: 0 +native_color: libvirt-install-fs:2 allocation score on v03-b: -INFINITY native_color: libvirt-install-fs:3 allocation score on mgmt01: -INFINITY native_color: libvirt-install-fs:3 allocation score on v03-a: -INFINITY native_color: libvirt-install-fs:3 allocation score on v03-b: -INFINITY @@ -1122,11 +1122,11 @@ native_color: maxb-c55-vm allocation score on mgmt01: -INFINITY native_color: maxb-c55-vm allocation score on v03-a: -INFINITY native_color: maxb-c55-vm allocation score on v03-b: -INFINITY native_color: mcast-anbriz-net:0 allocation score on mgmt01: -INFINITY -native_color: mcast-anbriz-net:0 allocation score on v03-a: -INFINITY +native_color: mcast-anbriz-net:0 allocation score on v03-a: 0 native_color: mcast-anbriz-net:0 allocation score on v03-b: 1 native_color: mcast-anbriz-net:1 allocation score on mgmt01: -INFINITY native_color: mcast-anbriz-net:1 allocation score on v03-a: 1 -native_color: mcast-anbriz-net:1 allocation score on v03-b: 0 +native_color: mcast-anbriz-net:1 allocation score on v03-b: -INFINITY native_color: mcast-anbriz-net:2 allocation score on mgmt01: -INFINITY native_color: mcast-anbriz-net:2 allocation score on v03-a: -INFINITY native_color: mcast-anbriz-net:2 allocation score on v03-b: -INFINITY @@ -1146,11 +1146,11 @@ native_color: mcast-anbriz-net:7 allocation score on mgmt01: -INFINITY native_color: mcast-anbriz-net:7 allocation score on v03-a: -INFINITY native_color: mcast-anbriz-net:7 allocation score on v03-b: -INFINITY native_color: mcast-gleb-net:0 allocation score on mgmt01: -INFINITY -native_color: mcast-gleb-net:0 allocation score on v03-a: -INFINITY +native_color: mcast-gleb-net:0 allocation score on v03-a: 0 native_color: mcast-gleb-net:0 allocation score on v03-b: 1 native_color: mcast-gleb-net:1 allocation score on mgmt01: -INFINITY native_color: mcast-gleb-net:1 allocation score on v03-a: 1 -native_color: mcast-gleb-net:1 allocation score on v03-b: 0 +native_color: mcast-gleb-net:1 allocation score on v03-b: -INFINITY native_color: mcast-gleb-net:2 allocation score on mgmt01: -INFINITY native_color: mcast-gleb-net:2 allocation score on v03-a: -INFINITY native_color: mcast-gleb-net:2 allocation score on v03-b: -INFINITY @@ -1170,11 +1170,11 @@ native_color: mcast-gleb-net:7 allocation score on mgmt01: -INFINITY native_color: mcast-gleb-net:7 allocation score on v03-a: -INFINITY native_color: mcast-gleb-net:7 allocation score on v03-b: -INFINITY native_color: mcast-test-net:0 allocation score on mgmt01: -INFINITY -native_color: mcast-test-net:0 allocation score on v03-a: -INFINITY +native_color: mcast-test-net:0 allocation score on v03-a: 0 native_color: mcast-test-net:0 allocation score on v03-b: 1 native_color: mcast-test-net:1 allocation score on mgmt01: -INFINITY native_color: mcast-test-net:1 allocation score on v03-a: 1 -native_color: mcast-test-net:1 allocation score on v03-b: 0 +native_color: mcast-test-net:1 allocation score on v03-b: -INFINITY native_color: mcast-test-net:2 allocation score on mgmt01: -INFINITY native_color: mcast-test-net:2 allocation score on v03-a: -INFINITY native_color: mcast-test-net:2 allocation score on v03-b: -INFINITY @@ -1197,14 +1197,14 @@ native_color: metae.ru-vm allocation score on mgmt01: -INFINITY native_color: metae.ru-vm allocation score on v03-a: -INFINITY native_color: metae.ru-vm allocation score on v03-b: -INFINITY native_color: multipathd:0 allocation score on mgmt01: 1 -native_color: multipathd:0 allocation score on v03-a: -INFINITY -native_color: multipathd:0 allocation score on v03-b: -INFINITY -native_color: multipathd:1 allocation score on mgmt01: 0 -native_color: multipathd:1 allocation score on v03-a: -INFINITY +native_color: multipathd:0 allocation score on v03-a: 0 +native_color: multipathd:0 allocation score on v03-b: 0 +native_color: multipathd:1 allocation score on mgmt01: -INFINITY +native_color: multipathd:1 allocation score on v03-a: 0 native_color: multipathd:1 allocation score on v03-b: 1 -native_color: multipathd:2 allocation score on mgmt01: 0 +native_color: multipathd:2 allocation score on mgmt01: -INFINITY native_color: multipathd:2 allocation score on v03-a: 1 -native_color: multipathd:2 allocation score on v03-b: 0 +native_color: multipathd:2 allocation score on v03-b: -INFINITY native_color: multipathd:3 allocation score on mgmt01: -INFINITY native_color: multipathd:3 allocation score on v03-a: -INFINITY native_color: multipathd:3 allocation score on v03-b: -INFINITY @@ -1224,11 +1224,11 @@ native_color: multipathd:8 allocation score on mgmt01: -INFINITY native_color: multipathd:8 allocation score on v03-a: -INFINITY native_color: multipathd:8 allocation score on v03-b: -INFINITY native_color: node-params:0 allocation score on mgmt01: -INFINITY -native_color: node-params:0 allocation score on v03-a: -INFINITY +native_color: node-params:0 allocation score on v03-a: 0 native_color: node-params:0 allocation score on v03-b: 1 native_color: node-params:1 allocation score on mgmt01: -INFINITY native_color: node-params:1 allocation score on v03-a: 1 -native_color: node-params:1 allocation score on v03-b: 0 +native_color: node-params:1 allocation score on v03-b: -INFINITY native_color: node-params:2 allocation score on mgmt01: -INFINITY native_color: node-params:2 allocation score on v03-a: -INFINITY native_color: node-params:2 allocation score on v03-b: -INFINITY @@ -1497,11 +1497,11 @@ native_color: vds-ok-pool-1-vg:8 allocation score on mgmt01: -INFINITY native_color: vds-ok-pool-1-vg:8 allocation score on v03-a: -INFINITY native_color: vds-ok-pool-1-vg:8 allocation score on v03-b: -INFINITY native_color: vlan1-if:0 allocation score on mgmt01: -INFINITY -native_color: vlan1-if:0 allocation score on v03-a: -INFINITY +native_color: vlan1-if:0 allocation score on v03-a: 0 native_color: vlan1-if:0 allocation score on v03-b: 1 native_color: vlan1-if:1 allocation score on mgmt01: -INFINITY native_color: vlan1-if:1 allocation score on v03-a: 1 -native_color: vlan1-if:1 allocation score on v03-b: 0 +native_color: vlan1-if:1 allocation score on v03-b: -INFINITY native_color: vlan1-if:2 allocation score on mgmt01: -INFINITY native_color: vlan1-if:2 allocation score on v03-a: -INFINITY native_color: vlan1-if:2 allocation score on v03-b: -INFINITY @@ -1521,11 +1521,11 @@ native_color: vlan1-if:7 allocation score on mgmt01: -INFINITY native_color: vlan1-if:7 allocation score on v03-a: -INFINITY native_color: vlan1-if:7 allocation score on v03-b: -INFINITY native_color: vlan101-if:0 allocation score on mgmt01: -INFINITY -native_color: vlan101-if:0 allocation score on v03-a: -INFINITY +native_color: vlan101-if:0 allocation score on v03-a: 0 native_color: vlan101-if:0 allocation score on v03-b: 1 native_color: vlan101-if:1 allocation score on mgmt01: -INFINITY native_color: vlan101-if:1 allocation score on v03-a: 1 -native_color: vlan101-if:1 allocation score on v03-b: 0 +native_color: vlan101-if:1 allocation score on v03-b: -INFINITY native_color: vlan101-if:2 allocation score on mgmt01: -INFINITY native_color: vlan101-if:2 allocation score on v03-a: -INFINITY native_color: vlan101-if:2 allocation score on v03-b: -INFINITY @@ -1545,11 +1545,11 @@ native_color: vlan101-if:7 allocation score on mgmt01: -INFINITY native_color: vlan101-if:7 allocation score on v03-a: -INFINITY native_color: vlan101-if:7 allocation score on v03-b: -INFINITY native_color: vlan102-if:0 allocation score on mgmt01: -INFINITY -native_color: vlan102-if:0 allocation score on v03-a: -INFINITY +native_color: vlan102-if:0 allocation score on v03-a: 0 native_color: vlan102-if:0 allocation score on v03-b: 1 native_color: vlan102-if:1 allocation score on mgmt01: -INFINITY native_color: vlan102-if:1 allocation score on v03-a: 1 -native_color: vlan102-if:1 allocation score on v03-b: 0 +native_color: vlan102-if:1 allocation score on v03-b: -INFINITY native_color: vlan102-if:2 allocation score on mgmt01: -INFINITY native_color: vlan102-if:2 allocation score on v03-a: -INFINITY native_color: vlan102-if:2 allocation score on v03-b: -INFINITY @@ -1569,11 +1569,11 @@ native_color: vlan102-if:7 allocation score on mgmt01: -INFINITY native_color: vlan102-if:7 allocation score on v03-a: -INFINITY native_color: vlan102-if:7 allocation score on v03-b: -INFINITY native_color: vlan103-if:0 allocation score on mgmt01: -INFINITY -native_color: vlan103-if:0 allocation score on v03-a: -INFINITY +native_color: vlan103-if:0 allocation score on v03-a: 0 native_color: vlan103-if:0 allocation score on v03-b: 1 native_color: vlan103-if:1 allocation score on mgmt01: -INFINITY native_color: vlan103-if:1 allocation score on v03-a: 1 -native_color: vlan103-if:1 allocation score on v03-b: 0 +native_color: vlan103-if:1 allocation score on v03-b: -INFINITY native_color: vlan103-if:2 allocation score on mgmt01: -INFINITY native_color: vlan103-if:2 allocation score on v03-a: -INFINITY native_color: vlan103-if:2 allocation score on v03-b: -INFINITY @@ -1593,11 +1593,11 @@ native_color: vlan103-if:7 allocation score on mgmt01: -INFINITY native_color: vlan103-if:7 allocation score on v03-a: -INFINITY native_color: vlan103-if:7 allocation score on v03-b: -INFINITY native_color: vlan104-if:0 allocation score on mgmt01: -INFINITY -native_color: vlan104-if:0 allocation score on v03-a: -INFINITY +native_color: vlan104-if:0 allocation score on v03-a: 0 native_color: vlan104-if:0 allocation score on v03-b: 1 native_color: vlan104-if:1 allocation score on mgmt01: -INFINITY native_color: vlan104-if:1 allocation score on v03-a: 1 -native_color: vlan104-if:1 allocation score on v03-b: 0 +native_color: vlan104-if:1 allocation score on v03-b: -INFINITY native_color: vlan104-if:2 allocation score on mgmt01: -INFINITY native_color: vlan104-if:2 allocation score on v03-a: -INFINITY native_color: vlan104-if:2 allocation score on v03-b: -INFINITY @@ -1617,11 +1617,11 @@ native_color: vlan104-if:7 allocation score on mgmt01: -INFINITY native_color: vlan104-if:7 allocation score on v03-a: -INFINITY native_color: vlan104-if:7 allocation score on v03-b: -INFINITY native_color: vlan200-if:0 allocation score on mgmt01: -INFINITY -native_color: vlan200-if:0 allocation score on v03-a: -INFINITY +native_color: vlan200-if:0 allocation score on v03-a: 0 native_color: vlan200-if:0 allocation score on v03-b: 1 native_color: vlan200-if:1 allocation score on mgmt01: -INFINITY native_color: vlan200-if:1 allocation score on v03-a: 1 -native_color: vlan200-if:1 allocation score on v03-b: 0 +native_color: vlan200-if:1 allocation score on v03-b: -INFINITY native_color: vlan200-if:2 allocation score on mgmt01: -INFINITY native_color: vlan200-if:2 allocation score on v03-a: -INFINITY native_color: vlan200-if:2 allocation score on v03-b: -INFINITY @@ -1641,11 +1641,11 @@ native_color: vlan200-if:7 allocation score on mgmt01: -INFINITY native_color: vlan200-if:7 allocation score on v03-a: -INFINITY native_color: vlan200-if:7 allocation score on v03-b: -INFINITY native_color: vlan3-if:0 allocation score on mgmt01: -INFINITY -native_color: vlan3-if:0 allocation score on v03-a: -INFINITY +native_color: vlan3-if:0 allocation score on v03-a: 0 native_color: vlan3-if:0 allocation score on v03-b: 1 native_color: vlan3-if:1 allocation score on mgmt01: -INFINITY native_color: vlan3-if:1 allocation score on v03-a: 1 -native_color: vlan3-if:1 allocation score on v03-b: 0 +native_color: vlan3-if:1 allocation score on v03-b: -INFINITY native_color: vlan3-if:2 allocation score on mgmt01: -INFINITY native_color: vlan3-if:2 allocation score on v03-a: -INFINITY native_color: vlan3-if:2 allocation score on v03-b: -INFINITY @@ -1665,11 +1665,11 @@ native_color: vlan3-if:7 allocation score on mgmt01: -INFINITY native_color: vlan3-if:7 allocation score on v03-a: -INFINITY native_color: vlan3-if:7 allocation score on v03-b: -INFINITY native_color: vlan4-if:0 allocation score on mgmt01: -INFINITY -native_color: vlan4-if:0 allocation score on v03-a: -INFINITY +native_color: vlan4-if:0 allocation score on v03-a: 0 native_color: vlan4-if:0 allocation score on v03-b: 1 native_color: vlan4-if:1 allocation score on mgmt01: -INFINITY native_color: vlan4-if:1 allocation score on v03-a: 1 -native_color: vlan4-if:1 allocation score on v03-b: 0 +native_color: vlan4-if:1 allocation score on v03-b: -INFINITY native_color: vlan4-if:2 allocation score on mgmt01: -INFINITY native_color: vlan4-if:2 allocation score on v03-a: -INFINITY native_color: vlan4-if:2 allocation score on v03-b: -INFINITY @@ -1689,11 +1689,11 @@ native_color: vlan4-if:7 allocation score on mgmt01: -INFINITY native_color: vlan4-if:7 allocation score on v03-a: -INFINITY native_color: vlan4-if:7 allocation score on v03-b: -INFINITY native_color: vlan5-if:0 allocation score on mgmt01: -INFINITY -native_color: vlan5-if:0 allocation score on v03-a: -INFINITY +native_color: vlan5-if:0 allocation score on v03-a: 0 native_color: vlan5-if:0 allocation score on v03-b: 1 native_color: vlan5-if:1 allocation score on mgmt01: -INFINITY native_color: vlan5-if:1 allocation score on v03-a: 1 -native_color: vlan5-if:1 allocation score on v03-b: 0 +native_color: vlan5-if:1 allocation score on v03-b: -INFINITY native_color: vlan5-if:2 allocation score on mgmt01: -INFINITY native_color: vlan5-if:2 allocation score on v03-a: -INFINITY native_color: vlan5-if:2 allocation score on v03-b: -INFINITY @@ -1713,11 +1713,11 @@ native_color: vlan5-if:7 allocation score on mgmt01: -INFINITY native_color: vlan5-if:7 allocation score on v03-a: -INFINITY native_color: vlan5-if:7 allocation score on v03-b: -INFINITY native_color: vlan900-if:0 allocation score on mgmt01: -INFINITY -native_color: vlan900-if:0 allocation score on v03-a: -INFINITY +native_color: vlan900-if:0 allocation score on v03-a: 0 native_color: vlan900-if:0 allocation score on v03-b: 1 native_color: vlan900-if:1 allocation score on mgmt01: -INFINITY native_color: vlan900-if:1 allocation score on v03-a: 1 -native_color: vlan900-if:1 allocation score on v03-b: 0 +native_color: vlan900-if:1 allocation score on v03-b: -INFINITY native_color: vlan900-if:2 allocation score on mgmt01: -INFINITY native_color: vlan900-if:2 allocation score on v03-a: -INFINITY native_color: vlan900-if:2 allocation score on v03-b: -INFINITY @@ -1737,11 +1737,11 @@ native_color: vlan900-if:7 allocation score on mgmt01: -INFINITY native_color: vlan900-if:7 allocation score on v03-a: -INFINITY native_color: vlan900-if:7 allocation score on v03-b: -INFINITY native_color: vlan909-if:0 allocation score on mgmt01: -INFINITY -native_color: vlan909-if:0 allocation score on v03-a: -INFINITY +native_color: vlan909-if:0 allocation score on v03-a: 0 native_color: vlan909-if:0 allocation score on v03-b: 1 native_color: vlan909-if:1 allocation score on mgmt01: -INFINITY native_color: vlan909-if:1 allocation score on v03-a: 1 -native_color: vlan909-if:1 allocation score on v03-b: 0 +native_color: vlan909-if:1 allocation score on v03-b: -INFINITY native_color: vlan909-if:2 allocation score on mgmt01: -INFINITY native_color: vlan909-if:2 allocation score on v03-a: -INFINITY native_color: vlan909-if:2 allocation score on v03-b: -INFINITY diff --git a/pengine/test10/master-12.scores b/pengine/test10/master-12.scores index bbef5b7..3f70867 100644 --- a/pengine/test10/master-12.scores +++ b/pengine/test10/master-12.scores @@ -14,10 +14,10 @@ clone_color: sf:1 allocation score on sel4: 1 drbd0:0 promotion score on sel4: 75 drbd0:1 promotion score on sel3: 175 drbd0:2 promotion score on none: 0 -native_color: drbd0:0 allocation score on sel3: -INFINITY +native_color: drbd0:0 allocation score on sel3: 0 native_color: drbd0:0 allocation score on sel4: 76 native_color: drbd0:1 allocation score on sel3: 76 -native_color: drbd0:1 allocation score on sel4: 0 +native_color: drbd0:1 allocation score on sel4: -INFINITY native_color: fs0 allocation score on sel3: 76 native_color: fs0 allocation score on sel4: -INFINITY native_color: sf:0 allocation score on sel3: 1 diff --git a/pengine/test10/master-13.scores b/pengine/test10/master-13.scores index 2167568..491a1f3 100644 --- a/pengine/test10/master-13.scores +++ b/pengine/test10/master-13.scores @@ -18,7 +18,7 @@ native_color: IPaddr0 allocation score on frigg: -INFINITY native_color: IPaddr0 allocation score on odin: 76 native_color: MailTo allocation score on frigg: -INFINITY native_color: MailTo allocation score on odin: 0 -native_color: drbd0:0 allocation score on frigg: -INFINITY +native_color: drbd0:0 allocation score on frigg: 0 native_color: drbd0:0 allocation score on odin: 76 native_color: drbd0:1 allocation score on frigg: 76 -native_color: drbd0:1 allocation score on odin: 0 +native_color: drbd0:1 allocation score on odin: -INFINITY diff --git a/pengine/test10/master-4.scores b/pengine/test10/master-4.scores index aa0b9b7..e5f390d 100644 --- a/pengine/test10/master-4.scores +++ b/pengine/test10/master-4.scores @@ -71,22 +71,22 @@ native_color: DcIPaddr allocation score on c001n01: -INFINITY native_color: DcIPaddr allocation score on c001n02: -INFINITY native_color: DcIPaddr allocation score on c001n03: -INFINITY native_color: DcIPaddr allocation score on c001n08: 0 -native_color: child_DoFencing:0 allocation score on c001n01: -INFINITY -native_color: child_DoFencing:0 allocation score on c001n02: -INFINITY +native_color: child_DoFencing:0 allocation score on c001n01: 0 +native_color: child_DoFencing:0 allocation score on c001n02: 0 native_color: child_DoFencing:0 allocation score on c001n03: 0 native_color: child_DoFencing:0 allocation score on c001n08: 1 -native_color: child_DoFencing:1 allocation score on c001n01: -INFINITY -native_color: child_DoFencing:1 allocation score on c001n02: -INFINITY +native_color: child_DoFencing:1 allocation score on c001n01: 0 +native_color: child_DoFencing:1 allocation score on c001n02: 0 native_color: child_DoFencing:1 allocation score on c001n03: 1 native_color: child_DoFencing:1 allocation score on c001n08: -INFINITY native_color: child_DoFencing:2 allocation score on c001n01: 1 -native_color: child_DoFencing:2 allocation score on c001n02: -INFINITY -native_color: child_DoFencing:2 allocation score on c001n03: 0 -native_color: child_DoFencing:2 allocation score on c001n08: 0 -native_color: child_DoFencing:3 allocation score on c001n01: 0 +native_color: child_DoFencing:2 allocation score on c001n02: 0 +native_color: child_DoFencing:2 allocation score on c001n03: -INFINITY +native_color: child_DoFencing:2 allocation score on c001n08: -INFINITY +native_color: child_DoFencing:3 allocation score on c001n01: -INFINITY native_color: child_DoFencing:3 allocation score on c001n02: 1 -native_color: child_DoFencing:3 allocation score on c001n03: 0 -native_color: child_DoFencing:3 allocation score on c001n08: 0 +native_color: child_DoFencing:3 allocation score on c001n03: -INFINITY +native_color: child_DoFencing:3 allocation score on c001n08: -INFINITY native_color: heartbeat_child allocation score on c001n01: -INFINITY native_color: heartbeat_child allocation score on c001n02: -INFINITY native_color: heartbeat_child allocation score on c001n03: 0 @@ -99,38 +99,38 @@ native_color: ocf_child allocation score on c001n01: 0 native_color: ocf_child allocation score on c001n02: 0 native_color: ocf_child allocation score on c001n03: 0 native_color: ocf_child allocation score on c001n08: 0 -native_color: ocf_msdummy:0 allocation score on c001n01: -INFINITY -native_color: ocf_msdummy:0 allocation score on c001n02: -INFINITY +native_color: ocf_msdummy:0 allocation score on c001n01: 0 +native_color: ocf_msdummy:0 allocation score on c001n02: 0 native_color: ocf_msdummy:0 allocation score on c001n03: 0 native_color: ocf_msdummy:0 allocation score on c001n08: 1001 -native_color: ocf_msdummy:1 allocation score on c001n01: -INFINITY -native_color: ocf_msdummy:1 allocation score on c001n02: -INFINITY +native_color: ocf_msdummy:1 allocation score on c001n01: 0 +native_color: ocf_msdummy:1 allocation score on c001n02: 0 native_color: ocf_msdummy:1 allocation score on c001n03: 1 -native_color: ocf_msdummy:1 allocation score on c001n08: -INFINITY +native_color: ocf_msdummy:1 allocation score on c001n08: 0 native_color: ocf_msdummy:2 allocation score on c001n01: 1 -native_color: ocf_msdummy:2 allocation score on c001n02: -INFINITY +native_color: ocf_msdummy:2 allocation score on c001n02: 0 native_color: ocf_msdummy:2 allocation score on c001n03: 0 native_color: ocf_msdummy:2 allocation score on c001n08: 0 -native_color: ocf_msdummy:3 allocation score on c001n01: -INFINITY -native_color: ocf_msdummy:3 allocation score on c001n02: -INFINITY +native_color: ocf_msdummy:3 allocation score on c001n01: 0 +native_color: ocf_msdummy:3 allocation score on c001n02: 0 native_color: ocf_msdummy:3 allocation score on c001n03: 0 native_color: ocf_msdummy:3 allocation score on c001n08: 1 -native_color: ocf_msdummy:4 allocation score on c001n01: -INFINITY -native_color: ocf_msdummy:4 allocation score on c001n02: -INFINITY +native_color: ocf_msdummy:4 allocation score on c001n01: 0 +native_color: ocf_msdummy:4 allocation score on c001n02: 0 native_color: ocf_msdummy:4 allocation score on c001n03: 1 native_color: ocf_msdummy:4 allocation score on c001n08: -INFINITY native_color: ocf_msdummy:5 allocation score on c001n01: 1 -native_color: ocf_msdummy:5 allocation score on c001n02: -INFINITY -native_color: ocf_msdummy:5 allocation score on c001n03: 0 -native_color: ocf_msdummy:5 allocation score on c001n08: 0 -native_color: ocf_msdummy:6 allocation score on c001n01: 0 +native_color: ocf_msdummy:5 allocation score on c001n02: 0 +native_color: ocf_msdummy:5 allocation score on c001n03: -INFINITY +native_color: ocf_msdummy:5 allocation score on c001n08: -INFINITY +native_color: ocf_msdummy:6 allocation score on c001n01: -INFINITY native_color: ocf_msdummy:6 allocation score on c001n02: 1 -native_color: ocf_msdummy:6 allocation score on c001n03: 0 -native_color: ocf_msdummy:6 allocation score on c001n08: 0 -native_color: ocf_msdummy:7 allocation score on c001n01: 0 +native_color: ocf_msdummy:6 allocation score on c001n03: -INFINITY +native_color: ocf_msdummy:6 allocation score on c001n08: -INFINITY +native_color: ocf_msdummy:7 allocation score on c001n01: -INFINITY native_color: ocf_msdummy:7 allocation score on c001n02: 1 -native_color: ocf_msdummy:7 allocation score on c001n03: 0 -native_color: ocf_msdummy:7 allocation score on c001n08: 0 +native_color: ocf_msdummy:7 allocation score on c001n03: -INFINITY +native_color: ocf_msdummy:7 allocation score on c001n08: -INFINITY native_color: rsc_c001n01 allocation score on c001n01: 100 native_color: rsc_c001n01 allocation score on c001n02: 0 native_color: rsc_c001n01 allocation score on c001n03: 0 diff --git a/pengine/test10/master-5.scores b/pengine/test10/master-5.scores index aa0b9b7..e5f390d 100644 --- a/pengine/test10/master-5.scores +++ b/pengine/test10/master-5.scores @@ -71,22 +71,22 @@ native_color: DcIPaddr allocation score on c001n01: -INFINITY native_color: DcIPaddr allocation score on c001n02: -INFINITY native_color: DcIPaddr allocation score on c001n03: -INFINITY native_color: DcIPaddr allocation score on c001n08: 0 -native_color: child_DoFencing:0 allocation score on c001n01: -INFINITY -native_color: child_DoFencing:0 allocation score on c001n02: -INFINITY +native_color: child_DoFencing:0 allocation score on c001n01: 0 +native_color: child_DoFencing:0 allocation score on c001n02: 0 native_color: child_DoFencing:0 allocation score on c001n03: 0 native_color: child_DoFencing:0 allocation score on c001n08: 1 -native_color: child_DoFencing:1 allocation score on c001n01: -INFINITY -native_color: child_DoFencing:1 allocation score on c001n02: -INFINITY +native_color: child_DoFencing:1 allocation score on c001n01: 0 +native_color: child_DoFencing:1 allocation score on c001n02: 0 native_color: child_DoFencing:1 allocation score on c001n03: 1 native_color: child_DoFencing:1 allocation score on c001n08: -INFINITY native_color: child_DoFencing:2 allocation score on c001n01: 1 -native_color: child_DoFencing:2 allocation score on c001n02: -INFINITY -native_color: child_DoFencing:2 allocation score on c001n03: 0 -native_color: child_DoFencing:2 allocation score on c001n08: 0 -native_color: child_DoFencing:3 allocation score on c001n01: 0 +native_color: child_DoFencing:2 allocation score on c001n02: 0 +native_color: child_DoFencing:2 allocation score on c001n03: -INFINITY +native_color: child_DoFencing:2 allocation score on c001n08: -INFINITY +native_color: child_DoFencing:3 allocation score on c001n01: -INFINITY native_color: child_DoFencing:3 allocation score on c001n02: 1 -native_color: child_DoFencing:3 allocation score on c001n03: 0 -native_color: child_DoFencing:3 allocation score on c001n08: 0 +native_color: child_DoFencing:3 allocation score on c001n03: -INFINITY +native_color: child_DoFencing:3 allocation score on c001n08: -INFINITY native_color: heartbeat_child allocation score on c001n01: -INFINITY native_color: heartbeat_child allocation score on c001n02: -INFINITY native_color: heartbeat_child allocation score on c001n03: 0 @@ -99,38 +99,38 @@ native_color: ocf_child allocation score on c001n01: 0 native_color: ocf_child allocation score on c001n02: 0 native_color: ocf_child allocation score on c001n03: 0 native_color: ocf_child allocation score on c001n08: 0 -native_color: ocf_msdummy:0 allocation score on c001n01: -INFINITY -native_color: ocf_msdummy:0 allocation score on c001n02: -INFINITY +native_color: ocf_msdummy:0 allocation score on c001n01: 0 +native_color: ocf_msdummy:0 allocation score on c001n02: 0 native_color: ocf_msdummy:0 allocation score on c001n03: 0 native_color: ocf_msdummy:0 allocation score on c001n08: 1001 -native_color: ocf_msdummy:1 allocation score on c001n01: -INFINITY -native_color: ocf_msdummy:1 allocation score on c001n02: -INFINITY +native_color: ocf_msdummy:1 allocation score on c001n01: 0 +native_color: ocf_msdummy:1 allocation score on c001n02: 0 native_color: ocf_msdummy:1 allocation score on c001n03: 1 -native_color: ocf_msdummy:1 allocation score on c001n08: -INFINITY +native_color: ocf_msdummy:1 allocation score on c001n08: 0 native_color: ocf_msdummy:2 allocation score on c001n01: 1 -native_color: ocf_msdummy:2 allocation score on c001n02: -INFINITY +native_color: ocf_msdummy:2 allocation score on c001n02: 0 native_color: ocf_msdummy:2 allocation score on c001n03: 0 native_color: ocf_msdummy:2 allocation score on c001n08: 0 -native_color: ocf_msdummy:3 allocation score on c001n01: -INFINITY -native_color: ocf_msdummy:3 allocation score on c001n02: -INFINITY +native_color: ocf_msdummy:3 allocation score on c001n01: 0 +native_color: ocf_msdummy:3 allocation score on c001n02: 0 native_color: ocf_msdummy:3 allocation score on c001n03: 0 native_color: ocf_msdummy:3 allocation score on c001n08: 1 -native_color: ocf_msdummy:4 allocation score on c001n01: -INFINITY -native_color: ocf_msdummy:4 allocation score on c001n02: -INFINITY +native_color: ocf_msdummy:4 allocation score on c001n01: 0 +native_color: ocf_msdummy:4 allocation score on c001n02: 0 native_color: ocf_msdummy:4 allocation score on c001n03: 1 native_color: ocf_msdummy:4 allocation score on c001n08: -INFINITY native_color: ocf_msdummy:5 allocation score on c001n01: 1 -native_color: ocf_msdummy:5 allocation score on c001n02: -INFINITY -native_color: ocf_msdummy:5 allocation score on c001n03: 0 -native_color: ocf_msdummy:5 allocation score on c001n08: 0 -native_color: ocf_msdummy:6 allocation score on c001n01: 0 +native_color: ocf_msdummy:5 allocation score on c001n02: 0 +native_color: ocf_msdummy:5 allocation score on c001n03: -INFINITY +native_color: ocf_msdummy:5 allocation score on c001n08: -INFINITY +native_color: ocf_msdummy:6 allocation score on c001n01: -INFINITY native_color: ocf_msdummy:6 allocation score on c001n02: 1 -native_color: ocf_msdummy:6 allocation score on c001n03: 0 -native_color: ocf_msdummy:6 allocation score on c001n08: 0 -native_color: ocf_msdummy:7 allocation score on c001n01: 0 +native_color: ocf_msdummy:6 allocation score on c001n03: -INFINITY +native_color: ocf_msdummy:6 allocation score on c001n08: -INFINITY +native_color: ocf_msdummy:7 allocation score on c001n01: -INFINITY native_color: ocf_msdummy:7 allocation score on c001n02: 1 -native_color: ocf_msdummy:7 allocation score on c001n03: 0 -native_color: ocf_msdummy:7 allocation score on c001n08: 0 +native_color: ocf_msdummy:7 allocation score on c001n03: -INFINITY +native_color: ocf_msdummy:7 allocation score on c001n08: -INFINITY native_color: rsc_c001n01 allocation score on c001n01: 100 native_color: rsc_c001n01 allocation score on c001n02: 0 native_color: rsc_c001n01 allocation score on c001n03: 0 diff --git a/pengine/test10/master-6.scores b/pengine/test10/master-6.scores index 13fb695..a896612 100644 --- a/pengine/test10/master-6.scores +++ b/pengine/test10/master-6.scores @@ -75,22 +75,22 @@ native_color: DcIPaddr allocation score on c001n01: -INFINITY native_color: DcIPaddr allocation score on c001n02: -INFINITY native_color: DcIPaddr allocation score on c001n03: -INFINITY native_color: DcIPaddr allocation score on c001n08: 0 -native_color: child_DoFencing:0 allocation score on c001n01: -INFINITY +native_color: child_DoFencing:0 allocation score on c001n01: 0 native_color: child_DoFencing:0 allocation score on c001n02: 0 -native_color: child_DoFencing:0 allocation score on c001n03: -INFINITY +native_color: child_DoFencing:0 allocation score on c001n03: 0 native_color: child_DoFencing:0 allocation score on c001n08: 1 -native_color: child_DoFencing:1 allocation score on c001n01: -INFINITY +native_color: child_DoFencing:1 allocation score on c001n01: 0 native_color: child_DoFencing:1 allocation score on c001n02: 1 -native_color: child_DoFencing:1 allocation score on c001n03: -INFINITY +native_color: child_DoFencing:1 allocation score on c001n03: 0 native_color: child_DoFencing:1 allocation score on c001n08: -INFINITY -native_color: child_DoFencing:2 allocation score on c001n01: -INFINITY -native_color: child_DoFencing:2 allocation score on c001n02: 0 +native_color: child_DoFencing:2 allocation score on c001n01: 0 +native_color: child_DoFencing:2 allocation score on c001n02: -INFINITY native_color: child_DoFencing:2 allocation score on c001n03: 1 -native_color: child_DoFencing:2 allocation score on c001n08: 0 +native_color: child_DoFencing:2 allocation score on c001n08: -INFINITY native_color: child_DoFencing:3 allocation score on c001n01: 1 -native_color: child_DoFencing:3 allocation score on c001n02: 0 -native_color: child_DoFencing:3 allocation score on c001n03: 0 -native_color: child_DoFencing:3 allocation score on c001n08: 0 +native_color: child_DoFencing:3 allocation score on c001n02: -INFINITY +native_color: child_DoFencing:3 allocation score on c001n03: -INFINITY +native_color: child_DoFencing:3 allocation score on c001n08: -INFINITY native_color: heartbeat_192.168.100.182 allocation score on c001n01: -INFINITY native_color: heartbeat_192.168.100.182 allocation score on c001n02: 0 native_color: heartbeat_192.168.100.182 allocation score on c001n03: -INFINITY @@ -107,38 +107,38 @@ native_color: ocf_192.168.100.183 allocation score on c001n01: -INFINITY native_color: ocf_192.168.100.183 allocation score on c001n02: 0 native_color: ocf_192.168.100.183 allocation score on c001n03: -INFINITY native_color: ocf_192.168.100.183 allocation score on c001n08: -INFINITY -native_color: ocf_msdummy:0 allocation score on c001n01: -INFINITY +native_color: ocf_msdummy:0 allocation score on c001n01: 0 native_color: ocf_msdummy:0 allocation score on c001n02: 0 -native_color: ocf_msdummy:0 allocation score on c001n03: -INFINITY +native_color: ocf_msdummy:0 allocation score on c001n03: 0 native_color: ocf_msdummy:0 allocation score on c001n08: 1001 -native_color: ocf_msdummy:1 allocation score on c001n01: -INFINITY +native_color: ocf_msdummy:1 allocation score on c001n01: 0 native_color: ocf_msdummy:1 allocation score on c001n02: 1 -native_color: ocf_msdummy:1 allocation score on c001n03: -INFINITY -native_color: ocf_msdummy:1 allocation score on c001n08: -INFINITY -native_color: ocf_msdummy:2 allocation score on c001n01: -INFINITY +native_color: ocf_msdummy:1 allocation score on c001n03: 0 +native_color: ocf_msdummy:1 allocation score on c001n08: 0 +native_color: ocf_msdummy:2 allocation score on c001n01: 0 native_color: ocf_msdummy:2 allocation score on c001n02: 0 native_color: ocf_msdummy:2 allocation score on c001n03: 1 native_color: ocf_msdummy:2 allocation score on c001n08: 0 -native_color: ocf_msdummy:3 allocation score on c001n01: -INFINITY +native_color: ocf_msdummy:3 allocation score on c001n01: 0 native_color: ocf_msdummy:3 allocation score on c001n02: 0 -native_color: ocf_msdummy:3 allocation score on c001n03: -INFINITY +native_color: ocf_msdummy:3 allocation score on c001n03: 0 native_color: ocf_msdummy:3 allocation score on c001n08: 1 -native_color: ocf_msdummy:4 allocation score on c001n01: -INFINITY +native_color: ocf_msdummy:4 allocation score on c001n01: 0 native_color: ocf_msdummy:4 allocation score on c001n02: 1 -native_color: ocf_msdummy:4 allocation score on c001n03: -INFINITY +native_color: ocf_msdummy:4 allocation score on c001n03: 0 native_color: ocf_msdummy:4 allocation score on c001n08: -INFINITY -native_color: ocf_msdummy:5 allocation score on c001n01: -INFINITY -native_color: ocf_msdummy:5 allocation score on c001n02: 0 +native_color: ocf_msdummy:5 allocation score on c001n01: 0 +native_color: ocf_msdummy:5 allocation score on c001n02: -INFINITY native_color: ocf_msdummy:5 allocation score on c001n03: 1 -native_color: ocf_msdummy:5 allocation score on c001n08: 0 +native_color: ocf_msdummy:5 allocation score on c001n08: -INFINITY native_color: ocf_msdummy:6 allocation score on c001n01: 1 -native_color: ocf_msdummy:6 allocation score on c001n02: 0 -native_color: ocf_msdummy:6 allocation score on c001n03: 0 -native_color: ocf_msdummy:6 allocation score on c001n08: 0 +native_color: ocf_msdummy:6 allocation score on c001n02: -INFINITY +native_color: ocf_msdummy:6 allocation score on c001n03: -INFINITY +native_color: ocf_msdummy:6 allocation score on c001n08: -INFINITY native_color: ocf_msdummy:7 allocation score on c001n01: 1 -native_color: ocf_msdummy:7 allocation score on c001n02: 0 -native_color: ocf_msdummy:7 allocation score on c001n03: 0 -native_color: ocf_msdummy:7 allocation score on c001n08: 0 +native_color: ocf_msdummy:7 allocation score on c001n02: -INFINITY +native_color: ocf_msdummy:7 allocation score on c001n03: -INFINITY +native_color: ocf_msdummy:7 allocation score on c001n08: -INFINITY native_color: rsc_c001n01 allocation score on c001n01: 100 native_color: rsc_c001n01 allocation score on c001n02: 0 native_color: rsc_c001n01 allocation score on c001n03: 0 diff --git a/pengine/test10/master-7.scores b/pengine/test10/master-7.scores index 207dc8c..37fc6cd 100644 --- a/pengine/test10/master-7.scores +++ b/pengine/test10/master-7.scores @@ -82,14 +82,14 @@ native_color: child_DoFencing:0 allocation score on c001n08: -INFINITY native_color: child_DoFencing:1 allocation score on c001n01: -INFINITY native_color: child_DoFencing:1 allocation score on c001n02: 0 native_color: child_DoFencing:1 allocation score on c001n03: 1 -native_color: child_DoFencing:1 allocation score on c001n08: -INFINITY +native_color: child_DoFencing:1 allocation score on c001n08: 0 native_color: child_DoFencing:2 allocation score on c001n01: -INFINITY native_color: child_DoFencing:2 allocation score on c001n02: 1 native_color: child_DoFencing:2 allocation score on c001n03: -INFINITY -native_color: child_DoFencing:2 allocation score on c001n08: -INFINITY +native_color: child_DoFencing:2 allocation score on c001n08: 0 native_color: child_DoFencing:3 allocation score on c001n01: -INFINITY -native_color: child_DoFencing:3 allocation score on c001n02: 0 -native_color: child_DoFencing:3 allocation score on c001n03: 0 +native_color: child_DoFencing:3 allocation score on c001n02: -INFINITY +native_color: child_DoFencing:3 allocation score on c001n03: -INFINITY native_color: child_DoFencing:3 allocation score on c001n08: 1 native_color: heartbeat_192.168.100.182 allocation score on c001n01: -INFINITY native_color: heartbeat_192.168.100.182 allocation score on c001n02: 0 @@ -114,11 +114,11 @@ native_color: ocf_msdummy:0 allocation score on c001n08: -INFINITY native_color: ocf_msdummy:1 allocation score on c001n01: -INFINITY native_color: ocf_msdummy:1 allocation score on c001n02: 0 native_color: ocf_msdummy:1 allocation score on c001n03: 1 -native_color: ocf_msdummy:1 allocation score on c001n08: -INFINITY +native_color: ocf_msdummy:1 allocation score on c001n08: 0 native_color: ocf_msdummy:2 allocation score on c001n01: -INFINITY native_color: ocf_msdummy:2 allocation score on c001n02: 1 -native_color: ocf_msdummy:2 allocation score on c001n03: -INFINITY -native_color: ocf_msdummy:2 allocation score on c001n08: -INFINITY +native_color: ocf_msdummy:2 allocation score on c001n03: 0 +native_color: ocf_msdummy:2 allocation score on c001n08: 0 native_color: ocf_msdummy:3 allocation score on c001n01: -INFINITY native_color: ocf_msdummy:3 allocation score on c001n02: 0 native_color: ocf_msdummy:3 allocation score on c001n03: 0 @@ -130,14 +130,14 @@ native_color: ocf_msdummy:4 allocation score on c001n08: -INFINITY native_color: ocf_msdummy:5 allocation score on c001n01: -INFINITY native_color: ocf_msdummy:5 allocation score on c001n02: 0 native_color: ocf_msdummy:5 allocation score on c001n03: 1 -native_color: ocf_msdummy:5 allocation score on c001n08: -INFINITY +native_color: ocf_msdummy:5 allocation score on c001n08: 0 native_color: ocf_msdummy:6 allocation score on c001n01: -INFINITY native_color: ocf_msdummy:6 allocation score on c001n02: 1 native_color: ocf_msdummy:6 allocation score on c001n03: -INFINITY -native_color: ocf_msdummy:6 allocation score on c001n08: -INFINITY +native_color: ocf_msdummy:6 allocation score on c001n08: 0 native_color: ocf_msdummy:7 allocation score on c001n01: -INFINITY -native_color: ocf_msdummy:7 allocation score on c001n02: 0 -native_color: ocf_msdummy:7 allocation score on c001n03: 0 +native_color: ocf_msdummy:7 allocation score on c001n02: -INFINITY +native_color: ocf_msdummy:7 allocation score on c001n03: -INFINITY native_color: ocf_msdummy:7 allocation score on c001n08: 1 native_color: rsc_c001n01 allocation score on c001n01: 100 native_color: rsc_c001n01 allocation score on c001n02: 0 diff --git a/pengine/test10/master-8.scores b/pengine/test10/master-8.scores index 88cf1ed..c9d1cc9 100644 --- a/pengine/test10/master-8.scores +++ b/pengine/test10/master-8.scores @@ -82,14 +82,14 @@ native_color: child_DoFencing:0 allocation score on c001n08: -INFINITY native_color: child_DoFencing:1 allocation score on c001n01: -INFINITY native_color: child_DoFencing:1 allocation score on c001n02: 0 native_color: child_DoFencing:1 allocation score on c001n03: 1 -native_color: child_DoFencing:1 allocation score on c001n08: -INFINITY +native_color: child_DoFencing:1 allocation score on c001n08: 0 native_color: child_DoFencing:2 allocation score on c001n01: -INFINITY native_color: child_DoFencing:2 allocation score on c001n02: 1 native_color: child_DoFencing:2 allocation score on c001n03: -INFINITY -native_color: child_DoFencing:2 allocation score on c001n08: -INFINITY +native_color: child_DoFencing:2 allocation score on c001n08: 0 native_color: child_DoFencing:3 allocation score on c001n01: -INFINITY -native_color: child_DoFencing:3 allocation score on c001n02: 0 -native_color: child_DoFencing:3 allocation score on c001n03: 0 +native_color: child_DoFencing:3 allocation score on c001n02: -INFINITY +native_color: child_DoFencing:3 allocation score on c001n03: -INFINITY native_color: child_DoFencing:3 allocation score on c001n08: 1 native_color: heartbeat_192.168.100.182 allocation score on c001n01: -INFINITY native_color: heartbeat_192.168.100.182 allocation score on c001n02: 0 @@ -114,11 +114,11 @@ native_color: ocf_msdummy:0 allocation score on c001n08: -INFINITY native_color: ocf_msdummy:1 allocation score on c001n01: -INFINITY native_color: ocf_msdummy:1 allocation score on c001n02: 0 native_color: ocf_msdummy:1 allocation score on c001n03: 1 -native_color: ocf_msdummy:1 allocation score on c001n08: -INFINITY +native_color: ocf_msdummy:1 allocation score on c001n08: 0 native_color: ocf_msdummy:2 allocation score on c001n01: -INFINITY native_color: ocf_msdummy:2 allocation score on c001n02: 1 native_color: ocf_msdummy:2 allocation score on c001n03: 0 -native_color: ocf_msdummy:2 allocation score on c001n08: -INFINITY +native_color: ocf_msdummy:2 allocation score on c001n08: 0 native_color: ocf_msdummy:3 allocation score on c001n01: -INFINITY native_color: ocf_msdummy:3 allocation score on c001n02: 0 native_color: ocf_msdummy:3 allocation score on c001n03: 0 @@ -134,9 +134,9 @@ native_color: ocf_msdummy:5 allocation score on c001n08: -INFINITY native_color: ocf_msdummy:6 allocation score on c001n01: -INFINITY native_color: ocf_msdummy:6 allocation score on c001n02: 1 native_color: ocf_msdummy:6 allocation score on c001n03: 0 -native_color: ocf_msdummy:6 allocation score on c001n08: -INFINITY +native_color: ocf_msdummy:6 allocation score on c001n08: 0 native_color: ocf_msdummy:7 allocation score on c001n01: -INFINITY -native_color: ocf_msdummy:7 allocation score on c001n02: 0 +native_color: ocf_msdummy:7 allocation score on c001n02: -INFINITY native_color: ocf_msdummy:7 allocation score on c001n03: 0 native_color: ocf_msdummy:7 allocation score on c001n08: 1 native_color: rsc_c001n01 allocation score on c001n01: 100 diff --git a/pengine/test10/master-demote-2.scores b/pengine/test10/master-demote-2.scores index 0455105..2d4d1f0 100644 --- a/pengine/test10/master-demote-2.scores +++ b/pengine/test10/master-demote-2.scores @@ -69,18 +69,18 @@ native_color: migrator allocation score on pcmk-3: 0 native_color: migrator allocation score on pcmk-4: 0 native_color: ping-1:0 allocation score on pcmk-1: 1 native_color: ping-1:0 allocation score on pcmk-2: 0 -native_color: ping-1:0 allocation score on pcmk-3: -INFINITY +native_color: ping-1:0 allocation score on pcmk-3: 0 native_color: ping-1:0 allocation score on pcmk-4: 0 native_color: ping-1:1 allocation score on pcmk-1: -INFINITY native_color: ping-1:1 allocation score on pcmk-2: 1 -native_color: ping-1:1 allocation score on pcmk-3: -INFINITY -native_color: ping-1:1 allocation score on pcmk-4: -INFINITY -native_color: ping-1:2 allocation score on pcmk-1: 0 -native_color: ping-1:2 allocation score on pcmk-2: 0 +native_color: ping-1:1 allocation score on pcmk-3: 0 +native_color: ping-1:1 allocation score on pcmk-4: 0 +native_color: ping-1:2 allocation score on pcmk-1: -INFINITY +native_color: ping-1:2 allocation score on pcmk-2: -INFINITY native_color: ping-1:2 allocation score on pcmk-3: 1 native_color: ping-1:2 allocation score on pcmk-4: 0 native_color: ping-1:3 allocation score on pcmk-1: -INFINITY -native_color: ping-1:3 allocation score on pcmk-2: 0 +native_color: ping-1:3 allocation score on pcmk-2: -INFINITY native_color: ping-1:3 allocation score on pcmk-3: -INFINITY native_color: ping-1:3 allocation score on pcmk-4: 1 native_color: r192.168.122.105 allocation score on pcmk-1: -INFINITY diff --git a/pengine/test10/master-demote.scores b/pengine/test10/master-demote.scores index 9046c30..7c654f3 100644 --- a/pengine/test10/master-demote.scores +++ b/pengine/test10/master-demote.scores @@ -51,8 +51,8 @@ native_color: named_address allocation score on cxb1: 210 native_color: named_daemon allocation score on cxa1: -INFINITY native_color: named_daemon allocation score on cxb1: -INFINITY native_color: named_drbd_node:0 allocation score on cxa1: 76 -native_color: named_drbd_node:0 allocation score on cxb1: -INFINITY -native_color: named_drbd_node:1 allocation score on cxa1: 0 +native_color: named_drbd_node:0 allocation score on cxb1: 0 +native_color: named_drbd_node:1 allocation score on cxa1: -INFINITY native_color: named_drbd_node:1 allocation score on cxb1: 76 native_color: named_filesys allocation score on cxa1: -INFINITY native_color: named_filesys allocation score on cxb1: -INFINITY diff --git a/pengine/test10/master-dependent-ban.scores b/pengine/test10/master-dependent-ban.scores index 0964ff3..ea70651 100644 --- a/pengine/test10/master-dependent-ban.scores +++ b/pengine/test10/master-dependent-ban.scores @@ -11,11 +11,8 @@ clone_color: p_drbd-dtest1:1 allocation score on c8: -INFINITY native_color: p_drbd-dtest1:0 allocation score on c6: -INFINITY native_color: p_drbd-dtest1:0 allocation score on c7: 1001 native_color: p_drbd-dtest1:0 allocation score on c8: -INFINITY -native_color: p_drbd-dtest1:1 allocation score on c6: -INFINITY native_color: p_drbd-dtest1:1 allocation score on c6: 6 native_color: p_drbd-dtest1:1 allocation score on c7: -INFINITY -native_color: p_drbd-dtest1:1 allocation score on c7: 0 -native_color: p_drbd-dtest1:1 allocation score on c8: -INFINITY native_color: p_drbd-dtest1:1 allocation score on c8: -INFINITY native_color: p_dtest1 allocation score on c6: -INFINITY native_color: p_dtest1 allocation score on c7: 1001 diff --git a/pengine/test10/master-notify.scores b/pengine/test10/master-notify.scores index 7a93db0..f44754b 100644 --- a/pengine/test10/master-notify.scores +++ b/pengine/test10/master-notify.scores @@ -15,14 +15,14 @@ fake:0 promotion score on rhel7-auto1: 5 fake:1 promotion score on rhel7-auto3: 5 fake:2 promotion score on rhel7-auto2: 5 native_color: fake:0 allocation score on rhel7-auto1: 6 -native_color: fake:0 allocation score on rhel7-auto2: -INFINITY -native_color: fake:0 allocation score on rhel7-auto3: -INFINITY -native_color: fake:1 allocation score on rhel7-auto1: 0 -native_color: fake:1 allocation score on rhel7-auto2: -INFINITY +native_color: fake:0 allocation score on rhel7-auto2: 0 +native_color: fake:0 allocation score on rhel7-auto3: 0 +native_color: fake:1 allocation score on rhel7-auto1: -INFINITY +native_color: fake:1 allocation score on rhel7-auto2: 0 native_color: fake:1 allocation score on rhel7-auto3: 6 -native_color: fake:2 allocation score on rhel7-auto1: 0 +native_color: fake:2 allocation score on rhel7-auto1: -INFINITY native_color: fake:2 allocation score on rhel7-auto2: 6 -native_color: fake:2 allocation score on rhel7-auto3: 0 +native_color: fake:2 allocation score on rhel7-auto3: -INFINITY native_color: shooter allocation score on rhel7-auto1: 0 native_color: shooter allocation score on rhel7-auto2: 0 native_color: shooter allocation score on rhel7-auto3: 0 diff --git a/pengine/test10/master-role.scores b/pengine/test10/master-role.scores index 6ea7a0a..6524faa 100644 --- a/pengine/test10/master-role.scores +++ b/pengine/test10/master-role.scores @@ -5,9 +5,9 @@ clone_color: res_Stateful_1:0 allocation score on sles11-a: 0 clone_color: res_Stateful_1:0 allocation score on sles11-b: 11 clone_color: res_Stateful_1:1 allocation score on sles11-a: 11 clone_color: res_Stateful_1:1 allocation score on sles11-b: 0 -native_color: res_Stateful_1:0 allocation score on sles11-a: -INFINITY +native_color: res_Stateful_1:0 allocation score on sles11-a: 0 native_color: res_Stateful_1:0 allocation score on sles11-b: 11 native_color: res_Stateful_1:1 allocation score on sles11-a: 11 -native_color: res_Stateful_1:1 allocation score on sles11-b: 0 +native_color: res_Stateful_1:1 allocation score on sles11-b: -INFINITY res_Stateful_1:0 promotion score on sles11-b: 10 res_Stateful_1:1 promotion score on sles11-a: 10 diff --git a/pengine/test10/master-unmanaged-monitor.scores b/pengine/test10/master-unmanaged-monitor.scores index c8ca2c3..fa5e100 100644 --- a/pengine/test10/master-unmanaged-monitor.scores +++ b/pengine/test10/master-unmanaged-monitor.scores @@ -99,22 +99,22 @@ native_color: migrator allocation score on pcmk-1: 0 native_color: migrator allocation score on pcmk-2: 0 native_color: migrator allocation score on pcmk-3: 0 native_color: migrator allocation score on pcmk-4: INFINITY -native_color: ping-1:0 allocation score on pcmk-1: -INFINITY +native_color: ping-1:0 allocation score on pcmk-1: 0 native_color: ping-1:0 allocation score on pcmk-2: INFINITY native_color: ping-1:0 allocation score on pcmk-3: 0 native_color: ping-1:0 allocation score on pcmk-4: 0 -native_color: ping-1:1 allocation score on pcmk-1: -INFINITY +native_color: ping-1:1 allocation score on pcmk-1: 0 native_color: ping-1:1 allocation score on pcmk-2: -INFINITY native_color: ping-1:1 allocation score on pcmk-3: INFINITY -native_color: ping-1:1 allocation score on pcmk-4: -INFINITY -native_color: ping-1:2 allocation score on pcmk-1: -INFINITY +native_color: ping-1:1 allocation score on pcmk-4: 0 +native_color: ping-1:2 allocation score on pcmk-1: 0 native_color: ping-1:2 allocation score on pcmk-2: -INFINITY -native_color: ping-1:2 allocation score on pcmk-3: 0 +native_color: ping-1:2 allocation score on pcmk-3: -INFINITY native_color: ping-1:2 allocation score on pcmk-4: INFINITY native_color: ping-1:3 allocation score on pcmk-1: INFINITY -native_color: ping-1:3 allocation score on pcmk-2: 0 -native_color: ping-1:3 allocation score on pcmk-3: 0 -native_color: ping-1:3 allocation score on pcmk-4: 0 +native_color: ping-1:3 allocation score on pcmk-2: -INFINITY +native_color: ping-1:3 allocation score on pcmk-3: -INFINITY +native_color: ping-1:3 allocation score on pcmk-4: -INFINITY native_color: r192.168.122.112 allocation score on pcmk-1: -INFINITY native_color: r192.168.122.112 allocation score on pcmk-2: -INFINITY native_color: r192.168.122.112 allocation score on pcmk-3: INFINITY diff --git a/pengine/test10/migrate-begin.scores b/pengine/test10/migrate-begin.scores index da34108..0ed41b2 100644 --- a/pengine/test10/migrate-begin.scores +++ b/pengine/test10/migrate-begin.scores @@ -5,9 +5,9 @@ clone_color: dlm:0 allocation score on hex-13: 0 clone_color: dlm:0 allocation score on hex-14: 1 clone_color: dlm:1 allocation score on hex-13: 1 clone_color: dlm:1 allocation score on hex-14: 0 -native_color: dlm:0 allocation score on hex-13: -INFINITY +native_color: dlm:0 allocation score on hex-13: 0 native_color: dlm:0 allocation score on hex-14: 1 native_color: dlm:1 allocation score on hex-13: 1 -native_color: dlm:1 allocation score on hex-14: 0 +native_color: dlm:1 allocation score on hex-14: -INFINITY native_color: test-vm allocation score on hex-13: 0 native_color: test-vm allocation score on hex-14: -INFINITY diff --git a/pengine/test10/migrate-both-vms.scores b/pengine/test10/migrate-both-vms.scores index 5879699..c8ec735 100644 --- a/pengine/test10/migrate-both-vms.scores +++ b/pengine/test10/migrate-both-vms.scores @@ -135,7 +135,7 @@ native_color: fs-libvirt-VM-xcm:0 allocation score on cvmh01: -INFINITY native_color: fs-libvirt-VM-xcm:0 allocation score on cvmh02: -INFINITY native_color: fs-libvirt-VM-xcm:0 allocation score on cvmh03: -INFINITY native_color: fs-libvirt-VM-xcm:0 allocation score on cvmh04: -INFINITY -native_color: fs-libvirt-VM-xcm:1 allocation score on cvmh01: -INFINITY +native_color: fs-libvirt-VM-xcm:1 allocation score on cvmh01: 0 native_color: fs-libvirt-VM-xcm:1 allocation score on cvmh02: 1 native_color: fs-libvirt-VM-xcm:1 allocation score on cvmh03: -INFINITY native_color: fs-libvirt-VM-xcm:1 allocation score on cvmh04: -INFINITY @@ -144,14 +144,14 @@ native_color: fs-libvirt-VM-xcm:2 allocation score on cvmh02: -INFINITY native_color: fs-libvirt-VM-xcm:2 allocation score on cvmh03: -INFINITY native_color: fs-libvirt-VM-xcm:2 allocation score on cvmh04: -INFINITY native_color: fs-libvirt-VM-xcm:3 allocation score on cvmh01: 1 -native_color: fs-libvirt-VM-xcm:3 allocation score on cvmh02: 0 +native_color: fs-libvirt-VM-xcm:3 allocation score on cvmh02: -INFINITY native_color: fs-libvirt-VM-xcm:3 allocation score on cvmh03: -INFINITY native_color: fs-libvirt-VM-xcm:3 allocation score on cvmh04: -INFINITY native_color: p-fs-gpfs:0 allocation score on cvmh01: -INFINITY native_color: p-fs-gpfs:0 allocation score on cvmh02: -INFINITY native_color: p-fs-gpfs:0 allocation score on cvmh03: -INFINITY native_color: p-fs-gpfs:0 allocation score on cvmh04: -INFINITY -native_color: p-fs-gpfs:1 allocation score on cvmh01: -INFINITY +native_color: p-fs-gpfs:1 allocation score on cvmh01: 0 native_color: p-fs-gpfs:1 allocation score on cvmh02: 1 native_color: p-fs-gpfs:1 allocation score on cvmh03: -INFINITY native_color: p-fs-gpfs:1 allocation score on cvmh04: -INFINITY @@ -160,7 +160,7 @@ native_color: p-fs-gpfs:2 allocation score on cvmh02: -INFINITY native_color: p-fs-gpfs:2 allocation score on cvmh03: -INFINITY native_color: p-fs-gpfs:2 allocation score on cvmh04: -INFINITY native_color: p-fs-gpfs:3 allocation score on cvmh01: 1 -native_color: p-fs-gpfs:3 allocation score on cvmh02: 0 +native_color: p-fs-gpfs:3 allocation score on cvmh02: -INFINITY native_color: p-fs-gpfs:3 allocation score on cvmh03: -INFINITY native_color: p-fs-gpfs:3 allocation score on cvmh04: -INFINITY native_color: p-libvirtd:0 allocation score on cvmh01: -INFINITY @@ -183,7 +183,7 @@ native_color: p-watch-ib0:0 allocation score on cvmh01: -INFINITY native_color: p-watch-ib0:0 allocation score on cvmh02: -INFINITY native_color: p-watch-ib0:0 allocation score on cvmh03: -INFINITY native_color: p-watch-ib0:0 allocation score on cvmh04: -INFINITY -native_color: p-watch-ib0:1 allocation score on cvmh01: -INFINITY +native_color: p-watch-ib0:1 allocation score on cvmh01: 0 native_color: p-watch-ib0:1 allocation score on cvmh02: 1 native_color: p-watch-ib0:1 allocation score on cvmh03: -INFINITY native_color: p-watch-ib0:1 allocation score on cvmh04: -INFINITY @@ -192,7 +192,7 @@ native_color: p-watch-ib0:2 allocation score on cvmh02: -INFINITY native_color: p-watch-ib0:2 allocation score on cvmh03: -INFINITY native_color: p-watch-ib0:2 allocation score on cvmh04: -INFINITY native_color: p-watch-ib0:3 allocation score on cvmh01: 1 -native_color: p-watch-ib0:3 allocation score on cvmh02: 0 +native_color: p-watch-ib0:3 allocation score on cvmh02: -INFINITY native_color: p-watch-ib0:3 allocation score on cvmh03: -INFINITY native_color: p-watch-ib0:3 allocation score on cvmh04: -INFINITY native_color: vm-compute-test allocation score on cvmh01: 0 diff --git a/pengine/test10/migrate-fail-2.scores b/pengine/test10/migrate-fail-2.scores index da34108..0ed41b2 100644 --- a/pengine/test10/migrate-fail-2.scores +++ b/pengine/test10/migrate-fail-2.scores @@ -5,9 +5,9 @@ clone_color: dlm:0 allocation score on hex-13: 0 clone_color: dlm:0 allocation score on hex-14: 1 clone_color: dlm:1 allocation score on hex-13: 1 clone_color: dlm:1 allocation score on hex-14: 0 -native_color: dlm:0 allocation score on hex-13: -INFINITY +native_color: dlm:0 allocation score on hex-13: 0 native_color: dlm:0 allocation score on hex-14: 1 native_color: dlm:1 allocation score on hex-13: 1 -native_color: dlm:1 allocation score on hex-14: 0 +native_color: dlm:1 allocation score on hex-14: -INFINITY native_color: test-vm allocation score on hex-13: 0 native_color: test-vm allocation score on hex-14: -INFINITY diff --git a/pengine/test10/migrate-fail-4.scores b/pengine/test10/migrate-fail-4.scores index da34108..0ed41b2 100644 --- a/pengine/test10/migrate-fail-4.scores +++ b/pengine/test10/migrate-fail-4.scores @@ -5,9 +5,9 @@ clone_color: dlm:0 allocation score on hex-13: 0 clone_color: dlm:0 allocation score on hex-14: 1 clone_color: dlm:1 allocation score on hex-13: 1 clone_color: dlm:1 allocation score on hex-14: 0 -native_color: dlm:0 allocation score on hex-13: -INFINITY +native_color: dlm:0 allocation score on hex-13: 0 native_color: dlm:0 allocation score on hex-14: 1 native_color: dlm:1 allocation score on hex-13: 1 -native_color: dlm:1 allocation score on hex-14: 0 +native_color: dlm:1 allocation score on hex-14: -INFINITY native_color: test-vm allocation score on hex-13: 0 native_color: test-vm allocation score on hex-14: -INFINITY diff --git a/pengine/test10/migrate-fail-5.scores b/pengine/test10/migrate-fail-5.scores index da34108..0ed41b2 100644 --- a/pengine/test10/migrate-fail-5.scores +++ b/pengine/test10/migrate-fail-5.scores @@ -5,9 +5,9 @@ clone_color: dlm:0 allocation score on hex-13: 0 clone_color: dlm:0 allocation score on hex-14: 1 clone_color: dlm:1 allocation score on hex-13: 1 clone_color: dlm:1 allocation score on hex-14: 0 -native_color: dlm:0 allocation score on hex-13: -INFINITY +native_color: dlm:0 allocation score on hex-13: 0 native_color: dlm:0 allocation score on hex-14: 1 native_color: dlm:1 allocation score on hex-13: 1 -native_color: dlm:1 allocation score on hex-14: 0 +native_color: dlm:1 allocation score on hex-14: -INFINITY native_color: test-vm allocation score on hex-13: 0 native_color: test-vm allocation score on hex-14: -INFINITY diff --git a/pengine/test10/migrate-fail-6.scores b/pengine/test10/migrate-fail-6.scores index da34108..0ed41b2 100644 --- a/pengine/test10/migrate-fail-6.scores +++ b/pengine/test10/migrate-fail-6.scores @@ -5,9 +5,9 @@ clone_color: dlm:0 allocation score on hex-13: 0 clone_color: dlm:0 allocation score on hex-14: 1 clone_color: dlm:1 allocation score on hex-13: 1 clone_color: dlm:1 allocation score on hex-14: 0 -native_color: dlm:0 allocation score on hex-13: -INFINITY +native_color: dlm:0 allocation score on hex-13: 0 native_color: dlm:0 allocation score on hex-14: 1 native_color: dlm:1 allocation score on hex-13: 1 -native_color: dlm:1 allocation score on hex-14: 0 +native_color: dlm:1 allocation score on hex-14: -INFINITY native_color: test-vm allocation score on hex-13: 0 native_color: test-vm allocation score on hex-14: -INFINITY diff --git a/pengine/test10/migrate-fail-8.scores b/pengine/test10/migrate-fail-8.scores index da34108..0ed41b2 100644 --- a/pengine/test10/migrate-fail-8.scores +++ b/pengine/test10/migrate-fail-8.scores @@ -5,9 +5,9 @@ clone_color: dlm:0 allocation score on hex-13: 0 clone_color: dlm:0 allocation score on hex-14: 1 clone_color: dlm:1 allocation score on hex-13: 1 clone_color: dlm:1 allocation score on hex-14: 0 -native_color: dlm:0 allocation score on hex-13: -INFINITY +native_color: dlm:0 allocation score on hex-13: 0 native_color: dlm:0 allocation score on hex-14: 1 native_color: dlm:1 allocation score on hex-13: 1 -native_color: dlm:1 allocation score on hex-14: 0 +native_color: dlm:1 allocation score on hex-14: -INFINITY native_color: test-vm allocation score on hex-13: 0 native_color: test-vm allocation score on hex-14: -INFINITY diff --git a/pengine/test10/migrate-fail-9.scores b/pengine/test10/migrate-fail-9.scores index da34108..0ed41b2 100644 --- a/pengine/test10/migrate-fail-9.scores +++ b/pengine/test10/migrate-fail-9.scores @@ -5,9 +5,9 @@ clone_color: dlm:0 allocation score on hex-13: 0 clone_color: dlm:0 allocation score on hex-14: 1 clone_color: dlm:1 allocation score on hex-13: 1 clone_color: dlm:1 allocation score on hex-14: 0 -native_color: dlm:0 allocation score on hex-13: -INFINITY +native_color: dlm:0 allocation score on hex-13: 0 native_color: dlm:0 allocation score on hex-14: 1 native_color: dlm:1 allocation score on hex-13: 1 -native_color: dlm:1 allocation score on hex-14: 0 +native_color: dlm:1 allocation score on hex-14: -INFINITY native_color: test-vm allocation score on hex-13: 0 native_color: test-vm allocation score on hex-14: -INFINITY diff --git a/pengine/test10/migrate-fencing.scores b/pengine/test10/migrate-fencing.scores index c68de49..3febd69 100644 --- a/pengine/test10/migrate-fencing.scores +++ b/pengine/test10/migrate-fencing.scores @@ -84,12 +84,12 @@ native_color: FencingChild:1 allocation score on pcmk-2: 0 native_color: FencingChild:1 allocation score on pcmk-3: 0 native_color: FencingChild:1 allocation score on pcmk-4: -INFINITY native_color: FencingChild:2 allocation score on pcmk-1: -INFINITY -native_color: FencingChild:2 allocation score on pcmk-2: -INFINITY +native_color: FencingChild:2 allocation score on pcmk-2: 0 native_color: FencingChild:2 allocation score on pcmk-3: 1 native_color: FencingChild:2 allocation score on pcmk-4: -INFINITY native_color: FencingChild:3 allocation score on pcmk-1: -INFINITY native_color: FencingChild:3 allocation score on pcmk-2: 1 -native_color: FencingChild:3 allocation score on pcmk-3: 0 +native_color: FencingChild:3 allocation score on pcmk-3: -INFINITY native_color: FencingChild:3 allocation score on pcmk-4: -INFINITY native_color: lsb-dummy allocation score on pcmk-1: 0 native_color: lsb-dummy allocation score on pcmk-2: -INFINITY @@ -104,16 +104,16 @@ native_color: ping-1:0 allocation score on pcmk-2: -INFINITY native_color: ping-1:0 allocation score on pcmk-3: -INFINITY native_color: ping-1:0 allocation score on pcmk-4: -INFINITY native_color: ping-1:1 allocation score on pcmk-1: 1 -native_color: ping-1:1 allocation score on pcmk-2: -INFINITY -native_color: ping-1:1 allocation score on pcmk-3: -INFINITY +native_color: ping-1:1 allocation score on pcmk-2: 0 +native_color: ping-1:1 allocation score on pcmk-3: 0 native_color: ping-1:1 allocation score on pcmk-4: -INFINITY -native_color: ping-1:2 allocation score on pcmk-1: 0 -native_color: ping-1:2 allocation score on pcmk-2: -INFINITY +native_color: ping-1:2 allocation score on pcmk-1: -INFINITY +native_color: ping-1:2 allocation score on pcmk-2: 0 native_color: ping-1:2 allocation score on pcmk-3: 1 native_color: ping-1:2 allocation score on pcmk-4: -INFINITY -native_color: ping-1:3 allocation score on pcmk-1: 0 +native_color: ping-1:3 allocation score on pcmk-1: -INFINITY native_color: ping-1:3 allocation score on pcmk-2: 1 -native_color: ping-1:3 allocation score on pcmk-3: 0 +native_color: ping-1:3 allocation score on pcmk-3: -INFINITY native_color: ping-1:3 allocation score on pcmk-4: -INFINITY native_color: r192.168.101.181 allocation score on pcmk-1: 6 native_color: r192.168.101.181 allocation score on pcmk-2: -INFINITY @@ -152,12 +152,12 @@ native_color: stateful-1:1 allocation score on pcmk-2: 0 native_color: stateful-1:1 allocation score on pcmk-3: 0 native_color: stateful-1:1 allocation score on pcmk-4: -INFINITY native_color: stateful-1:2 allocation score on pcmk-1: -INFINITY -native_color: stateful-1:2 allocation score on pcmk-2: -INFINITY +native_color: stateful-1:2 allocation score on pcmk-2: 0 native_color: stateful-1:2 allocation score on pcmk-3: 6 native_color: stateful-1:2 allocation score on pcmk-4: -INFINITY native_color: stateful-1:3 allocation score on pcmk-1: -INFINITY native_color: stateful-1:3 allocation score on pcmk-2: 6 -native_color: stateful-1:3 allocation score on pcmk-3: 0 +native_color: stateful-1:3 allocation score on pcmk-3: -INFINITY native_color: stateful-1:3 allocation score on pcmk-4: -INFINITY stateful-1:0 promotion score on none: 0 stateful-1:1 promotion score on pcmk-1: 5 diff --git a/pengine/test10/migrate-partial-2.scores b/pengine/test10/migrate-partial-2.scores index da34108..0ed41b2 100644 --- a/pengine/test10/migrate-partial-2.scores +++ b/pengine/test10/migrate-partial-2.scores @@ -5,9 +5,9 @@ clone_color: dlm:0 allocation score on hex-13: 0 clone_color: dlm:0 allocation score on hex-14: 1 clone_color: dlm:1 allocation score on hex-13: 1 clone_color: dlm:1 allocation score on hex-14: 0 -native_color: dlm:0 allocation score on hex-13: -INFINITY +native_color: dlm:0 allocation score on hex-13: 0 native_color: dlm:0 allocation score on hex-14: 1 native_color: dlm:1 allocation score on hex-13: 1 -native_color: dlm:1 allocation score on hex-14: 0 +native_color: dlm:1 allocation score on hex-14: -INFINITY native_color: test-vm allocation score on hex-13: 0 native_color: test-vm allocation score on hex-14: -INFINITY diff --git a/pengine/test10/migrate-partial-3.scores b/pengine/test10/migrate-partial-3.scores index 309b51c..7448a6d 100644 --- a/pengine/test10/migrate-partial-3.scores +++ b/pengine/test10/migrate-partial-3.scores @@ -11,11 +11,11 @@ clone_color: dlm:1 allocation score on hex-15: 0 clone_color: dlm:2 allocation score on hex-13: 0 clone_color: dlm:2 allocation score on hex-14: 0 clone_color: dlm:2 allocation score on hex-15: 0 -native_color: dlm:0 allocation score on hex-13: -INFINITY +native_color: dlm:0 allocation score on hex-13: 0 native_color: dlm:0 allocation score on hex-14: 1 native_color: dlm:0 allocation score on hex-15: -INFINITY native_color: dlm:1 allocation score on hex-13: 1 -native_color: dlm:1 allocation score on hex-14: 0 +native_color: dlm:1 allocation score on hex-14: -INFINITY native_color: dlm:1 allocation score on hex-15: -INFINITY native_color: dlm:2 allocation score on hex-13: -INFINITY native_color: dlm:2 allocation score on hex-14: -INFINITY diff --git a/pengine/test10/not-reschedule-unneeded-monitor.scores b/pengine/test10/not-reschedule-unneeded-monitor.scores index 3bc02ed..3591076 100644 --- a/pengine/test10/not-reschedule-unneeded-monitor.scores +++ b/pengine/test10/not-reschedule-unneeded-monitor.scores @@ -25,28 +25,28 @@ clone_color: vmdisk:0 allocation score on castor: 0 clone_color: vmdisk:0 allocation score on kimball: 1 clone_color: vmdisk:1 allocation score on castor: 1 clone_color: vmdisk:1 allocation score on kimball: 0 -group_color: vm-fs:0 allocation score on castor: -INFINITY +group_color: vm-fs:0 allocation score on castor: 0 group_color: vm-fs:0 allocation score on kimball: 1 group_color: vm-fs:1 allocation score on castor: 1 -group_color: vm-fs:1 allocation score on kimball: 0 -group_color: vm1:0 allocation score on castor: -INFINITY +group_color: vm-fs:1 allocation score on kimball: -INFINITY +group_color: vm1:0 allocation score on castor: 0 group_color: vm1:0 allocation score on kimball: 0 group_color: vm1:1 allocation score on castor: 0 -group_color: vm1:1 allocation score on kimball: 0 -group_color: vmdisk:0 allocation score on castor: -INFINITY +group_color: vm1:1 allocation score on kimball: -INFINITY +group_color: vmdisk:0 allocation score on castor: 0 group_color: vmdisk:0 allocation score on kimball: 1 group_color: vmdisk:1 allocation score on castor: 1 -group_color: vmdisk:1 allocation score on kimball: 0 -native_color: dlm:0 allocation score on castor: -INFINITY +group_color: vmdisk:1 allocation score on kimball: -INFINITY +native_color: dlm:0 allocation score on castor: 0 native_color: dlm:0 allocation score on kimball: 1 native_color: dlm:1 allocation score on castor: 1 -native_color: dlm:1 allocation score on kimball: 0 +native_color: dlm:1 allocation score on kimball: -INFINITY native_color: sbd allocation score on castor: 0 native_color: sbd allocation score on kimball: 1 -native_color: sgdisk:0 allocation score on castor: -INFINITY +native_color: sgdisk:0 allocation score on castor: 0 native_color: sgdisk:0 allocation score on kimball: 1 native_color: sgdisk:1 allocation score on castor: 1 -native_color: sgdisk:1 allocation score on kimball: 0 +native_color: sgdisk:1 allocation score on kimball: -INFINITY native_color: sle12-kvm allocation score on castor: -INFINITY native_color: sle12-kvm allocation score on kimball: 0 native_color: vm-fs:0 allocation score on castor: -INFINITY diff --git a/pengine/test10/novell-251689.scores b/pengine/test10/novell-251689.scores index c433786..5dc9b48 100644 --- a/pengine/test10/novell-251689.scores +++ b/pengine/test10/novell-251689.scores @@ -29,25 +29,25 @@ clone_color: stonithclone:1 allocation score on node1: 1 clone_color: stonithclone:1 allocation score on node2: 0 clone_color: stonithcloneset allocation score on node1: 0 clone_color: stonithcloneset allocation score on node2: 0 -native_color: configstoreclone:0 allocation score on node1: -INFINITY +native_color: configstoreclone:0 allocation score on node1: 0 native_color: configstoreclone:0 allocation score on node2: 1 native_color: configstoreclone:1 allocation score on node1: 1 -native_color: configstoreclone:1 allocation score on node2: 0 -native_color: evmsclone:0 allocation score on node1: -INFINITY +native_color: configstoreclone:1 allocation score on node2: -INFINITY +native_color: evmsclone:0 allocation score on node1: 0 native_color: evmsclone:0 allocation score on node2: 1 native_color: evmsclone:1 allocation score on node1: 1 -native_color: evmsclone:1 allocation score on node2: 0 -native_color: evmsdclone:0 allocation score on node1: -INFINITY +native_color: evmsclone:1 allocation score on node2: -INFINITY +native_color: evmsdclone:0 allocation score on node1: 0 native_color: evmsdclone:0 allocation score on node2: 1 native_color: evmsdclone:1 allocation score on node1: 1 -native_color: evmsdclone:1 allocation score on node2: 0 -native_color: imagestoreclone:0 allocation score on node1: -INFINITY +native_color: evmsdclone:1 allocation score on node2: -INFINITY +native_color: imagestoreclone:0 allocation score on node1: 0 native_color: imagestoreclone:0 allocation score on node2: 1 native_color: imagestoreclone:1 allocation score on node1: 1 -native_color: imagestoreclone:1 allocation score on node2: 0 +native_color: imagestoreclone:1 allocation score on node2: -INFINITY native_color: sles10 allocation score on node1: -INFINITY native_color: sles10 allocation score on node2: -INFINITY -native_color: stonithclone:0 allocation score on node1: -INFINITY +native_color: stonithclone:0 allocation score on node1: 0 native_color: stonithclone:0 allocation score on node2: 1 native_color: stonithclone:1 allocation score on node1: 1 -native_color: stonithclone:1 allocation score on node2: 0 +native_color: stonithclone:1 allocation score on node2: -INFINITY diff --git a/pengine/test10/one-or-more-unrunnnable-instances.scores b/pengine/test10/one-or-more-unrunnnable-instances.scores index dfa1112..59230f1 100644 --- a/pengine/test10/one-or-more-unrunnnable-instances.scores +++ b/pengine/test10/one-or-more-unrunnnable-instances.scores @@ -2319,18 +2319,18 @@ native_color: galera:0 allocation score on mrg-07: -INFINITY native_color: galera:0 allocation score on mrg-08: -INFINITY native_color: galera:0 allocation score on mrg-09: -INFINITY native_color: galera:0 allocation score on rdo7-node1: 101 -native_color: galera:0 allocation score on rdo7-node2: -INFINITY -native_color: galera:0 allocation score on rdo7-node3: -INFINITY +native_color: galera:0 allocation score on rdo7-node2: 0 +native_color: galera:0 allocation score on rdo7-node3: 0 native_color: galera:1 allocation score on mrg-07: -INFINITY native_color: galera:1 allocation score on mrg-08: -INFINITY native_color: galera:1 allocation score on mrg-09: -INFINITY -native_color: galera:1 allocation score on rdo7-node1: 0 +native_color: galera:1 allocation score on rdo7-node1: -INFINITY native_color: galera:1 allocation score on rdo7-node2: 101 native_color: galera:1 allocation score on rdo7-node3: 0 native_color: galera:2 allocation score on mrg-07: -INFINITY native_color: galera:2 allocation score on mrg-08: -INFINITY native_color: galera:2 allocation score on mrg-09: -INFINITY -native_color: galera:2 allocation score on rdo7-node1: 0 +native_color: galera:2 allocation score on rdo7-node1: -INFINITY native_color: galera:2 allocation score on rdo7-node2: -INFINITY native_color: galera:2 allocation score on rdo7-node3: 101 native_color: galera:3 allocation score on mrg-07: -INFINITY @@ -2391,18 +2391,18 @@ native_color: glance-fs:0 allocation score on mrg-07: -INFINITY native_color: glance-fs:0 allocation score on mrg-08: -INFINITY native_color: glance-fs:0 allocation score on mrg-09: -INFINITY native_color: glance-fs:0 allocation score on rdo7-node1: 1 -native_color: glance-fs:0 allocation score on rdo7-node2: -INFINITY -native_color: glance-fs:0 allocation score on rdo7-node3: -INFINITY +native_color: glance-fs:0 allocation score on rdo7-node2: 0 +native_color: glance-fs:0 allocation score on rdo7-node3: 0 native_color: glance-fs:1 allocation score on mrg-07: -INFINITY native_color: glance-fs:1 allocation score on mrg-08: -INFINITY native_color: glance-fs:1 allocation score on mrg-09: -INFINITY -native_color: glance-fs:1 allocation score on rdo7-node1: 0 +native_color: glance-fs:1 allocation score on rdo7-node1: -INFINITY native_color: glance-fs:1 allocation score on rdo7-node2: 1 native_color: glance-fs:1 allocation score on rdo7-node3: 0 native_color: glance-fs:2 allocation score on mrg-07: -INFINITY native_color: glance-fs:2 allocation score on mrg-08: -INFINITY native_color: glance-fs:2 allocation score on mrg-09: -INFINITY -native_color: glance-fs:2 allocation score on rdo7-node1: 0 +native_color: glance-fs:2 allocation score on rdo7-node1: -INFINITY native_color: glance-fs:2 allocation score on rdo7-node2: -INFINITY native_color: glance-fs:2 allocation score on rdo7-node3: 1 native_color: glance-fs:3 allocation score on mrg-07: -INFINITY @@ -2607,18 +2607,18 @@ native_color: horizon:0 allocation score on mrg-07: -INFINITY native_color: horizon:0 allocation score on mrg-08: -INFINITY native_color: horizon:0 allocation score on mrg-09: -INFINITY native_color: horizon:0 allocation score on rdo7-node1: 1 -native_color: horizon:0 allocation score on rdo7-node2: -INFINITY -native_color: horizon:0 allocation score on rdo7-node3: -INFINITY +native_color: horizon:0 allocation score on rdo7-node2: 0 +native_color: horizon:0 allocation score on rdo7-node3: 0 native_color: horizon:1 allocation score on mrg-07: -INFINITY native_color: horizon:1 allocation score on mrg-08: -INFINITY native_color: horizon:1 allocation score on mrg-09: -INFINITY -native_color: horizon:1 allocation score on rdo7-node1: 0 +native_color: horizon:1 allocation score on rdo7-node1: -INFINITY native_color: horizon:1 allocation score on rdo7-node2: 1 native_color: horizon:1 allocation score on rdo7-node3: 0 native_color: horizon:2 allocation score on mrg-07: -INFINITY native_color: horizon:2 allocation score on mrg-08: -INFINITY native_color: horizon:2 allocation score on mrg-09: -INFINITY -native_color: horizon:2 allocation score on rdo7-node1: 0 +native_color: horizon:2 allocation score on rdo7-node1: -INFINITY native_color: horizon:2 allocation score on rdo7-node2: -INFINITY native_color: horizon:2 allocation score on rdo7-node3: 1 native_color: horizon:3 allocation score on mrg-07: -INFINITY @@ -2751,18 +2751,18 @@ native_color: memcached:0 allocation score on mrg-07: -INFINITY native_color: memcached:0 allocation score on mrg-08: -INFINITY native_color: memcached:0 allocation score on mrg-09: -INFINITY native_color: memcached:0 allocation score on rdo7-node1: 1 -native_color: memcached:0 allocation score on rdo7-node2: -INFINITY -native_color: memcached:0 allocation score on rdo7-node3: -INFINITY +native_color: memcached:0 allocation score on rdo7-node2: 0 +native_color: memcached:0 allocation score on rdo7-node3: 0 native_color: memcached:1 allocation score on mrg-07: -INFINITY native_color: memcached:1 allocation score on mrg-08: -INFINITY native_color: memcached:1 allocation score on mrg-09: -INFINITY -native_color: memcached:1 allocation score on rdo7-node1: 0 +native_color: memcached:1 allocation score on rdo7-node1: -INFINITY native_color: memcached:1 allocation score on rdo7-node2: 1 native_color: memcached:1 allocation score on rdo7-node3: 0 native_color: memcached:2 allocation score on mrg-07: -INFINITY native_color: memcached:2 allocation score on mrg-08: -INFINITY native_color: memcached:2 allocation score on mrg-09: -INFINITY -native_color: memcached:2 allocation score on rdo7-node1: 0 +native_color: memcached:2 allocation score on rdo7-node1: -INFINITY native_color: memcached:2 allocation score on rdo7-node2: -INFINITY native_color: memcached:2 allocation score on rdo7-node3: 1 native_color: memcached:3 allocation score on mrg-07: -INFINITY @@ -2787,18 +2787,18 @@ native_color: mongodb:0 allocation score on mrg-07: -INFINITY native_color: mongodb:0 allocation score on mrg-08: -INFINITY native_color: mongodb:0 allocation score on mrg-09: -INFINITY native_color: mongodb:0 allocation score on rdo7-node1: 1 -native_color: mongodb:0 allocation score on rdo7-node2: -INFINITY -native_color: mongodb:0 allocation score on rdo7-node3: -INFINITY +native_color: mongodb:0 allocation score on rdo7-node2: 0 +native_color: mongodb:0 allocation score on rdo7-node3: 0 native_color: mongodb:1 allocation score on mrg-07: -INFINITY native_color: mongodb:1 allocation score on mrg-08: -INFINITY native_color: mongodb:1 allocation score on mrg-09: -INFINITY -native_color: mongodb:1 allocation score on rdo7-node1: 0 +native_color: mongodb:1 allocation score on rdo7-node1: -INFINITY native_color: mongodb:1 allocation score on rdo7-node2: 1 native_color: mongodb:1 allocation score on rdo7-node3: 0 native_color: mongodb:2 allocation score on mrg-07: -INFINITY native_color: mongodb:2 allocation score on mrg-08: -INFINITY native_color: mongodb:2 allocation score on mrg-09: -INFINITY -native_color: mongodb:2 allocation score on rdo7-node1: 0 +native_color: mongodb:2 allocation score on rdo7-node1: -INFINITY native_color: mongodb:2 allocation score on rdo7-node2: -INFINITY native_color: mongodb:2 allocation score on rdo7-node3: 1 native_color: mongodb:3 allocation score on mrg-07: -INFINITY @@ -3363,18 +3363,18 @@ native_color: rabbitmq-server:0 allocation score on mrg-07: -INFINITY native_color: rabbitmq-server:0 allocation score on mrg-08: -INFINITY native_color: rabbitmq-server:0 allocation score on mrg-09: -INFINITY native_color: rabbitmq-server:0 allocation score on rdo7-node1: 1 -native_color: rabbitmq-server:0 allocation score on rdo7-node2: -INFINITY -native_color: rabbitmq-server:0 allocation score on rdo7-node3: -INFINITY +native_color: rabbitmq-server:0 allocation score on rdo7-node2: 0 +native_color: rabbitmq-server:0 allocation score on rdo7-node3: 0 native_color: rabbitmq-server:1 allocation score on mrg-07: -INFINITY native_color: rabbitmq-server:1 allocation score on mrg-08: -INFINITY native_color: rabbitmq-server:1 allocation score on mrg-09: -INFINITY -native_color: rabbitmq-server:1 allocation score on rdo7-node1: 0 +native_color: rabbitmq-server:1 allocation score on rdo7-node1: -INFINITY native_color: rabbitmq-server:1 allocation score on rdo7-node2: 1 native_color: rabbitmq-server:1 allocation score on rdo7-node3: 0 native_color: rabbitmq-server:2 allocation score on mrg-07: -INFINITY native_color: rabbitmq-server:2 allocation score on mrg-08: -INFINITY native_color: rabbitmq-server:2 allocation score on mrg-09: -INFINITY -native_color: rabbitmq-server:2 allocation score on rdo7-node1: 0 +native_color: rabbitmq-server:2 allocation score on rdo7-node1: -INFINITY native_color: rabbitmq-server:2 allocation score on rdo7-node2: -INFINITY native_color: rabbitmq-server:2 allocation score on rdo7-node3: 1 native_color: rabbitmq-server:3 allocation score on mrg-07: -INFINITY @@ -3508,18 +3508,18 @@ native_color: swift-fs:0 allocation score on mrg-08: -INFINITY native_color: swift-fs:0 allocation score on mrg-09: -INFINITY native_color: swift-fs:0 allocation score on rdo7-node1: 1 native_color: swift-fs:0 allocation score on rdo7-node2: 0 -native_color: swift-fs:0 allocation score on rdo7-node3: -INFINITY +native_color: swift-fs:0 allocation score on rdo7-node3: 0 native_color: swift-fs:1 allocation score on mrg-07: -INFINITY native_color: swift-fs:1 allocation score on mrg-08: -INFINITY native_color: swift-fs:1 allocation score on mrg-09: -INFINITY native_color: swift-fs:1 allocation score on rdo7-node1: -INFINITY native_color: swift-fs:1 allocation score on rdo7-node2: 1 -native_color: swift-fs:1 allocation score on rdo7-node3: -INFINITY +native_color: swift-fs:1 allocation score on rdo7-node3: 0 native_color: swift-fs:2 allocation score on mrg-07: -INFINITY native_color: swift-fs:2 allocation score on mrg-08: -INFINITY native_color: swift-fs:2 allocation score on mrg-09: -INFINITY -native_color: swift-fs:2 allocation score on rdo7-node1: 0 -native_color: swift-fs:2 allocation score on rdo7-node2: 0 +native_color: swift-fs:2 allocation score on rdo7-node1: -INFINITY +native_color: swift-fs:2 allocation score on rdo7-node2: -INFINITY native_color: swift-fs:2 allocation score on rdo7-node3: 1 native_color: swift-fs:3 allocation score on mrg-07: -INFINITY native_color: swift-fs:3 allocation score on mrg-08: -INFINITY diff --git a/pengine/test10/params-6.scores b/pengine/test10/params-6.scores index 4a91ebf..76b9a20 100644 --- a/pengine/test10/params-6.scores +++ b/pengine/test10/params-6.scores @@ -827,14 +827,14 @@ native_color: dist.express-consult.org-vm allocation score on v03-b: -INFINITY native_color: dist.fly-uni.org-vm allocation score on mgmt01: -INFINITY native_color: dist.fly-uni.org-vm allocation score on v03-a: -INFINITY native_color: dist.fly-uni.org-vm allocation score on v03-b: -INFINITY -native_color: dlm:0 allocation score on mgmt01: -INFINITY +native_color: dlm:0 allocation score on mgmt01: 0 native_color: dlm:0 allocation score on v03-a: 1 -native_color: dlm:0 allocation score on v03-b: -INFINITY +native_color: dlm:0 allocation score on v03-b: 0 native_color: dlm:1 allocation score on mgmt01: 1 -native_color: dlm:1 allocation score on v03-a: 0 +native_color: dlm:1 allocation score on v03-a: -INFINITY native_color: dlm:1 allocation score on v03-b: 0 native_color: dlm:2 allocation score on mgmt01: -INFINITY -native_color: dlm:2 allocation score on v03-a: 0 +native_color: dlm:2 allocation score on v03-a: -INFINITY native_color: dlm:2 allocation score on v03-b: 1 native_color: dlm:3 allocation score on mgmt01: -INFINITY native_color: dlm:3 allocation score on v03-a: -INFINITY @@ -869,14 +869,14 @@ native_color: git.vds-ok.com-vm allocation score on v03-b: -INFINITY native_color: gotin-bbb-vm allocation score on mgmt01: -INFINITY native_color: gotin-bbb-vm allocation score on v03-a: -INFINITY native_color: gotin-bbb-vm allocation score on v03-b: -INFINITY -native_color: iscsid:0 allocation score on mgmt01: -INFINITY +native_color: iscsid:0 allocation score on mgmt01: 0 native_color: iscsid:0 allocation score on v03-a: 1 -native_color: iscsid:0 allocation score on v03-b: -INFINITY +native_color: iscsid:0 allocation score on v03-b: 0 native_color: iscsid:1 allocation score on mgmt01: 1 -native_color: iscsid:1 allocation score on v03-a: 0 +native_color: iscsid:1 allocation score on v03-a: -INFINITY native_color: iscsid:1 allocation score on v03-b: 0 native_color: iscsid:2 allocation score on mgmt01: -INFINITY -native_color: iscsid:2 allocation score on v03-a: 0 +native_color: iscsid:2 allocation score on v03-a: -INFINITY native_color: iscsid:2 allocation score on v03-b: 1 native_color: iscsid:3 allocation score on mgmt01: -INFINITY native_color: iscsid:3 allocation score on v03-a: -INFINITY @@ -899,14 +899,14 @@ native_color: iscsid:8 allocation score on v03-b: -INFINITY native_color: lenny-x32-devel-vm allocation score on mgmt01: -INFINITY native_color: lenny-x32-devel-vm allocation score on v03-a: 0 native_color: lenny-x32-devel-vm allocation score on v03-b: 0 -native_color: libvirt-images-fs:0 allocation score on mgmt01: -INFINITY +native_color: libvirt-images-fs:0 allocation score on mgmt01: 0 native_color: libvirt-images-fs:0 allocation score on v03-a: 1 -native_color: libvirt-images-fs:0 allocation score on v03-b: -INFINITY +native_color: libvirt-images-fs:0 allocation score on v03-b: 0 native_color: libvirt-images-fs:1 allocation score on mgmt01: 1 -native_color: libvirt-images-fs:1 allocation score on v03-a: 0 +native_color: libvirt-images-fs:1 allocation score on v03-a: -INFINITY native_color: libvirt-images-fs:1 allocation score on v03-b: 0 native_color: libvirt-images-fs:2 allocation score on mgmt01: -INFINITY -native_color: libvirt-images-fs:2 allocation score on v03-a: 0 +native_color: libvirt-images-fs:2 allocation score on v03-a: -INFINITY native_color: libvirt-images-fs:2 allocation score on v03-b: 1 native_color: libvirt-images-fs:3 allocation score on mgmt01: -INFINITY native_color: libvirt-images-fs:3 allocation score on v03-a: -INFINITY @@ -950,14 +950,14 @@ native_color: libvirt-images-pool:6 allocation score on v03-b: -INFINITY native_color: libvirt-images-pool:7 allocation score on mgmt01: -INFINITY native_color: libvirt-images-pool:7 allocation score on v03-a: -INFINITY native_color: libvirt-images-pool:7 allocation score on v03-b: -INFINITY -native_color: libvirt-install-fs:0 allocation score on mgmt01: -INFINITY +native_color: libvirt-install-fs:0 allocation score on mgmt01: 0 native_color: libvirt-install-fs:0 allocation score on v03-a: 1 -native_color: libvirt-install-fs:0 allocation score on v03-b: -INFINITY +native_color: libvirt-install-fs:0 allocation score on v03-b: 0 native_color: libvirt-install-fs:1 allocation score on mgmt01: 1 -native_color: libvirt-install-fs:1 allocation score on v03-a: 0 +native_color: libvirt-install-fs:1 allocation score on v03-a: -INFINITY native_color: libvirt-install-fs:1 allocation score on v03-b: 0 native_color: libvirt-install-fs:2 allocation score on mgmt01: -INFINITY -native_color: libvirt-install-fs:2 allocation score on v03-a: 0 +native_color: libvirt-install-fs:2 allocation score on v03-a: -INFINITY native_color: libvirt-install-fs:2 allocation score on v03-b: 1 native_color: libvirt-install-fs:3 allocation score on mgmt01: -INFINITY native_color: libvirt-install-fs:3 allocation score on v03-a: -INFINITY @@ -1055,14 +1055,14 @@ native_color: mcast-test-net:7 allocation score on v03-b: -INFINITY native_color: metae.ru-vm allocation score on mgmt01: -INFINITY native_color: metae.ru-vm allocation score on v03-a: -INFINITY native_color: metae.ru-vm allocation score on v03-b: -INFINITY -native_color: multipathd:0 allocation score on mgmt01: -INFINITY +native_color: multipathd:0 allocation score on mgmt01: 0 native_color: multipathd:0 allocation score on v03-a: 1 -native_color: multipathd:0 allocation score on v03-b: -INFINITY +native_color: multipathd:0 allocation score on v03-b: 0 native_color: multipathd:1 allocation score on mgmt01: 1 -native_color: multipathd:1 allocation score on v03-a: 0 +native_color: multipathd:1 allocation score on v03-a: -INFINITY native_color: multipathd:1 allocation score on v03-b: 0 native_color: multipathd:2 allocation score on mgmt01: -INFINITY -native_color: multipathd:2 allocation score on v03-a: 0 +native_color: multipathd:2 allocation score on v03-a: -INFINITY native_color: multipathd:2 allocation score on v03-b: 1 native_color: multipathd:3 allocation score on mgmt01: -INFINITY native_color: multipathd:3 allocation score on v03-a: -INFINITY @@ -1084,9 +1084,9 @@ native_color: multipathd:8 allocation score on v03-a: -INFINITY native_color: multipathd:8 allocation score on v03-b: -INFINITY native_color: node-params:0 allocation score on mgmt01: -INFINITY native_color: node-params:0 allocation score on v03-a: 1 -native_color: node-params:0 allocation score on v03-b: -INFINITY +native_color: node-params:0 allocation score on v03-b: 0 native_color: node-params:1 allocation score on mgmt01: -INFINITY -native_color: node-params:1 allocation score on v03-a: 0 +native_color: node-params:1 allocation score on v03-a: -INFINITY native_color: node-params:1 allocation score on v03-b: 1 native_color: node-params:2 allocation score on mgmt01: -INFINITY native_color: node-params:2 allocation score on v03-a: -INFINITY @@ -1351,9 +1351,9 @@ native_color: vds-ok-pool-1-vg:8 allocation score on v03-a: -INFINITY native_color: vds-ok-pool-1-vg:8 allocation score on v03-b: -INFINITY native_color: vlan1-if:0 allocation score on mgmt01: -INFINITY native_color: vlan1-if:0 allocation score on v03-a: 1 -native_color: vlan1-if:0 allocation score on v03-b: -INFINITY +native_color: vlan1-if:0 allocation score on v03-b: 0 native_color: vlan1-if:1 allocation score on mgmt01: -INFINITY -native_color: vlan1-if:1 allocation score on v03-a: 0 +native_color: vlan1-if:1 allocation score on v03-a: -INFINITY native_color: vlan1-if:1 allocation score on v03-b: 1 native_color: vlan1-if:2 allocation score on mgmt01: -INFINITY native_color: vlan1-if:2 allocation score on v03-a: -INFINITY @@ -1375,9 +1375,9 @@ native_color: vlan1-if:7 allocation score on v03-a: -INFINITY native_color: vlan1-if:7 allocation score on v03-b: -INFINITY native_color: vlan101-if:0 allocation score on mgmt01: -INFINITY native_color: vlan101-if:0 allocation score on v03-a: 1 -native_color: vlan101-if:0 allocation score on v03-b: -INFINITY +native_color: vlan101-if:0 allocation score on v03-b: 0 native_color: vlan101-if:1 allocation score on mgmt01: -INFINITY -native_color: vlan101-if:1 allocation score on v03-a: 0 +native_color: vlan101-if:1 allocation score on v03-a: -INFINITY native_color: vlan101-if:1 allocation score on v03-b: 1 native_color: vlan101-if:2 allocation score on mgmt01: -INFINITY native_color: vlan101-if:2 allocation score on v03-a: -INFINITY @@ -1399,9 +1399,9 @@ native_color: vlan101-if:7 allocation score on v03-a: -INFINITY native_color: vlan101-if:7 allocation score on v03-b: -INFINITY native_color: vlan102-if:0 allocation score on mgmt01: -INFINITY native_color: vlan102-if:0 allocation score on v03-a: 1 -native_color: vlan102-if:0 allocation score on v03-b: -INFINITY +native_color: vlan102-if:0 allocation score on v03-b: 0 native_color: vlan102-if:1 allocation score on mgmt01: -INFINITY -native_color: vlan102-if:1 allocation score on v03-a: 0 +native_color: vlan102-if:1 allocation score on v03-a: -INFINITY native_color: vlan102-if:1 allocation score on v03-b: 1 native_color: vlan102-if:2 allocation score on mgmt01: -INFINITY native_color: vlan102-if:2 allocation score on v03-a: -INFINITY @@ -1423,9 +1423,9 @@ native_color: vlan102-if:7 allocation score on v03-a: -INFINITY native_color: vlan102-if:7 allocation score on v03-b: -INFINITY native_color: vlan103-if:0 allocation score on mgmt01: -INFINITY native_color: vlan103-if:0 allocation score on v03-a: 1 -native_color: vlan103-if:0 allocation score on v03-b: -INFINITY +native_color: vlan103-if:0 allocation score on v03-b: 0 native_color: vlan103-if:1 allocation score on mgmt01: -INFINITY -native_color: vlan103-if:1 allocation score on v03-a: 0 +native_color: vlan103-if:1 allocation score on v03-a: -INFINITY native_color: vlan103-if:1 allocation score on v03-b: 1 native_color: vlan103-if:2 allocation score on mgmt01: -INFINITY native_color: vlan103-if:2 allocation score on v03-a: -INFINITY @@ -1447,9 +1447,9 @@ native_color: vlan103-if:7 allocation score on v03-a: -INFINITY native_color: vlan103-if:7 allocation score on v03-b: -INFINITY native_color: vlan104-if:0 allocation score on mgmt01: -INFINITY native_color: vlan104-if:0 allocation score on v03-a: 1 -native_color: vlan104-if:0 allocation score on v03-b: -INFINITY +native_color: vlan104-if:0 allocation score on v03-b: 0 native_color: vlan104-if:1 allocation score on mgmt01: -INFINITY -native_color: vlan104-if:1 allocation score on v03-a: 0 +native_color: vlan104-if:1 allocation score on v03-a: -INFINITY native_color: vlan104-if:1 allocation score on v03-b: 1 native_color: vlan104-if:2 allocation score on mgmt01: -INFINITY native_color: vlan104-if:2 allocation score on v03-a: -INFINITY @@ -1495,9 +1495,9 @@ native_color: vlan200-if:7 allocation score on v03-a: -INFINITY native_color: vlan200-if:7 allocation score on v03-b: -INFINITY native_color: vlan3-if:0 allocation score on mgmt01: -INFINITY native_color: vlan3-if:0 allocation score on v03-a: 1 -native_color: vlan3-if:0 allocation score on v03-b: -INFINITY +native_color: vlan3-if:0 allocation score on v03-b: 0 native_color: vlan3-if:1 allocation score on mgmt01: -INFINITY -native_color: vlan3-if:1 allocation score on v03-a: 0 +native_color: vlan3-if:1 allocation score on v03-a: -INFINITY native_color: vlan3-if:1 allocation score on v03-b: 1 native_color: vlan3-if:2 allocation score on mgmt01: -INFINITY native_color: vlan3-if:2 allocation score on v03-a: -INFINITY @@ -1519,9 +1519,9 @@ native_color: vlan3-if:7 allocation score on v03-a: -INFINITY native_color: vlan3-if:7 allocation score on v03-b: -INFINITY native_color: vlan4-if:0 allocation score on mgmt01: -INFINITY native_color: vlan4-if:0 allocation score on v03-a: 1 -native_color: vlan4-if:0 allocation score on v03-b: -INFINITY +native_color: vlan4-if:0 allocation score on v03-b: 0 native_color: vlan4-if:1 allocation score on mgmt01: -INFINITY -native_color: vlan4-if:1 allocation score on v03-a: 0 +native_color: vlan4-if:1 allocation score on v03-a: -INFINITY native_color: vlan4-if:1 allocation score on v03-b: 1 native_color: vlan4-if:2 allocation score on mgmt01: -INFINITY native_color: vlan4-if:2 allocation score on v03-a: -INFINITY @@ -1543,9 +1543,9 @@ native_color: vlan4-if:7 allocation score on v03-a: -INFINITY native_color: vlan4-if:7 allocation score on v03-b: -INFINITY native_color: vlan5-if:0 allocation score on mgmt01: -INFINITY native_color: vlan5-if:0 allocation score on v03-a: 1 -native_color: vlan5-if:0 allocation score on v03-b: -INFINITY +native_color: vlan5-if:0 allocation score on v03-b: 0 native_color: vlan5-if:1 allocation score on mgmt01: -INFINITY -native_color: vlan5-if:1 allocation score on v03-a: 0 +native_color: vlan5-if:1 allocation score on v03-a: -INFINITY native_color: vlan5-if:1 allocation score on v03-b: 1 native_color: vlan5-if:2 allocation score on mgmt01: -INFINITY native_color: vlan5-if:2 allocation score on v03-a: -INFINITY @@ -1567,9 +1567,9 @@ native_color: vlan5-if:7 allocation score on v03-a: -INFINITY native_color: vlan5-if:7 allocation score on v03-b: -INFINITY native_color: vlan900-if:0 allocation score on mgmt01: -INFINITY native_color: vlan900-if:0 allocation score on v03-a: 1 -native_color: vlan900-if:0 allocation score on v03-b: -INFINITY +native_color: vlan900-if:0 allocation score on v03-b: 0 native_color: vlan900-if:1 allocation score on mgmt01: -INFINITY -native_color: vlan900-if:1 allocation score on v03-a: 0 +native_color: vlan900-if:1 allocation score on v03-a: -INFINITY native_color: vlan900-if:1 allocation score on v03-b: 1 native_color: vlan900-if:2 allocation score on mgmt01: -INFINITY native_color: vlan900-if:2 allocation score on v03-a: -INFINITY @@ -1591,9 +1591,9 @@ native_color: vlan900-if:7 allocation score on v03-a: -INFINITY native_color: vlan900-if:7 allocation score on v03-b: -INFINITY native_color: vlan909-if:0 allocation score on mgmt01: -INFINITY native_color: vlan909-if:0 allocation score on v03-a: 1 -native_color: vlan909-if:0 allocation score on v03-b: -INFINITY +native_color: vlan909-if:0 allocation score on v03-b: 0 native_color: vlan909-if:1 allocation score on mgmt01: -INFINITY -native_color: vlan909-if:1 allocation score on v03-a: 0 +native_color: vlan909-if:1 allocation score on v03-a: -INFINITY native_color: vlan909-if:1 allocation score on v03-b: 1 native_color: vlan909-if:2 allocation score on mgmt01: -INFINITY native_color: vlan909-if:2 allocation score on v03-a: -INFINITY diff --git a/pengine/test10/probe-0.scores b/pengine/test10/probe-0.scores index 078cc6c..b37b1a9 100644 --- a/pengine/test10/probe-0.scores +++ b/pengine/test10/probe-0.scores @@ -21,11 +21,11 @@ native_color: configstoreclone:0 allocation score on x32c47: 0 native_color: configstoreclone:0 allocation score on x32c48: 0 native_color: configstoreclone:1 allocation score on x32c47: -INFINITY native_color: configstoreclone:1 allocation score on x32c48: 0 -native_color: imagestoreclone:0 allocation score on x32c47: -INFINITY +native_color: imagestoreclone:0 allocation score on x32c47: 0 native_color: imagestoreclone:0 allocation score on x32c48: 1 native_color: imagestoreclone:1 allocation score on x32c47: 1 -native_color: imagestoreclone:1 allocation score on x32c48: 0 -native_color: stonithclone:0 allocation score on x32c47: -INFINITY +native_color: imagestoreclone:1 allocation score on x32c48: -INFINITY +native_color: stonithclone:0 allocation score on x32c47: 0 native_color: stonithclone:0 allocation score on x32c48: 1 native_color: stonithclone:1 allocation score on x32c47: 1 -native_color: stonithclone:1 allocation score on x32c48: 0 +native_color: stonithclone:1 allocation score on x32c48: -INFINITY diff --git a/pengine/test10/probe-3.scores b/pengine/test10/probe-3.scores index 048abff..6f1539c 100644 --- a/pengine/test10/probe-3.scores +++ b/pengine/test10/probe-3.scores @@ -76,14 +76,14 @@ group_color: r192.168.101.183 allocation score on pcmk-2: 0 group_color: r192.168.101.183 allocation score on pcmk-3: 0 group_color: r192.168.101.183 allocation score on pcmk-4: 0 native_color: FencingChild:0 allocation score on pcmk-1: 1 -native_color: FencingChild:0 allocation score on pcmk-2: -INFINITY -native_color: FencingChild:0 allocation score on pcmk-3: -INFINITY +native_color: FencingChild:0 allocation score on pcmk-2: 0 +native_color: FencingChild:0 allocation score on pcmk-3: 0 native_color: FencingChild:0 allocation score on pcmk-4: -INFINITY -native_color: FencingChild:1 allocation score on pcmk-1: 0 +native_color: FencingChild:1 allocation score on pcmk-1: -INFINITY native_color: FencingChild:1 allocation score on pcmk-2: 1 native_color: FencingChild:1 allocation score on pcmk-3: 0 native_color: FencingChild:1 allocation score on pcmk-4: -INFINITY -native_color: FencingChild:2 allocation score on pcmk-1: 0 +native_color: FencingChild:2 allocation score on pcmk-1: -INFINITY native_color: FencingChild:2 allocation score on pcmk-2: -INFINITY native_color: FencingChild:2 allocation score on pcmk-3: 1 native_color: FencingChild:2 allocation score on pcmk-4: -INFINITY @@ -100,14 +100,14 @@ native_color: migrator allocation score on pcmk-2: 0 native_color: migrator allocation score on pcmk-3: 0 native_color: migrator allocation score on pcmk-4: 0 native_color: ping-1:0 allocation score on pcmk-1: 1 -native_color: ping-1:0 allocation score on pcmk-2: -INFINITY -native_color: ping-1:0 allocation score on pcmk-3: -INFINITY +native_color: ping-1:0 allocation score on pcmk-2: 0 +native_color: ping-1:0 allocation score on pcmk-3: 0 native_color: ping-1:0 allocation score on pcmk-4: -INFINITY -native_color: ping-1:1 allocation score on pcmk-1: 0 +native_color: ping-1:1 allocation score on pcmk-1: -INFINITY native_color: ping-1:1 allocation score on pcmk-2: 1 native_color: ping-1:1 allocation score on pcmk-3: 0 native_color: ping-1:1 allocation score on pcmk-4: -INFINITY -native_color: ping-1:2 allocation score on pcmk-1: 0 +native_color: ping-1:2 allocation score on pcmk-1: -INFINITY native_color: ping-1:2 allocation score on pcmk-2: -INFINITY native_color: ping-1:2 allocation score on pcmk-3: 1 native_color: ping-1:2 allocation score on pcmk-4: -INFINITY diff --git a/pengine/test10/probe-4.scores b/pengine/test10/probe-4.scores index 048abff..6f1539c 100644 --- a/pengine/test10/probe-4.scores +++ b/pengine/test10/probe-4.scores @@ -76,14 +76,14 @@ group_color: r192.168.101.183 allocation score on pcmk-2: 0 group_color: r192.168.101.183 allocation score on pcmk-3: 0 group_color: r192.168.101.183 allocation score on pcmk-4: 0 native_color: FencingChild:0 allocation score on pcmk-1: 1 -native_color: FencingChild:0 allocation score on pcmk-2: -INFINITY -native_color: FencingChild:0 allocation score on pcmk-3: -INFINITY +native_color: FencingChild:0 allocation score on pcmk-2: 0 +native_color: FencingChild:0 allocation score on pcmk-3: 0 native_color: FencingChild:0 allocation score on pcmk-4: -INFINITY -native_color: FencingChild:1 allocation score on pcmk-1: 0 +native_color: FencingChild:1 allocation score on pcmk-1: -INFINITY native_color: FencingChild:1 allocation score on pcmk-2: 1 native_color: FencingChild:1 allocation score on pcmk-3: 0 native_color: FencingChild:1 allocation score on pcmk-4: -INFINITY -native_color: FencingChild:2 allocation score on pcmk-1: 0 +native_color: FencingChild:2 allocation score on pcmk-1: -INFINITY native_color: FencingChild:2 allocation score on pcmk-2: -INFINITY native_color: FencingChild:2 allocation score on pcmk-3: 1 native_color: FencingChild:2 allocation score on pcmk-4: -INFINITY @@ -100,14 +100,14 @@ native_color: migrator allocation score on pcmk-2: 0 native_color: migrator allocation score on pcmk-3: 0 native_color: migrator allocation score on pcmk-4: 0 native_color: ping-1:0 allocation score on pcmk-1: 1 -native_color: ping-1:0 allocation score on pcmk-2: -INFINITY -native_color: ping-1:0 allocation score on pcmk-3: -INFINITY +native_color: ping-1:0 allocation score on pcmk-2: 0 +native_color: ping-1:0 allocation score on pcmk-3: 0 native_color: ping-1:0 allocation score on pcmk-4: -INFINITY -native_color: ping-1:1 allocation score on pcmk-1: 0 +native_color: ping-1:1 allocation score on pcmk-1: -INFINITY native_color: ping-1:1 allocation score on pcmk-2: 1 native_color: ping-1:1 allocation score on pcmk-3: 0 native_color: ping-1:1 allocation score on pcmk-4: -INFINITY -native_color: ping-1:2 allocation score on pcmk-1: 0 +native_color: ping-1:2 allocation score on pcmk-1: -INFINITY native_color: ping-1:2 allocation score on pcmk-2: -INFINITY native_color: ping-1:2 allocation score on pcmk-3: 1 native_color: ping-1:2 allocation score on pcmk-4: -INFINITY diff --git a/pengine/test10/rec-node-13.scores b/pengine/test10/rec-node-13.scores index 83749ea..dda1134 100644 --- a/pengine/test10/rec-node-13.scores +++ b/pengine/test10/rec-node-13.scores @@ -159,14 +159,14 @@ native_color: child_DoFencing:1 allocation score on c001n02: -INFINITY native_color: child_DoFencing:1 allocation score on c001n03: -INFINITY native_color: child_DoFencing:1 allocation score on c001n04: -INFINITY native_color: child_DoFencing:1 allocation score on c001n05: -INFINITY -native_color: child_DoFencing:1 allocation score on c001n06: -INFINITY +native_color: child_DoFencing:1 allocation score on c001n06: 0 native_color: child_DoFencing:1 allocation score on c001n07: 1 native_color: child_DoFencing:2 allocation score on c001n02: -INFINITY native_color: child_DoFencing:2 allocation score on c001n03: -INFINITY native_color: child_DoFencing:2 allocation score on c001n04: -INFINITY native_color: child_DoFencing:2 allocation score on c001n05: -INFINITY native_color: child_DoFencing:2 allocation score on c001n06: 1 -native_color: child_DoFencing:2 allocation score on c001n07: 0 +native_color: child_DoFencing:2 allocation score on c001n07: -INFINITY native_color: child_DoFencing:3 allocation score on c001n02: -INFINITY native_color: child_DoFencing:3 allocation score on c001n03: -INFINITY native_color: child_DoFencing:3 allocation score on c001n04: -INFINITY @@ -213,8 +213,8 @@ native_color: ocf_msdummy:0 allocation score on c001n02: 1001 native_color: ocf_msdummy:0 allocation score on c001n03: -INFINITY native_color: ocf_msdummy:0 allocation score on c001n04: -INFINITY native_color: ocf_msdummy:0 allocation score on c001n05: -INFINITY -native_color: ocf_msdummy:0 allocation score on c001n06: -INFINITY -native_color: ocf_msdummy:0 allocation score on c001n07: -INFINITY +native_color: ocf_msdummy:0 allocation score on c001n06: 0 +native_color: ocf_msdummy:0 allocation score on c001n07: 0 native_color: ocf_msdummy:1 allocation score on c001n02: -INFINITY native_color: ocf_msdummy:1 allocation score on c001n03: -INFINITY native_color: ocf_msdummy:1 allocation score on c001n04: -INFINITY @@ -231,7 +231,7 @@ native_color: ocf_msdummy:11 allocation score on c001n02: 0 native_color: ocf_msdummy:11 allocation score on c001n03: -INFINITY native_color: ocf_msdummy:11 allocation score on c001n04: -INFINITY native_color: ocf_msdummy:11 allocation score on c001n05: -INFINITY -native_color: ocf_msdummy:11 allocation score on c001n06: -INFINITY +native_color: ocf_msdummy:11 allocation score on c001n06: 0 native_color: ocf_msdummy:11 allocation score on c001n07: 1 native_color: ocf_msdummy:2 allocation score on c001n02: -INFINITY native_color: ocf_msdummy:2 allocation score on c001n03: -INFINITY @@ -249,8 +249,8 @@ native_color: ocf_msdummy:4 allocation score on c001n02: 1 native_color: ocf_msdummy:4 allocation score on c001n03: -INFINITY native_color: ocf_msdummy:4 allocation score on c001n04: -INFINITY native_color: ocf_msdummy:4 allocation score on c001n05: -INFINITY -native_color: ocf_msdummy:4 allocation score on c001n06: -INFINITY -native_color: ocf_msdummy:4 allocation score on c001n07: -INFINITY +native_color: ocf_msdummy:4 allocation score on c001n06: 0 +native_color: ocf_msdummy:4 allocation score on c001n07: 0 native_color: ocf_msdummy:5 allocation score on c001n02: -INFINITY native_color: ocf_msdummy:5 allocation score on c001n03: -INFINITY native_color: ocf_msdummy:5 allocation score on c001n04: -INFINITY @@ -269,13 +269,13 @@ native_color: ocf_msdummy:7 allocation score on c001n04: -INFINITY native_color: ocf_msdummy:7 allocation score on c001n05: -INFINITY native_color: ocf_msdummy:7 allocation score on c001n06: -INFINITY native_color: ocf_msdummy:7 allocation score on c001n07: -INFINITY -native_color: ocf_msdummy:8 allocation score on c001n02: 0 +native_color: ocf_msdummy:8 allocation score on c001n02: -INFINITY native_color: ocf_msdummy:8 allocation score on c001n03: -INFINITY native_color: ocf_msdummy:8 allocation score on c001n04: -INFINITY native_color: ocf_msdummy:8 allocation score on c001n05: -INFINITY native_color: ocf_msdummy:8 allocation score on c001n06: 1 native_color: ocf_msdummy:8 allocation score on c001n07: 0 -native_color: ocf_msdummy:9 allocation score on c001n02: 0 +native_color: ocf_msdummy:9 allocation score on c001n02: -INFINITY native_color: ocf_msdummy:9 allocation score on c001n03: -INFINITY native_color: ocf_msdummy:9 allocation score on c001n04: -INFINITY native_color: ocf_msdummy:9 allocation score on c001n05: -INFINITY diff --git a/pengine/test10/remote-orphaned.scores b/pengine/test10/remote-orphaned.scores index beab9e8..53b4ada 100644 --- a/pengine/test10/remote-orphaned.scores +++ b/pengine/test10/remote-orphaned.scores @@ -57,8 +57,8 @@ native_color: migrator allocation score on 18node2: 0 native_color: migrator allocation score on 18node3: 0 native_color: ping-1:0 allocation score on 18node1: 1 native_color: ping-1:0 allocation score on 18node2: -INFINITY -native_color: ping-1:0 allocation score on 18node3: -INFINITY -native_color: ping-1:1 allocation score on 18node1: 0 +native_color: ping-1:0 allocation score on 18node3: 0 +native_color: ping-1:1 allocation score on 18node1: -INFINITY native_color: ping-1:1 allocation score on 18node2: -INFINITY native_color: ping-1:1 allocation score on 18node3: 1 native_color: ping-1:2 allocation score on 18node1: -INFINITY @@ -85,9 +85,9 @@ native_color: rsc_18node3 allocation score on 18node2: 0 native_color: rsc_18node3 allocation score on 18node3: 100 native_color: stateful-1:0 allocation score on 18node1: 11 native_color: stateful-1:0 allocation score on 18node2: -INFINITY -native_color: stateful-1:0 allocation score on 18node3: -INFINITY +native_color: stateful-1:0 allocation score on 18node3: 0 native_color: stateful-1:0 allocation score on remote1: -INFINITY -native_color: stateful-1:1 allocation score on 18node1: 0 +native_color: stateful-1:1 allocation score on 18node1: -INFINITY native_color: stateful-1:1 allocation score on 18node2: -INFINITY native_color: stateful-1:1 allocation score on 18node3: 6 native_color: stateful-1:1 allocation score on remote1: -INFINITY diff --git a/pengine/test10/stonith-0.scores b/pengine/test10/stonith-0.scores index 9961589..7aab8cd 100644 --- a/pengine/test10/stonith-0.scores +++ b/pengine/test10/stonith-0.scores @@ -197,38 +197,38 @@ native_color: DcIPaddr allocation score on c001n07: -INFINITY native_color: DcIPaddr allocation score on c001n08: -INFINITY native_color: child_DoFencing:0 allocation score on c001n02: 1 native_color: child_DoFencing:0 allocation score on c001n03: -INFINITY -native_color: child_DoFencing:0 allocation score on c001n04: -INFINITY +native_color: child_DoFencing:0 allocation score on c001n04: 0 native_color: child_DoFencing:0 allocation score on c001n05: -INFINITY -native_color: child_DoFencing:0 allocation score on c001n06: -INFINITY -native_color: child_DoFencing:0 allocation score on c001n07: -INFINITY -native_color: child_DoFencing:0 allocation score on c001n08: -INFINITY -native_color: child_DoFencing:1 allocation score on c001n02: 0 +native_color: child_DoFencing:0 allocation score on c001n06: 0 +native_color: child_DoFencing:0 allocation score on c001n07: 0 +native_color: child_DoFencing:0 allocation score on c001n08: 0 +native_color: child_DoFencing:1 allocation score on c001n02: -INFINITY native_color: child_DoFencing:1 allocation score on c001n03: -INFINITY native_color: child_DoFencing:1 allocation score on c001n04: 1 native_color: child_DoFencing:1 allocation score on c001n05: -INFINITY native_color: child_DoFencing:1 allocation score on c001n06: 0 native_color: child_DoFencing:1 allocation score on c001n07: 0 -native_color: child_DoFencing:1 allocation score on c001n08: -INFINITY -native_color: child_DoFencing:2 allocation score on c001n02: 0 +native_color: child_DoFencing:1 allocation score on c001n08: 0 +native_color: child_DoFencing:2 allocation score on c001n02: -INFINITY native_color: child_DoFencing:2 allocation score on c001n03: -INFINITY native_color: child_DoFencing:2 allocation score on c001n04: -INFINITY native_color: child_DoFencing:2 allocation score on c001n05: -INFINITY native_color: child_DoFencing:2 allocation score on c001n06: 1 native_color: child_DoFencing:2 allocation score on c001n07: 0 -native_color: child_DoFencing:2 allocation score on c001n08: -INFINITY -native_color: child_DoFencing:3 allocation score on c001n02: 0 +native_color: child_DoFencing:2 allocation score on c001n08: 0 +native_color: child_DoFencing:3 allocation score on c001n02: -INFINITY native_color: child_DoFencing:3 allocation score on c001n03: -INFINITY native_color: child_DoFencing:3 allocation score on c001n04: -INFINITY native_color: child_DoFencing:3 allocation score on c001n05: -INFINITY native_color: child_DoFencing:3 allocation score on c001n06: -INFINITY native_color: child_DoFencing:3 allocation score on c001n07: 1 -native_color: child_DoFencing:3 allocation score on c001n08: -INFINITY -native_color: child_DoFencing:4 allocation score on c001n02: 0 +native_color: child_DoFencing:3 allocation score on c001n08: 0 +native_color: child_DoFencing:4 allocation score on c001n02: -INFINITY native_color: child_DoFencing:4 allocation score on c001n03: -INFINITY -native_color: child_DoFencing:4 allocation score on c001n04: 0 +native_color: child_DoFencing:4 allocation score on c001n04: -INFINITY native_color: child_DoFencing:4 allocation score on c001n05: -INFINITY -native_color: child_DoFencing:4 allocation score on c001n06: 0 -native_color: child_DoFencing:4 allocation score on c001n07: 0 +native_color: child_DoFencing:4 allocation score on c001n06: -INFINITY +native_color: child_DoFencing:4 allocation score on c001n07: -INFINITY native_color: child_DoFencing:4 allocation score on c001n08: 1 native_color: child_DoFencing:5 allocation score on c001n02: -INFINITY native_color: child_DoFencing:5 allocation score on c001n03: -INFINITY @@ -274,73 +274,73 @@ native_color: ocf_192.168.100.183 allocation score on c001n07: -INFINITY native_color: ocf_192.168.100.183 allocation score on c001n08: -INFINITY native_color: ocf_msdummy:0 allocation score on c001n02: 1001 native_color: ocf_msdummy:0 allocation score on c001n03: -INFINITY -native_color: ocf_msdummy:0 allocation score on c001n04: -INFINITY +native_color: ocf_msdummy:0 allocation score on c001n04: 0 native_color: ocf_msdummy:0 allocation score on c001n05: -INFINITY -native_color: ocf_msdummy:0 allocation score on c001n06: -INFINITY -native_color: ocf_msdummy:0 allocation score on c001n07: -INFINITY -native_color: ocf_msdummy:0 allocation score on c001n08: -INFINITY +native_color: ocf_msdummy:0 allocation score on c001n06: 0 +native_color: ocf_msdummy:0 allocation score on c001n07: 0 +native_color: ocf_msdummy:0 allocation score on c001n08: 0 native_color: ocf_msdummy:1 allocation score on c001n02: 1 native_color: ocf_msdummy:1 allocation score on c001n03: -INFINITY -native_color: ocf_msdummy:1 allocation score on c001n04: -INFINITY +native_color: ocf_msdummy:1 allocation score on c001n04: 0 native_color: ocf_msdummy:1 allocation score on c001n05: -INFINITY -native_color: ocf_msdummy:1 allocation score on c001n06: -INFINITY -native_color: ocf_msdummy:1 allocation score on c001n07: -INFINITY -native_color: ocf_msdummy:1 allocation score on c001n08: -INFINITY -native_color: ocf_msdummy:10 allocation score on c001n02: 0 +native_color: ocf_msdummy:1 allocation score on c001n06: 0 +native_color: ocf_msdummy:1 allocation score on c001n07: 0 +native_color: ocf_msdummy:1 allocation score on c001n08: 0 +native_color: ocf_msdummy:10 allocation score on c001n02: -INFINITY native_color: ocf_msdummy:10 allocation score on c001n03: -INFINITY native_color: ocf_msdummy:10 allocation score on c001n04: 1 native_color: ocf_msdummy:10 allocation score on c001n05: -INFINITY native_color: ocf_msdummy:10 allocation score on c001n06: 0 native_color: ocf_msdummy:10 allocation score on c001n07: 0 -native_color: ocf_msdummy:10 allocation score on c001n08: -INFINITY -native_color: ocf_msdummy:11 allocation score on c001n02: 0 +native_color: ocf_msdummy:10 allocation score on c001n08: 0 +native_color: ocf_msdummy:11 allocation score on c001n02: -INFINITY native_color: ocf_msdummy:11 allocation score on c001n03: -INFINITY native_color: ocf_msdummy:11 allocation score on c001n04: 1 native_color: ocf_msdummy:11 allocation score on c001n05: -INFINITY native_color: ocf_msdummy:11 allocation score on c001n06: 0 native_color: ocf_msdummy:11 allocation score on c001n07: 0 -native_color: ocf_msdummy:11 allocation score on c001n08: -INFINITY -native_color: ocf_msdummy:12 allocation score on c001n02: 0 +native_color: ocf_msdummy:11 allocation score on c001n08: 0 +native_color: ocf_msdummy:12 allocation score on c001n02: -INFINITY native_color: ocf_msdummy:12 allocation score on c001n03: -INFINITY native_color: ocf_msdummy:12 allocation score on c001n04: -INFINITY native_color: ocf_msdummy:12 allocation score on c001n05: -INFINITY native_color: ocf_msdummy:12 allocation score on c001n06: 1 native_color: ocf_msdummy:12 allocation score on c001n07: 0 -native_color: ocf_msdummy:12 allocation score on c001n08: -INFINITY -native_color: ocf_msdummy:13 allocation score on c001n02: 0 +native_color: ocf_msdummy:12 allocation score on c001n08: 0 +native_color: ocf_msdummy:13 allocation score on c001n02: -INFINITY native_color: ocf_msdummy:13 allocation score on c001n03: -INFINITY native_color: ocf_msdummy:13 allocation score on c001n04: -INFINITY native_color: ocf_msdummy:13 allocation score on c001n05: -INFINITY native_color: ocf_msdummy:13 allocation score on c001n06: 1 native_color: ocf_msdummy:13 allocation score on c001n07: 0 -native_color: ocf_msdummy:13 allocation score on c001n08: -INFINITY -native_color: ocf_msdummy:2 allocation score on c001n02: 0 +native_color: ocf_msdummy:13 allocation score on c001n08: 0 +native_color: ocf_msdummy:2 allocation score on c001n02: -INFINITY native_color: ocf_msdummy:2 allocation score on c001n03: -INFINITY native_color: ocf_msdummy:2 allocation score on c001n04: -INFINITY native_color: ocf_msdummy:2 allocation score on c001n05: -INFINITY native_color: ocf_msdummy:2 allocation score on c001n06: -INFINITY native_color: ocf_msdummy:2 allocation score on c001n07: 1 -native_color: ocf_msdummy:2 allocation score on c001n08: -INFINITY -native_color: ocf_msdummy:3 allocation score on c001n02: 0 +native_color: ocf_msdummy:2 allocation score on c001n08: 0 +native_color: ocf_msdummy:3 allocation score on c001n02: -INFINITY native_color: ocf_msdummy:3 allocation score on c001n03: -INFINITY native_color: ocf_msdummy:3 allocation score on c001n04: -INFINITY native_color: ocf_msdummy:3 allocation score on c001n05: -INFINITY native_color: ocf_msdummy:3 allocation score on c001n06: -INFINITY native_color: ocf_msdummy:3 allocation score on c001n07: 1 -native_color: ocf_msdummy:3 allocation score on c001n08: -INFINITY -native_color: ocf_msdummy:4 allocation score on c001n02: 0 +native_color: ocf_msdummy:3 allocation score on c001n08: 0 +native_color: ocf_msdummy:4 allocation score on c001n02: -INFINITY native_color: ocf_msdummy:4 allocation score on c001n03: -INFINITY -native_color: ocf_msdummy:4 allocation score on c001n04: 0 +native_color: ocf_msdummy:4 allocation score on c001n04: -INFINITY native_color: ocf_msdummy:4 allocation score on c001n05: -INFINITY -native_color: ocf_msdummy:4 allocation score on c001n06: 0 -native_color: ocf_msdummy:4 allocation score on c001n07: 0 +native_color: ocf_msdummy:4 allocation score on c001n06: -INFINITY +native_color: ocf_msdummy:4 allocation score on c001n07: -INFINITY native_color: ocf_msdummy:4 allocation score on c001n08: 1 -native_color: ocf_msdummy:5 allocation score on c001n02: 0 +native_color: ocf_msdummy:5 allocation score on c001n02: -INFINITY native_color: ocf_msdummy:5 allocation score on c001n03: -INFINITY -native_color: ocf_msdummy:5 allocation score on c001n04: 0 +native_color: ocf_msdummy:5 allocation score on c001n04: -INFINITY native_color: ocf_msdummy:5 allocation score on c001n05: -INFINITY -native_color: ocf_msdummy:5 allocation score on c001n06: 0 -native_color: ocf_msdummy:5 allocation score on c001n07: 0 +native_color: ocf_msdummy:5 allocation score on c001n06: -INFINITY +native_color: ocf_msdummy:5 allocation score on c001n07: -INFINITY native_color: ocf_msdummy:5 allocation score on c001n08: 1 native_color: ocf_msdummy:6 allocation score on c001n02: -INFINITY native_color: ocf_msdummy:6 allocation score on c001n03: -INFINITY diff --git a/pengine/test10/stonith-1.scores b/pengine/test10/stonith-1.scores index 130bee0..7422355 100644 --- a/pengine/test10/stonith-1.scores +++ b/pengine/test10/stonith-1.scores @@ -72,10 +72,10 @@ group_color: r192.168.100.183 allocation score on sles-2: 0 group_color: r192.168.100.183 allocation score on sles-3: 0 group_color: r192.168.100.183 allocation score on sles-4: 0 native_color: child_DoFencing:0 allocation score on sles-1: 1 -native_color: child_DoFencing:0 allocation score on sles-2: -INFINITY +native_color: child_DoFencing:0 allocation score on sles-2: 0 native_color: child_DoFencing:0 allocation score on sles-3: -INFINITY native_color: child_DoFencing:0 allocation score on sles-4: 0 -native_color: child_DoFencing:1 allocation score on sles-1: 0 +native_color: child_DoFencing:1 allocation score on sles-1: -INFINITY native_color: child_DoFencing:1 allocation score on sles-2: 1 native_color: child_DoFencing:1 allocation score on sles-3: -INFINITY native_color: child_DoFencing:1 allocation score on sles-4: 0 diff --git a/pengine/test10/stonith-2.scores b/pengine/test10/stonith-2.scores index 74a8f41..e1dd011 100644 --- a/pengine/test10/stonith-2.scores +++ b/pengine/test10/stonith-2.scores @@ -144,30 +144,30 @@ group_color: r192.168.100.183 allocation score on sles-4: 0 group_color: r192.168.100.183 allocation score on sles-5: 0 group_color: r192.168.100.183 allocation score on sles-6: 0 native_color: child_DoFencing:0 allocation score on sles-1: 1 -native_color: child_DoFencing:0 allocation score on sles-2: -INFINITY -native_color: child_DoFencing:0 allocation score on sles-3: -INFINITY -native_color: child_DoFencing:0 allocation score on sles-4: -INFINITY +native_color: child_DoFencing:0 allocation score on sles-2: 0 +native_color: child_DoFencing:0 allocation score on sles-3: 0 +native_color: child_DoFencing:0 allocation score on sles-4: 0 native_color: child_DoFencing:0 allocation score on sles-5: -INFINITY -native_color: child_DoFencing:0 allocation score on sles-6: -INFINITY -native_color: child_DoFencing:1 allocation score on sles-1: 0 +native_color: child_DoFencing:0 allocation score on sles-6: 0 +native_color: child_DoFencing:1 allocation score on sles-1: -INFINITY native_color: child_DoFencing:1 allocation score on sles-2: 1 native_color: child_DoFencing:1 allocation score on sles-3: 0 -native_color: child_DoFencing:1 allocation score on sles-4: -INFINITY +native_color: child_DoFencing:1 allocation score on sles-4: 0 native_color: child_DoFencing:1 allocation score on sles-5: -INFINITY native_color: child_DoFencing:1 allocation score on sles-6: 0 -native_color: child_DoFencing:2 allocation score on sles-1: 0 +native_color: child_DoFencing:2 allocation score on sles-1: -INFINITY native_color: child_DoFencing:2 allocation score on sles-2: -INFINITY native_color: child_DoFencing:2 allocation score on sles-3: 1 -native_color: child_DoFencing:2 allocation score on sles-4: -INFINITY +native_color: child_DoFencing:2 allocation score on sles-4: 0 native_color: child_DoFencing:2 allocation score on sles-5: -INFINITY native_color: child_DoFencing:2 allocation score on sles-6: 0 -native_color: child_DoFencing:3 allocation score on sles-1: 0 -native_color: child_DoFencing:3 allocation score on sles-2: 0 -native_color: child_DoFencing:3 allocation score on sles-3: 0 +native_color: child_DoFencing:3 allocation score on sles-1: -INFINITY +native_color: child_DoFencing:3 allocation score on sles-2: -INFINITY +native_color: child_DoFencing:3 allocation score on sles-3: -INFINITY native_color: child_DoFencing:3 allocation score on sles-4: 1 native_color: child_DoFencing:3 allocation score on sles-5: -INFINITY native_color: child_DoFencing:3 allocation score on sles-6: 0 -native_color: child_DoFencing:4 allocation score on sles-1: 0 +native_color: child_DoFencing:4 allocation score on sles-1: -INFINITY native_color: child_DoFencing:4 allocation score on sles-2: -INFINITY native_color: child_DoFencing:4 allocation score on sles-3: -INFINITY native_color: child_DoFencing:4 allocation score on sles-4: -INFINITY @@ -192,9 +192,9 @@ native_color: migrator allocation score on sles-4: 0 native_color: migrator allocation score on sles-5: 0 native_color: migrator allocation score on sles-6: 0 native_color: ocf_msdummy:0 allocation score on sles-1: 0 -native_color: ocf_msdummy:0 allocation score on sles-2: -INFINITY +native_color: ocf_msdummy:0 allocation score on sles-2: 0 native_color: ocf_msdummy:0 allocation score on sles-3: 1 -native_color: ocf_msdummy:0 allocation score on sles-4: -INFINITY +native_color: ocf_msdummy:0 allocation score on sles-4: 0 native_color: ocf_msdummy:0 allocation score on sles-5: -INFINITY native_color: ocf_msdummy:0 allocation score on sles-6: 0 native_color: ocf_msdummy:1 allocation score on sles-1: 0 @@ -206,30 +206,30 @@ native_color: ocf_msdummy:1 allocation score on sles-6: 0 native_color: ocf_msdummy:10 allocation score on sles-1: 0 native_color: ocf_msdummy:10 allocation score on sles-2: 1 native_color: ocf_msdummy:10 allocation score on sles-3: 0 -native_color: ocf_msdummy:10 allocation score on sles-4: -INFINITY +native_color: ocf_msdummy:10 allocation score on sles-4: 0 native_color: ocf_msdummy:10 allocation score on sles-5: -INFINITY native_color: ocf_msdummy:10 allocation score on sles-6: 0 native_color: ocf_msdummy:11 allocation score on sles-1: 0 -native_color: ocf_msdummy:11 allocation score on sles-2: -INFINITY +native_color: ocf_msdummy:11 allocation score on sles-2: 0 native_color: ocf_msdummy:11 allocation score on sles-3: 1 -native_color: ocf_msdummy:11 allocation score on sles-4: -INFINITY +native_color: ocf_msdummy:11 allocation score on sles-4: 0 native_color: ocf_msdummy:11 allocation score on sles-5: -INFINITY native_color: ocf_msdummy:11 allocation score on sles-6: 0 native_color: ocf_msdummy:2 allocation score on sles-1: 0 native_color: ocf_msdummy:2 allocation score on sles-2: 0 -native_color: ocf_msdummy:2 allocation score on sles-3: 0 +native_color: ocf_msdummy:2 allocation score on sles-3: -INFINITY native_color: ocf_msdummy:2 allocation score on sles-4: 1 native_color: ocf_msdummy:2 allocation score on sles-5: -INFINITY native_color: ocf_msdummy:2 allocation score on sles-6: 0 native_color: ocf_msdummy:3 allocation score on sles-1: 1 -native_color: ocf_msdummy:3 allocation score on sles-2: -INFINITY +native_color: ocf_msdummy:3 allocation score on sles-2: 0 native_color: ocf_msdummy:3 allocation score on sles-3: -INFINITY native_color: ocf_msdummy:3 allocation score on sles-4: -INFINITY native_color: ocf_msdummy:3 allocation score on sles-5: -INFINITY -native_color: ocf_msdummy:3 allocation score on sles-6: -INFINITY +native_color: ocf_msdummy:3 allocation score on sles-6: 0 native_color: ocf_msdummy:4 allocation score on sles-1: 0 native_color: ocf_msdummy:4 allocation score on sles-2: 1 -native_color: ocf_msdummy:4 allocation score on sles-3: 0 +native_color: ocf_msdummy:4 allocation score on sles-3: -INFINITY native_color: ocf_msdummy:4 allocation score on sles-4: -INFINITY native_color: ocf_msdummy:4 allocation score on sles-5: -INFINITY native_color: ocf_msdummy:4 allocation score on sles-6: 0 @@ -238,7 +238,7 @@ native_color: ocf_msdummy:5 allocation score on sles-2: -INFINITY native_color: ocf_msdummy:5 allocation score on sles-3: -INFINITY native_color: ocf_msdummy:5 allocation score on sles-4: -INFINITY native_color: ocf_msdummy:5 allocation score on sles-5: -INFINITY -native_color: ocf_msdummy:5 allocation score on sles-6: -INFINITY +native_color: ocf_msdummy:5 allocation score on sles-6: 0 native_color: ocf_msdummy:6 allocation score on sles-1: -INFINITY native_color: ocf_msdummy:6 allocation score on sles-2: -INFINITY native_color: ocf_msdummy:6 allocation score on sles-3: -INFINITY @@ -251,13 +251,13 @@ native_color: ocf_msdummy:7 allocation score on sles-3: -INFINITY native_color: ocf_msdummy:7 allocation score on sles-4: -INFINITY native_color: ocf_msdummy:7 allocation score on sles-5: -INFINITY native_color: ocf_msdummy:7 allocation score on sles-6: -INFINITY -native_color: ocf_msdummy:8 allocation score on sles-1: 0 +native_color: ocf_msdummy:8 allocation score on sles-1: -INFINITY native_color: ocf_msdummy:8 allocation score on sles-2: -INFINITY native_color: ocf_msdummy:8 allocation score on sles-3: -INFINITY native_color: ocf_msdummy:8 allocation score on sles-4: -INFINITY native_color: ocf_msdummy:8 allocation score on sles-5: -INFINITY native_color: ocf_msdummy:8 allocation score on sles-6: 1 -native_color: ocf_msdummy:9 allocation score on sles-1: 0 +native_color: ocf_msdummy:9 allocation score on sles-1: -INFINITY native_color: ocf_msdummy:9 allocation score on sles-2: -INFINITY native_color: ocf_msdummy:9 allocation score on sles-3: -INFINITY native_color: ocf_msdummy:9 allocation score on sles-4: -INFINITY diff --git a/pengine/test10/ticket-clone-12.scores b/pengine/test10/ticket-clone-12.scores index c548662..3dc1851 100644 --- a/pengine/test10/ticket-clone-12.scores +++ b/pengine/test10/ticket-clone-12.scores @@ -6,8 +6,8 @@ clone_color: rsc1:0 allocation score on node2: 0 clone_color: rsc1:1 allocation score on node1: 0 clone_color: rsc1:1 allocation score on node2: 0 native_color: rsc1:0 allocation score on node1: 0 -native_color: rsc1:0 allocation score on node2: -INFINITY -native_color: rsc1:1 allocation score on node1: 0 +native_color: rsc1:0 allocation score on node2: 0 +native_color: rsc1:1 allocation score on node1: -INFINITY native_color: rsc1:1 allocation score on node2: 0 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-clone-24.scores b/pengine/test10/ticket-clone-24.scores index c548662..3dc1851 100644 --- a/pengine/test10/ticket-clone-24.scores +++ b/pengine/test10/ticket-clone-24.scores @@ -6,8 +6,8 @@ clone_color: rsc1:0 allocation score on node2: 0 clone_color: rsc1:1 allocation score on node1: 0 clone_color: rsc1:1 allocation score on node2: 0 native_color: rsc1:0 allocation score on node1: 0 -native_color: rsc1:0 allocation score on node2: -INFINITY -native_color: rsc1:1 allocation score on node1: 0 +native_color: rsc1:0 allocation score on node2: 0 +native_color: rsc1:1 allocation score on node1: -INFINITY native_color: rsc1:1 allocation score on node2: 0 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-master-11.scores b/pengine/test10/ticket-master-11.scores index c770fd5..f608505 100644 --- a/pengine/test10/ticket-master-11.scores +++ b/pengine/test10/ticket-master-11.scores @@ -6,8 +6,8 @@ clone_color: rsc1:0 allocation score on node2: 0 clone_color: rsc1:1 allocation score on node1: 0 clone_color: rsc1:1 allocation score on node2: 1 native_color: rsc1:0 allocation score on node1: 1 -native_color: rsc1:0 allocation score on node2: -INFINITY -native_color: rsc1:1 allocation score on node1: 0 +native_color: rsc1:0 allocation score on node2: 0 +native_color: rsc1:1 allocation score on node1: -INFINITY native_color: rsc1:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-master-12.scores b/pengine/test10/ticket-master-12.scores index 2dbf74e..d2b050f 100644 --- a/pengine/test10/ticket-master-12.scores +++ b/pengine/test10/ticket-master-12.scores @@ -6,8 +6,8 @@ clone_color: rsc1:0 allocation score on node2: 0 clone_color: rsc1:1 allocation score on node1: 0 clone_color: rsc1:1 allocation score on node2: 1 native_color: rsc1:0 allocation score on node1: 0 -native_color: rsc1:0 allocation score on node2: -INFINITY -native_color: rsc1:1 allocation score on node1: 0 +native_color: rsc1:0 allocation score on node2: 0 +native_color: rsc1:1 allocation score on node1: -INFINITY native_color: rsc1:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-master-16.scores b/pengine/test10/ticket-master-16.scores index a55ffe8..e392554 100644 --- a/pengine/test10/ticket-master-16.scores +++ b/pengine/test10/ticket-master-16.scores @@ -6,8 +6,8 @@ clone_color: rsc1:0 allocation score on node2: 0 clone_color: rsc1:1 allocation score on node1: 0 clone_color: rsc1:1 allocation score on node2: 1 native_color: rsc1:0 allocation score on node1: 1 -native_color: rsc1:0 allocation score on node2: -INFINITY -native_color: rsc1:1 allocation score on node1: 0 +native_color: rsc1:0 allocation score on node2: 0 +native_color: rsc1:1 allocation score on node1: -INFINITY native_color: rsc1:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-master-17.scores b/pengine/test10/ticket-master-17.scores index a55ffe8..e392554 100644 --- a/pengine/test10/ticket-master-17.scores +++ b/pengine/test10/ticket-master-17.scores @@ -6,8 +6,8 @@ clone_color: rsc1:0 allocation score on node2: 0 clone_color: rsc1:1 allocation score on node1: 0 clone_color: rsc1:1 allocation score on node2: 1 native_color: rsc1:0 allocation score on node1: 1 -native_color: rsc1:0 allocation score on node2: -INFINITY -native_color: rsc1:1 allocation score on node1: 0 +native_color: rsc1:0 allocation score on node2: 0 +native_color: rsc1:1 allocation score on node1: -INFINITY native_color: rsc1:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-master-18.scores b/pengine/test10/ticket-master-18.scores index a55ffe8..e392554 100644 --- a/pengine/test10/ticket-master-18.scores +++ b/pengine/test10/ticket-master-18.scores @@ -6,8 +6,8 @@ clone_color: rsc1:0 allocation score on node2: 0 clone_color: rsc1:1 allocation score on node1: 0 clone_color: rsc1:1 allocation score on node2: 1 native_color: rsc1:0 allocation score on node1: 1 -native_color: rsc1:0 allocation score on node2: -INFINITY -native_color: rsc1:1 allocation score on node1: 0 +native_color: rsc1:0 allocation score on node2: 0 +native_color: rsc1:1 allocation score on node1: -INFINITY native_color: rsc1:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-master-19.scores b/pengine/test10/ticket-master-19.scores index a55ffe8..e392554 100644 --- a/pengine/test10/ticket-master-19.scores +++ b/pengine/test10/ticket-master-19.scores @@ -6,8 +6,8 @@ clone_color: rsc1:0 allocation score on node2: 0 clone_color: rsc1:1 allocation score on node1: 0 clone_color: rsc1:1 allocation score on node2: 1 native_color: rsc1:0 allocation score on node1: 1 -native_color: rsc1:0 allocation score on node2: -INFINITY -native_color: rsc1:1 allocation score on node1: 0 +native_color: rsc1:0 allocation score on node2: 0 +native_color: rsc1:1 allocation score on node1: -INFINITY native_color: rsc1:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-master-20.scores b/pengine/test10/ticket-master-20.scores index a55ffe8..e392554 100644 --- a/pengine/test10/ticket-master-20.scores +++ b/pengine/test10/ticket-master-20.scores @@ -6,8 +6,8 @@ clone_color: rsc1:0 allocation score on node2: 0 clone_color: rsc1:1 allocation score on node1: 0 clone_color: rsc1:1 allocation score on node2: 1 native_color: rsc1:0 allocation score on node1: 1 -native_color: rsc1:0 allocation score on node2: -INFINITY -native_color: rsc1:1 allocation score on node1: 0 +native_color: rsc1:0 allocation score on node2: 0 +native_color: rsc1:1 allocation score on node1: -INFINITY native_color: rsc1:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-master-22.scores b/pengine/test10/ticket-master-22.scores index a55ffe8..e392554 100644 --- a/pengine/test10/ticket-master-22.scores +++ b/pengine/test10/ticket-master-22.scores @@ -6,8 +6,8 @@ clone_color: rsc1:0 allocation score on node2: 0 clone_color: rsc1:1 allocation score on node1: 0 clone_color: rsc1:1 allocation score on node2: 1 native_color: rsc1:0 allocation score on node1: 1 -native_color: rsc1:0 allocation score on node2: -INFINITY -native_color: rsc1:1 allocation score on node1: 0 +native_color: rsc1:0 allocation score on node2: 0 +native_color: rsc1:1 allocation score on node1: -INFINITY native_color: rsc1:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-master-23.scores b/pengine/test10/ticket-master-23.scores index a55ffe8..e392554 100644 --- a/pengine/test10/ticket-master-23.scores +++ b/pengine/test10/ticket-master-23.scores @@ -6,8 +6,8 @@ clone_color: rsc1:0 allocation score on node2: 0 clone_color: rsc1:1 allocation score on node1: 0 clone_color: rsc1:1 allocation score on node2: 1 native_color: rsc1:0 allocation score on node1: 1 -native_color: rsc1:0 allocation score on node2: -INFINITY -native_color: rsc1:1 allocation score on node1: 0 +native_color: rsc1:0 allocation score on node2: 0 +native_color: rsc1:1 allocation score on node1: -INFINITY native_color: rsc1:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-master-24.scores b/pengine/test10/ticket-master-24.scores index 2dbf74e..d2b050f 100644 --- a/pengine/test10/ticket-master-24.scores +++ b/pengine/test10/ticket-master-24.scores @@ -6,8 +6,8 @@ clone_color: rsc1:0 allocation score on node2: 0 clone_color: rsc1:1 allocation score on node1: 0 clone_color: rsc1:1 allocation score on node2: 1 native_color: rsc1:0 allocation score on node1: 0 -native_color: rsc1:0 allocation score on node2: -INFINITY -native_color: rsc1:1 allocation score on node1: 0 +native_color: rsc1:0 allocation score on node2: 0 +native_color: rsc1:1 allocation score on node1: -INFINITY native_color: rsc1:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-master-5.scores b/pengine/test10/ticket-master-5.scores index c770fd5..f608505 100644 --- a/pengine/test10/ticket-master-5.scores +++ b/pengine/test10/ticket-master-5.scores @@ -6,8 +6,8 @@ clone_color: rsc1:0 allocation score on node2: 0 clone_color: rsc1:1 allocation score on node1: 0 clone_color: rsc1:1 allocation score on node2: 1 native_color: rsc1:0 allocation score on node1: 1 -native_color: rsc1:0 allocation score on node2: -INFINITY -native_color: rsc1:1 allocation score on node1: 0 +native_color: rsc1:0 allocation score on node2: 0 +native_color: rsc1:1 allocation score on node1: -INFINITY native_color: rsc1:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-master-6.scores b/pengine/test10/ticket-master-6.scores index a55ffe8..e392554 100644 --- a/pengine/test10/ticket-master-6.scores +++ b/pengine/test10/ticket-master-6.scores @@ -6,8 +6,8 @@ clone_color: rsc1:0 allocation score on node2: 0 clone_color: rsc1:1 allocation score on node1: 0 clone_color: rsc1:1 allocation score on node2: 1 native_color: rsc1:0 allocation score on node1: 1 -native_color: rsc1:0 allocation score on node2: -INFINITY -native_color: rsc1:1 allocation score on node1: 0 +native_color: rsc1:0 allocation score on node2: 0 +native_color: rsc1:1 allocation score on node1: -INFINITY native_color: rsc1:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-master-8.scores b/pengine/test10/ticket-master-8.scores index c770fd5..f608505 100644 --- a/pengine/test10/ticket-master-8.scores +++ b/pengine/test10/ticket-master-8.scores @@ -6,8 +6,8 @@ clone_color: rsc1:0 allocation score on node2: 0 clone_color: rsc1:1 allocation score on node1: 0 clone_color: rsc1:1 allocation score on node2: 1 native_color: rsc1:0 allocation score on node1: 1 -native_color: rsc1:0 allocation score on node2: -INFINITY -native_color: rsc1:1 allocation score on node1: 0 +native_color: rsc1:0 allocation score on node2: 0 +native_color: rsc1:1 allocation score on node1: -INFINITY native_color: rsc1:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-rsc-sets-10.scores b/pengine/test10/ticket-rsc-sets-10.scores index b2d25ba..221b49a 100644 --- a/pengine/test10/ticket-rsc-sets-10.scores +++ b/pengine/test10/ticket-rsc-sets-10.scores @@ -28,8 +28,8 @@ native_color: rsc4:0 allocation score on node2: -INFINITY native_color: rsc4:1 allocation score on node1: -INFINITY native_color: rsc4:1 allocation score on node2: -INFINITY native_color: rsc5:0 allocation score on node1: 1 -native_color: rsc5:0 allocation score on node2: -INFINITY -native_color: rsc5:1 allocation score on node1: 0 +native_color: rsc5:0 allocation score on node2: 0 +native_color: rsc5:1 allocation score on node1: -INFINITY native_color: rsc5:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-rsc-sets-11.scores b/pengine/test10/ticket-rsc-sets-11.scores index b2d25ba..221b49a 100644 --- a/pengine/test10/ticket-rsc-sets-11.scores +++ b/pengine/test10/ticket-rsc-sets-11.scores @@ -28,8 +28,8 @@ native_color: rsc4:0 allocation score on node2: -INFINITY native_color: rsc4:1 allocation score on node1: -INFINITY native_color: rsc4:1 allocation score on node2: -INFINITY native_color: rsc5:0 allocation score on node1: 1 -native_color: rsc5:0 allocation score on node2: -INFINITY -native_color: rsc5:1 allocation score on node1: 0 +native_color: rsc5:0 allocation score on node2: 0 +native_color: rsc5:1 allocation score on node1: -INFINITY native_color: rsc5:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-rsc-sets-12.scores b/pengine/test10/ticket-rsc-sets-12.scores index b2d25ba..221b49a 100644 --- a/pengine/test10/ticket-rsc-sets-12.scores +++ b/pengine/test10/ticket-rsc-sets-12.scores @@ -28,8 +28,8 @@ native_color: rsc4:0 allocation score on node2: -INFINITY native_color: rsc4:1 allocation score on node1: -INFINITY native_color: rsc4:1 allocation score on node2: -INFINITY native_color: rsc5:0 allocation score on node1: 1 -native_color: rsc5:0 allocation score on node2: -INFINITY -native_color: rsc5:1 allocation score on node1: 0 +native_color: rsc5:0 allocation score on node2: 0 +native_color: rsc5:1 allocation score on node1: -INFINITY native_color: rsc5:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-rsc-sets-13.scores b/pengine/test10/ticket-rsc-sets-13.scores index b2d25ba..221b49a 100644 --- a/pengine/test10/ticket-rsc-sets-13.scores +++ b/pengine/test10/ticket-rsc-sets-13.scores @@ -28,8 +28,8 @@ native_color: rsc4:0 allocation score on node2: -INFINITY native_color: rsc4:1 allocation score on node1: -INFINITY native_color: rsc4:1 allocation score on node2: -INFINITY native_color: rsc5:0 allocation score on node1: 1 -native_color: rsc5:0 allocation score on node2: -INFINITY -native_color: rsc5:1 allocation score on node1: 0 +native_color: rsc5:0 allocation score on node2: 0 +native_color: rsc5:1 allocation score on node1: -INFINITY native_color: rsc5:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-rsc-sets-14.scores b/pengine/test10/ticket-rsc-sets-14.scores index b2d25ba..221b49a 100644 --- a/pengine/test10/ticket-rsc-sets-14.scores +++ b/pengine/test10/ticket-rsc-sets-14.scores @@ -28,8 +28,8 @@ native_color: rsc4:0 allocation score on node2: -INFINITY native_color: rsc4:1 allocation score on node1: -INFINITY native_color: rsc4:1 allocation score on node2: -INFINITY native_color: rsc5:0 allocation score on node1: 1 -native_color: rsc5:0 allocation score on node2: -INFINITY -native_color: rsc5:1 allocation score on node1: 0 +native_color: rsc5:0 allocation score on node2: 0 +native_color: rsc5:1 allocation score on node1: -INFINITY native_color: rsc5:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-rsc-sets-2.scores b/pengine/test10/ticket-rsc-sets-2.scores index 43331cc..a7ea85a 100644 --- a/pengine/test10/ticket-rsc-sets-2.scores +++ b/pengine/test10/ticket-rsc-sets-2.scores @@ -28,8 +28,8 @@ native_color: rsc4:0 allocation score on node2: 0 native_color: rsc4:1 allocation score on node1: 0 native_color: rsc4:1 allocation score on node2: -INFINITY native_color: rsc5:0 allocation score on node1: 1 -native_color: rsc5:0 allocation score on node2: -INFINITY -native_color: rsc5:1 allocation score on node1: 0 +native_color: rsc5:0 allocation score on node2: 0 +native_color: rsc5:1 allocation score on node1: -INFINITY native_color: rsc5:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-rsc-sets-3.scores b/pengine/test10/ticket-rsc-sets-3.scores index b2d25ba..221b49a 100644 --- a/pengine/test10/ticket-rsc-sets-3.scores +++ b/pengine/test10/ticket-rsc-sets-3.scores @@ -28,8 +28,8 @@ native_color: rsc4:0 allocation score on node2: -INFINITY native_color: rsc4:1 allocation score on node1: -INFINITY native_color: rsc4:1 allocation score on node2: -INFINITY native_color: rsc5:0 allocation score on node1: 1 -native_color: rsc5:0 allocation score on node2: -INFINITY -native_color: rsc5:1 allocation score on node1: 0 +native_color: rsc5:0 allocation score on node2: 0 +native_color: rsc5:1 allocation score on node1: -INFINITY native_color: rsc5:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-rsc-sets-5.scores b/pengine/test10/ticket-rsc-sets-5.scores index db259b3..c13c2e7 100644 --- a/pengine/test10/ticket-rsc-sets-5.scores +++ b/pengine/test10/ticket-rsc-sets-5.scores @@ -28,8 +28,8 @@ native_color: rsc4:0 allocation score on node2: -INFINITY native_color: rsc4:1 allocation score on node1: -INFINITY native_color: rsc4:1 allocation score on node2: -INFINITY native_color: rsc5:0 allocation score on node1: 1 -native_color: rsc5:0 allocation score on node2: -INFINITY -native_color: rsc5:1 allocation score on node1: 0 +native_color: rsc5:0 allocation score on node2: 0 +native_color: rsc5:1 allocation score on node1: -INFINITY native_color: rsc5:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-rsc-sets-6.scores b/pengine/test10/ticket-rsc-sets-6.scores index 43331cc..a7ea85a 100644 --- a/pengine/test10/ticket-rsc-sets-6.scores +++ b/pengine/test10/ticket-rsc-sets-6.scores @@ -28,8 +28,8 @@ native_color: rsc4:0 allocation score on node2: 0 native_color: rsc4:1 allocation score on node1: 0 native_color: rsc4:1 allocation score on node2: -INFINITY native_color: rsc5:0 allocation score on node1: 1 -native_color: rsc5:0 allocation score on node2: -INFINITY -native_color: rsc5:1 allocation score on node1: 0 +native_color: rsc5:0 allocation score on node2: 0 +native_color: rsc5:1 allocation score on node1: -INFINITY native_color: rsc5:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-rsc-sets-7.scores b/pengine/test10/ticket-rsc-sets-7.scores index b2d25ba..221b49a 100644 --- a/pengine/test10/ticket-rsc-sets-7.scores +++ b/pengine/test10/ticket-rsc-sets-7.scores @@ -28,8 +28,8 @@ native_color: rsc4:0 allocation score on node2: -INFINITY native_color: rsc4:1 allocation score on node1: -INFINITY native_color: rsc4:1 allocation score on node2: -INFINITY native_color: rsc5:0 allocation score on node1: 1 -native_color: rsc5:0 allocation score on node2: -INFINITY -native_color: rsc5:1 allocation score on node1: 0 +native_color: rsc5:0 allocation score on node2: 0 +native_color: rsc5:1 allocation score on node1: -INFINITY native_color: rsc5:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-rsc-sets-8.scores b/pengine/test10/ticket-rsc-sets-8.scores index b2d25ba..221b49a 100644 --- a/pengine/test10/ticket-rsc-sets-8.scores +++ b/pengine/test10/ticket-rsc-sets-8.scores @@ -28,8 +28,8 @@ native_color: rsc4:0 allocation score on node2: -INFINITY native_color: rsc4:1 allocation score on node1: -INFINITY native_color: rsc4:1 allocation score on node2: -INFINITY native_color: rsc5:0 allocation score on node1: 1 -native_color: rsc5:0 allocation score on node2: -INFINITY -native_color: rsc5:1 allocation score on node1: 0 +native_color: rsc5:0 allocation score on node2: 0 +native_color: rsc5:1 allocation score on node1: -INFINITY native_color: rsc5:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/ticket-rsc-sets-9.scores b/pengine/test10/ticket-rsc-sets-9.scores index b2d25ba..221b49a 100644 --- a/pengine/test10/ticket-rsc-sets-9.scores +++ b/pengine/test10/ticket-rsc-sets-9.scores @@ -28,8 +28,8 @@ native_color: rsc4:0 allocation score on node2: -INFINITY native_color: rsc4:1 allocation score on node1: -INFINITY native_color: rsc4:1 allocation score on node2: -INFINITY native_color: rsc5:0 allocation score on node1: 1 -native_color: rsc5:0 allocation score on node2: -INFINITY -native_color: rsc5:1 allocation score on node1: 0 +native_color: rsc5:0 allocation score on node2: 0 +native_color: rsc5:1 allocation score on node1: -INFINITY native_color: rsc5:1 allocation score on node2: 1 native_color: rsc_stonith allocation score on node1: 0 native_color: rsc_stonith allocation score on node2: 0 diff --git a/pengine/test10/unfence-definition.scores b/pengine/test10/unfence-definition.scores index a4b5fb1..d9fa9bb 100644 --- a/pengine/test10/unfence-definition.scores +++ b/pengine/test10/unfence-definition.scores @@ -56,10 +56,10 @@ native_color: clvmd:3 allocation score on virt-2: -INFINITY native_color: clvmd:3 allocation score on virt-3: -INFINITY native_color: clvmd:3 allocation score on virt-4: -INFINITY native_color: dlm:0 allocation score on virt-1: 1 -native_color: dlm:0 allocation score on virt-2: -INFINITY +native_color: dlm:0 allocation score on virt-2: 0 native_color: dlm:0 allocation score on virt-3: 0 native_color: dlm:0 allocation score on virt-4: -INFINITY -native_color: dlm:1 allocation score on virt-1: 0 +native_color: dlm:1 allocation score on virt-1: -INFINITY native_color: dlm:1 allocation score on virt-2: 1 native_color: dlm:1 allocation score on virt-3: 0 native_color: dlm:1 allocation score on virt-4: -INFINITY diff --git a/pengine/test10/unfence-parameters.scores b/pengine/test10/unfence-parameters.scores index a4b5fb1..d9fa9bb 100644 --- a/pengine/test10/unfence-parameters.scores +++ b/pengine/test10/unfence-parameters.scores @@ -56,10 +56,10 @@ native_color: clvmd:3 allocation score on virt-2: -INFINITY native_color: clvmd:3 allocation score on virt-3: -INFINITY native_color: clvmd:3 allocation score on virt-4: -INFINITY native_color: dlm:0 allocation score on virt-1: 1 -native_color: dlm:0 allocation score on virt-2: -INFINITY +native_color: dlm:0 allocation score on virt-2: 0 native_color: dlm:0 allocation score on virt-3: 0 native_color: dlm:0 allocation score on virt-4: -INFINITY -native_color: dlm:1 allocation score on virt-1: 0 +native_color: dlm:1 allocation score on virt-1: -INFINITY native_color: dlm:1 allocation score on virt-2: 1 native_color: dlm:1 allocation score on virt-3: 0 native_color: dlm:1 allocation score on virt-4: -INFINITY diff --git a/pengine/test10/unfence-startup.scores b/pengine/test10/unfence-startup.scores index a4b5fb1..d9fa9bb 100644 --- a/pengine/test10/unfence-startup.scores +++ b/pengine/test10/unfence-startup.scores @@ -56,10 +56,10 @@ native_color: clvmd:3 allocation score on virt-2: -INFINITY native_color: clvmd:3 allocation score on virt-3: -INFINITY native_color: clvmd:3 allocation score on virt-4: -INFINITY native_color: dlm:0 allocation score on virt-1: 1 -native_color: dlm:0 allocation score on virt-2: -INFINITY +native_color: dlm:0 allocation score on virt-2: 0 native_color: dlm:0 allocation score on virt-3: 0 native_color: dlm:0 allocation score on virt-4: -INFINITY -native_color: dlm:1 allocation score on virt-1: 0 +native_color: dlm:1 allocation score on virt-1: -INFINITY native_color: dlm:1 allocation score on virt-2: 1 native_color: dlm:1 allocation score on virt-3: 0 native_color: dlm:1 allocation score on virt-4: -INFINITY diff --git a/pengine/test10/unrunnable-2.scores b/pengine/test10/unrunnable-2.scores index 6ec65c9..d54a99e 100644 --- a/pengine/test10/unrunnable-2.scores +++ b/pengine/test10/unrunnable-2.scores @@ -472,15 +472,15 @@ native_color: galera:0 allocation score on overcloud-controller-1: INFINITY native_color: galera:0 allocation score on overcloud-controller-2: 0 native_color: galera:1 allocation score on overcloud-controller-0: INFINITY native_color: galera:1 allocation score on overcloud-controller-1: -INFINITY -native_color: galera:1 allocation score on overcloud-controller-2: -INFINITY -native_color: galera:2 allocation score on overcloud-controller-0: 0 +native_color: galera:1 allocation score on overcloud-controller-2: 0 +native_color: galera:2 allocation score on overcloud-controller-0: -INFINITY native_color: galera:2 allocation score on overcloud-controller-1: -INFINITY native_color: galera:2 allocation score on overcloud-controller-2: INFINITY -native_color: haproxy:0 allocation score on overcloud-controller-0: -INFINITY +native_color: haproxy:0 allocation score on overcloud-controller-0: 0 native_color: haproxy:0 allocation score on overcloud-controller-1: INFINITY native_color: haproxy:0 allocation score on overcloud-controller-2: 0 native_color: haproxy:1 allocation score on overcloud-controller-0: INFINITY -native_color: haproxy:1 allocation score on overcloud-controller-1: 0 +native_color: haproxy:1 allocation score on overcloud-controller-1: -INFINITY native_color: haproxy:1 allocation score on overcloud-controller-2: 0 native_color: haproxy:2 allocation score on overcloud-controller-0: -INFINITY native_color: haproxy:2 allocation score on overcloud-controller-1: -INFINITY @@ -505,18 +505,18 @@ native_color: memcached:0 allocation score on overcloud-controller-1: INFINITY native_color: memcached:0 allocation score on overcloud-controller-2: 0 native_color: memcached:1 allocation score on overcloud-controller-0: INFINITY native_color: memcached:1 allocation score on overcloud-controller-1: -INFINITY -native_color: memcached:1 allocation score on overcloud-controller-2: -INFINITY -native_color: memcached:2 allocation score on overcloud-controller-0: 0 +native_color: memcached:1 allocation score on overcloud-controller-2: 0 +native_color: memcached:2 allocation score on overcloud-controller-0: -INFINITY native_color: memcached:2 allocation score on overcloud-controller-1: -INFINITY native_color: memcached:2 allocation score on overcloud-controller-2: INFINITY -native_color: mongod:0 allocation score on overcloud-controller-0: -INFINITY +native_color: mongod:0 allocation score on overcloud-controller-0: 0 native_color: mongod:0 allocation score on overcloud-controller-1: INFINITY -native_color: mongod:0 allocation score on overcloud-controller-2: -INFINITY +native_color: mongod:0 allocation score on overcloud-controller-2: 0 native_color: mongod:1 allocation score on overcloud-controller-0: INFINITY -native_color: mongod:1 allocation score on overcloud-controller-1: 0 -native_color: mongod:1 allocation score on overcloud-controller-2: -INFINITY -native_color: mongod:2 allocation score on overcloud-controller-0: 0 -native_color: mongod:2 allocation score on overcloud-controller-1: 0 +native_color: mongod:1 allocation score on overcloud-controller-1: -INFINITY +native_color: mongod:1 allocation score on overcloud-controller-2: 0 +native_color: mongod:2 allocation score on overcloud-controller-0: -INFINITY +native_color: mongod:2 allocation score on overcloud-controller-1: -INFINITY native_color: mongod:2 allocation score on overcloud-controller-2: INFINITY native_color: neutron-dhcp-agent:0 allocation score on overcloud-controller-0: 0 native_color: neutron-dhcp-agent:0 allocation score on overcloud-controller-1: 0 @@ -545,14 +545,14 @@ native_color: neutron-metadata-agent:1 allocation score on overcloud-controller- native_color: neutron-metadata-agent:2 allocation score on overcloud-controller-0: -INFINITY native_color: neutron-metadata-agent:2 allocation score on overcloud-controller-1: -INFINITY native_color: neutron-metadata-agent:2 allocation score on overcloud-controller-2: 0 -native_color: neutron-netns-cleanup:0 allocation score on overcloud-controller-0: -INFINITY +native_color: neutron-netns-cleanup:0 allocation score on overcloud-controller-0: 0 native_color: neutron-netns-cleanup:0 allocation score on overcloud-controller-1: INFINITY -native_color: neutron-netns-cleanup:0 allocation score on overcloud-controller-2: -INFINITY +native_color: neutron-netns-cleanup:0 allocation score on overcloud-controller-2: 0 native_color: neutron-netns-cleanup:1 allocation score on overcloud-controller-0: INFINITY -native_color: neutron-netns-cleanup:1 allocation score on overcloud-controller-1: 0 -native_color: neutron-netns-cleanup:1 allocation score on overcloud-controller-2: -INFINITY -native_color: neutron-netns-cleanup:2 allocation score on overcloud-controller-0: 0 -native_color: neutron-netns-cleanup:2 allocation score on overcloud-controller-1: 0 +native_color: neutron-netns-cleanup:1 allocation score on overcloud-controller-1: -INFINITY +native_color: neutron-netns-cleanup:1 allocation score on overcloud-controller-2: 0 +native_color: neutron-netns-cleanup:2 allocation score on overcloud-controller-0: -INFINITY +native_color: neutron-netns-cleanup:2 allocation score on overcloud-controller-1: -INFINITY native_color: neutron-netns-cleanup:2 allocation score on overcloud-controller-2: INFINITY native_color: neutron-openvswitch-agent:0 allocation score on overcloud-controller-0: 0 native_color: neutron-openvswitch-agent:0 allocation score on overcloud-controller-1: 0 @@ -563,14 +563,14 @@ native_color: neutron-openvswitch-agent:1 allocation score on overcloud-controll native_color: neutron-openvswitch-agent:2 allocation score on overcloud-controller-0: -INFINITY native_color: neutron-openvswitch-agent:2 allocation score on overcloud-controller-1: 0 native_color: neutron-openvswitch-agent:2 allocation score on overcloud-controller-2: -INFINITY -native_color: neutron-ovs-cleanup:0 allocation score on overcloud-controller-0: -INFINITY +native_color: neutron-ovs-cleanup:0 allocation score on overcloud-controller-0: 0 native_color: neutron-ovs-cleanup:0 allocation score on overcloud-controller-1: INFINITY -native_color: neutron-ovs-cleanup:0 allocation score on overcloud-controller-2: -INFINITY +native_color: neutron-ovs-cleanup:0 allocation score on overcloud-controller-2: 0 native_color: neutron-ovs-cleanup:1 allocation score on overcloud-controller-0: INFINITY -native_color: neutron-ovs-cleanup:1 allocation score on overcloud-controller-1: 0 -native_color: neutron-ovs-cleanup:1 allocation score on overcloud-controller-2: -INFINITY -native_color: neutron-ovs-cleanup:2 allocation score on overcloud-controller-0: 0 -native_color: neutron-ovs-cleanup:2 allocation score on overcloud-controller-1: 0 +native_color: neutron-ovs-cleanup:1 allocation score on overcloud-controller-1: -INFINITY +native_color: neutron-ovs-cleanup:1 allocation score on overcloud-controller-2: 0 +native_color: neutron-ovs-cleanup:2 allocation score on overcloud-controller-0: -INFINITY +native_color: neutron-ovs-cleanup:2 allocation score on overcloud-controller-1: -INFINITY native_color: neutron-ovs-cleanup:2 allocation score on overcloud-controller-2: INFINITY native_color: neutron-server:0 allocation score on overcloud-controller-0: 0 native_color: neutron-server:0 allocation score on overcloud-controller-1: 0 @@ -590,11 +590,11 @@ native_color: openstack-aodh-evaluator:1 allocation score on overcloud-controlle native_color: openstack-aodh-evaluator:2 allocation score on overcloud-controller-0: -INFINITY native_color: openstack-aodh-evaluator:2 allocation score on overcloud-controller-1: 0 native_color: openstack-aodh-evaluator:2 allocation score on overcloud-controller-2: -INFINITY -native_color: openstack-aodh-listener:0 allocation score on overcloud-controller-0: -INFINITY +native_color: openstack-aodh-listener:0 allocation score on overcloud-controller-0: 0 native_color: openstack-aodh-listener:0 allocation score on overcloud-controller-1: INFINITY native_color: openstack-aodh-listener:0 allocation score on overcloud-controller-2: 0 native_color: openstack-aodh-listener:1 allocation score on overcloud-controller-0: INFINITY -native_color: openstack-aodh-listener:1 allocation score on overcloud-controller-1: 0 +native_color: openstack-aodh-listener:1 allocation score on overcloud-controller-1: -INFINITY native_color: openstack-aodh-listener:1 allocation score on overcloud-controller-2: 0 native_color: openstack-aodh-listener:2 allocation score on overcloud-controller-0: -INFINITY native_color: openstack-aodh-listener:2 allocation score on overcloud-controller-1: -INFINITY @@ -635,11 +635,11 @@ native_color: openstack-ceilometer-collector:1 allocation score on overcloud-con native_color: openstack-ceilometer-collector:2 allocation score on overcloud-controller-0: -INFINITY native_color: openstack-ceilometer-collector:2 allocation score on overcloud-controller-1: 0 native_color: openstack-ceilometer-collector:2 allocation score on overcloud-controller-2: -INFINITY -native_color: openstack-ceilometer-notification:0 allocation score on overcloud-controller-0: -INFINITY +native_color: openstack-ceilometer-notification:0 allocation score on overcloud-controller-0: 0 native_color: openstack-ceilometer-notification:0 allocation score on overcloud-controller-1: INFINITY native_color: openstack-ceilometer-notification:0 allocation score on overcloud-controller-2: 0 native_color: openstack-ceilometer-notification:1 allocation score on overcloud-controller-0: INFINITY -native_color: openstack-ceilometer-notification:1 allocation score on overcloud-controller-1: 0 +native_color: openstack-ceilometer-notification:1 allocation score on overcloud-controller-1: -INFINITY native_color: openstack-ceilometer-notification:1 allocation score on overcloud-controller-2: 0 native_color: openstack-ceilometer-notification:2 allocation score on overcloud-controller-0: -INFINITY native_color: openstack-ceilometer-notification:2 allocation score on overcloud-controller-1: -INFINITY @@ -782,11 +782,11 @@ native_color: openstack-sahara-api:1 allocation score on overcloud-controller-2: native_color: openstack-sahara-api:2 allocation score on overcloud-controller-0: -INFINITY native_color: openstack-sahara-api:2 allocation score on overcloud-controller-1: -INFINITY native_color: openstack-sahara-api:2 allocation score on overcloud-controller-2: 0 -native_color: openstack-sahara-engine:0 allocation score on overcloud-controller-0: -INFINITY +native_color: openstack-sahara-engine:0 allocation score on overcloud-controller-0: 0 native_color: openstack-sahara-engine:0 allocation score on overcloud-controller-1: INFINITY native_color: openstack-sahara-engine:0 allocation score on overcloud-controller-2: 0 native_color: openstack-sahara-engine:1 allocation score on overcloud-controller-0: INFINITY -native_color: openstack-sahara-engine:1 allocation score on overcloud-controller-1: 0 +native_color: openstack-sahara-engine:1 allocation score on overcloud-controller-1: -INFINITY native_color: openstack-sahara-engine:1 allocation score on overcloud-controller-2: 0 native_color: openstack-sahara-engine:2 allocation score on overcloud-controller-0: -INFINITY native_color: openstack-sahara-engine:2 allocation score on overcloud-controller-1: -INFINITY @@ -796,8 +796,8 @@ native_color: rabbitmq:0 allocation score on overcloud-controller-1: INFINITY native_color: rabbitmq:0 allocation score on overcloud-controller-2: 0 native_color: rabbitmq:1 allocation score on overcloud-controller-0: INFINITY native_color: rabbitmq:1 allocation score on overcloud-controller-1: -INFINITY -native_color: rabbitmq:1 allocation score on overcloud-controller-2: -INFINITY -native_color: rabbitmq:2 allocation score on overcloud-controller-0: 0 +native_color: rabbitmq:1 allocation score on overcloud-controller-2: 0 +native_color: rabbitmq:2 allocation score on overcloud-controller-0: -INFINITY native_color: rabbitmq:2 allocation score on overcloud-controller-1: -INFINITY native_color: rabbitmq:2 allocation score on overcloud-controller-2: INFINITY native_color: redis:0 allocation score on overcloud-controller-0: 0 @@ -805,8 +805,8 @@ native_color: redis:0 allocation score on overcloud-controller-1: INFINITY native_color: redis:0 allocation score on overcloud-controller-2: 0 native_color: redis:1 allocation score on overcloud-controller-0: INFINITY native_color: redis:1 allocation score on overcloud-controller-1: -INFINITY -native_color: redis:1 allocation score on overcloud-controller-2: -INFINITY -native_color: redis:2 allocation score on overcloud-controller-0: 0 +native_color: redis:1 allocation score on overcloud-controller-2: 0 +native_color: redis:2 allocation score on overcloud-controller-0: -INFINITY native_color: redis:2 allocation score on overcloud-controller-1: -INFINITY native_color: redis:2 allocation score on overcloud-controller-2: INFINITY redis:0 promotion score on overcloud-controller-1: 1 diff --git a/pengine/test10/whitebox-fail1.scores b/pengine/test10/whitebox-fail1.scores index 756bc78..4fbbf29 100644 --- a/pengine/test10/whitebox-fail1.scores +++ b/pengine/test10/whitebox-fail1.scores @@ -56,17 +56,17 @@ native_color: M:0 allocation score on lxc1: 0 native_color: M:0 allocation score on lxc2: 0 native_color: M:1 allocation score on 18node1: -INFINITY native_color: M:1 allocation score on 18node2: 100 -native_color: M:1 allocation score on 18node3: -INFINITY +native_color: M:1 allocation score on 18node3: 0 native_color: M:1 allocation score on lxc1: 0 -native_color: M:1 allocation score on lxc2: -INFINITY +native_color: M:1 allocation score on lxc2: 0 native_color: M:2 allocation score on 18node1: -INFINITY -native_color: M:2 allocation score on 18node2: 0 +native_color: M:2 allocation score on 18node2: -INFINITY native_color: M:2 allocation score on 18node3: 100 native_color: M:2 allocation score on lxc1: 0 -native_color: M:2 allocation score on lxc2: -INFINITY +native_color: M:2 allocation score on lxc2: 0 native_color: M:3 allocation score on 18node1: -INFINITY -native_color: M:3 allocation score on 18node2: 0 -native_color: M:3 allocation score on 18node3: 0 +native_color: M:3 allocation score on 18node2: -INFINITY +native_color: M:3 allocation score on 18node3: -INFINITY native_color: M:3 allocation score on lxc1: 0 native_color: M:3 allocation score on lxc2: 100 native_color: M:4 allocation score on 18node1: -INFINITY diff --git a/pengine/test10/whitebox-fail2.scores b/pengine/test10/whitebox-fail2.scores index 756bc78..4fbbf29 100644 --- a/pengine/test10/whitebox-fail2.scores +++ b/pengine/test10/whitebox-fail2.scores @@ -56,17 +56,17 @@ native_color: M:0 allocation score on lxc1: 0 native_color: M:0 allocation score on lxc2: 0 native_color: M:1 allocation score on 18node1: -INFINITY native_color: M:1 allocation score on 18node2: 100 -native_color: M:1 allocation score on 18node3: -INFINITY +native_color: M:1 allocation score on 18node3: 0 native_color: M:1 allocation score on lxc1: 0 -native_color: M:1 allocation score on lxc2: -INFINITY +native_color: M:1 allocation score on lxc2: 0 native_color: M:2 allocation score on 18node1: -INFINITY -native_color: M:2 allocation score on 18node2: 0 +native_color: M:2 allocation score on 18node2: -INFINITY native_color: M:2 allocation score on 18node3: 100 native_color: M:2 allocation score on lxc1: 0 -native_color: M:2 allocation score on lxc2: -INFINITY +native_color: M:2 allocation score on lxc2: 0 native_color: M:3 allocation score on 18node1: -INFINITY -native_color: M:3 allocation score on 18node2: 0 -native_color: M:3 allocation score on 18node3: 0 +native_color: M:3 allocation score on 18node2: -INFINITY +native_color: M:3 allocation score on 18node3: -INFINITY native_color: M:3 allocation score on lxc1: 0 native_color: M:3 allocation score on lxc2: 100 native_color: M:4 allocation score on 18node1: -INFINITY diff --git a/pengine/test10/whitebox-move.scores b/pengine/test10/whitebox-move.scores index 7f38afe..b268be3 100644 --- a/pengine/test10/whitebox-move.scores +++ b/pengine/test10/whitebox-move.scores @@ -41,22 +41,22 @@ native_color: M:0 allocation score on lxc1: 0 native_color: M:0 allocation score on lxc2: 0 native_color: M:1 allocation score on 18node1: -INFINITY native_color: M:1 allocation score on 18node2: 100 -native_color: M:1 allocation score on 18node3: -INFINITY -native_color: M:1 allocation score on lxc1: -INFINITY -native_color: M:1 allocation score on lxc2: -INFINITY +native_color: M:1 allocation score on 18node3: 0 +native_color: M:1 allocation score on lxc1: 0 +native_color: M:1 allocation score on lxc2: 0 native_color: M:2 allocation score on 18node1: -INFINITY -native_color: M:2 allocation score on 18node2: 0 +native_color: M:2 allocation score on 18node2: -INFINITY native_color: M:2 allocation score on 18node3: 100 -native_color: M:2 allocation score on lxc1: -INFINITY -native_color: M:2 allocation score on lxc2: -INFINITY +native_color: M:2 allocation score on lxc1: 0 +native_color: M:2 allocation score on lxc2: 0 native_color: M:3 allocation score on 18node1: -INFINITY -native_color: M:3 allocation score on 18node2: 0 -native_color: M:3 allocation score on 18node3: 0 +native_color: M:3 allocation score on 18node2: -INFINITY +native_color: M:3 allocation score on 18node3: -INFINITY native_color: M:3 allocation score on lxc1: 100 native_color: M:3 allocation score on lxc2: 0 native_color: M:4 allocation score on 18node1: -INFINITY -native_color: M:4 allocation score on 18node2: 0 -native_color: M:4 allocation score on 18node3: 0 +native_color: M:4 allocation score on 18node2: -INFINITY +native_color: M:4 allocation score on 18node3: -INFINITY native_color: M:4 allocation score on lxc1: -INFINITY native_color: M:4 allocation score on lxc2: 100 native_color: container1 allocation score on 18node1: -INFINITY diff --git a/pengine/test10/whitebox-ms-ordering-move.scores b/pengine/test10/whitebox-ms-ordering-move.scores index 290d160..8953542 100644 --- a/pengine/test10/whitebox-ms-ordering-move.scores +++ b/pengine/test10/whitebox-ms-ordering-move.scores @@ -245,27 +245,27 @@ native_color: ping-1:1 allocation score on rhel7-1: 1 native_color: ping-1:1 allocation score on rhel7-2: 0 native_color: ping-1:1 allocation score on rhel7-3: -INFINITY native_color: ping-1:1 allocation score on rhel7-4: 0 -native_color: ping-1:1 allocation score on rhel7-5: -INFINITY +native_color: ping-1:1 allocation score on rhel7-5: 0 native_color: ping-1:2 allocation score on lxc1: -INFINITY native_color: ping-1:2 allocation score on lxc2: -INFINITY native_color: ping-1:2 allocation score on rhel7-1: -INFINITY native_color: ping-1:2 allocation score on rhel7-2: 1 native_color: ping-1:2 allocation score on rhel7-3: -INFINITY native_color: ping-1:2 allocation score on rhel7-4: 0 -native_color: ping-1:2 allocation score on rhel7-5: -INFINITY +native_color: ping-1:2 allocation score on rhel7-5: 0 native_color: ping-1:3 allocation score on lxc1: -INFINITY native_color: ping-1:3 allocation score on lxc2: -INFINITY native_color: ping-1:3 allocation score on rhel7-1: -INFINITY native_color: ping-1:3 allocation score on rhel7-2: -INFINITY native_color: ping-1:3 allocation score on rhel7-3: -INFINITY native_color: ping-1:3 allocation score on rhel7-4: 1 -native_color: ping-1:3 allocation score on rhel7-5: -INFINITY +native_color: ping-1:3 allocation score on rhel7-5: 0 native_color: ping-1:4 allocation score on lxc1: -INFINITY native_color: ping-1:4 allocation score on lxc2: -INFINITY -native_color: ping-1:4 allocation score on rhel7-1: 0 -native_color: ping-1:4 allocation score on rhel7-2: 0 +native_color: ping-1:4 allocation score on rhel7-1: -INFINITY +native_color: ping-1:4 allocation score on rhel7-2: -INFINITY native_color: ping-1:4 allocation score on rhel7-3: -INFINITY -native_color: ping-1:4 allocation score on rhel7-4: 0 +native_color: ping-1:4 allocation score on rhel7-4: -INFINITY native_color: ping-1:4 allocation score on rhel7-5: 1 native_color: ping-1:5 allocation score on lxc1: -INFINITY native_color: ping-1:5 allocation score on lxc2: -INFINITY @@ -343,27 +343,27 @@ native_color: stateful-1:1 allocation score on rhel7-1: 6 native_color: stateful-1:1 allocation score on rhel7-2: 0 native_color: stateful-1:1 allocation score on rhel7-3: -INFINITY native_color: stateful-1:1 allocation score on rhel7-4: 0 -native_color: stateful-1:1 allocation score on rhel7-5: -INFINITY +native_color: stateful-1:1 allocation score on rhel7-5: 0 native_color: stateful-1:2 allocation score on lxc1: -INFINITY native_color: stateful-1:2 allocation score on lxc2: -INFINITY native_color: stateful-1:2 allocation score on rhel7-1: -INFINITY native_color: stateful-1:2 allocation score on rhel7-2: 6 native_color: stateful-1:2 allocation score on rhel7-3: -INFINITY native_color: stateful-1:2 allocation score on rhel7-4: 0 -native_color: stateful-1:2 allocation score on rhel7-5: -INFINITY +native_color: stateful-1:2 allocation score on rhel7-5: 0 native_color: stateful-1:3 allocation score on lxc1: -INFINITY native_color: stateful-1:3 allocation score on lxc2: -INFINITY native_color: stateful-1:3 allocation score on rhel7-1: -INFINITY native_color: stateful-1:3 allocation score on rhel7-2: -INFINITY native_color: stateful-1:3 allocation score on rhel7-3: -INFINITY native_color: stateful-1:3 allocation score on rhel7-4: 6 -native_color: stateful-1:3 allocation score on rhel7-5: -INFINITY +native_color: stateful-1:3 allocation score on rhel7-5: 0 native_color: stateful-1:4 allocation score on lxc1: -INFINITY native_color: stateful-1:4 allocation score on lxc2: -INFINITY -native_color: stateful-1:4 allocation score on rhel7-1: 0 -native_color: stateful-1:4 allocation score on rhel7-2: 0 +native_color: stateful-1:4 allocation score on rhel7-1: -INFINITY +native_color: stateful-1:4 allocation score on rhel7-2: -INFINITY native_color: stateful-1:4 allocation score on rhel7-3: -INFINITY -native_color: stateful-1:4 allocation score on rhel7-4: 0 +native_color: stateful-1:4 allocation score on rhel7-4: -INFINITY native_color: stateful-1:4 allocation score on rhel7-5: 6 stateful-1:0 promotion score on rhel7-3: 10 stateful-1:1 promotion score on rhel7-1: 5 diff --git a/pengine/test10/whitebox-orphan-ms.scores b/pengine/test10/whitebox-orphan-ms.scores index d968052..764407b 100644 --- a/pengine/test10/whitebox-orphan-ms.scores +++ b/pengine/test10/whitebox-orphan-ms.scores @@ -59,12 +59,12 @@ native_color: migrator allocation score on 18node1: 1 native_color: migrator allocation score on 18node2: 0 native_color: migrator allocation score on 18node3: 0 native_color: ping-1:0 allocation score on 18node1: 1 -native_color: ping-1:0 allocation score on 18node2: -INFINITY -native_color: ping-1:0 allocation score on 18node3: -INFINITY -native_color: ping-1:1 allocation score on 18node1: 0 +native_color: ping-1:0 allocation score on 18node2: 0 +native_color: ping-1:0 allocation score on 18node3: 0 +native_color: ping-1:1 allocation score on 18node1: -INFINITY native_color: ping-1:1 allocation score on 18node2: 1 native_color: ping-1:1 allocation score on 18node3: 0 -native_color: ping-1:2 allocation score on 18node1: 0 +native_color: ping-1:2 allocation score on 18node1: -INFINITY native_color: ping-1:2 allocation score on 18node2: -INFINITY native_color: ping-1:2 allocation score on 18node3: 1 native_color: r192.168.122.87 allocation score on 18node1: 11 @@ -86,16 +86,16 @@ native_color: rsc_18node3 allocation score on 18node1: 0 native_color: rsc_18node3 allocation score on 18node2: 0 native_color: rsc_18node3 allocation score on 18node3: 100 native_color: stateful-1:0 allocation score on 18node1: 11 -native_color: stateful-1:0 allocation score on 18node2: -INFINITY -native_color: stateful-1:0 allocation score on 18node3: -INFINITY +native_color: stateful-1:0 allocation score on 18node2: 0 +native_color: stateful-1:0 allocation score on 18node3: 0 native_color: stateful-1:0 allocation score on lxc1: -INFINITY native_color: stateful-1:0 allocation score on lxc2: -INFINITY -native_color: stateful-1:1 allocation score on 18node1: 0 +native_color: stateful-1:1 allocation score on 18node1: -INFINITY native_color: stateful-1:1 allocation score on 18node2: 6 native_color: stateful-1:1 allocation score on 18node3: 0 native_color: stateful-1:1 allocation score on lxc1: -INFINITY native_color: stateful-1:1 allocation score on lxc2: -INFINITY -native_color: stateful-1:2 allocation score on 18node1: 0 +native_color: stateful-1:2 allocation score on 18node1: -INFINITY native_color: stateful-1:2 allocation score on 18node2: -INFINITY native_color: stateful-1:2 allocation score on 18node3: 6 native_color: stateful-1:2 allocation score on lxc1: -INFINITY diff --git a/pengine/test10/whitebox-orphaned.scores b/pengine/test10/whitebox-orphaned.scores index d2378af..7f303b8 100644 --- a/pengine/test10/whitebox-orphaned.scores +++ b/pengine/test10/whitebox-orphaned.scores @@ -42,15 +42,15 @@ native_color: M:0 allocation score on 18node3: 0 native_color: M:0 allocation score on lxc2: 0 native_color: M:1 allocation score on 18node1: -INFINITY native_color: M:1 allocation score on 18node2: 100 -native_color: M:1 allocation score on 18node3: -INFINITY -native_color: M:1 allocation score on lxc2: -INFINITY +native_color: M:1 allocation score on 18node3: 0 +native_color: M:1 allocation score on lxc2: 0 native_color: M:2 allocation score on 18node1: -INFINITY -native_color: M:2 allocation score on 18node2: 0 +native_color: M:2 allocation score on 18node2: -INFINITY native_color: M:2 allocation score on 18node3: 100 -native_color: M:2 allocation score on lxc2: -INFINITY +native_color: M:2 allocation score on lxc2: 0 native_color: M:3 allocation score on 18node1: -INFINITY -native_color: M:3 allocation score on 18node2: 0 -native_color: M:3 allocation score on 18node3: 0 +native_color: M:3 allocation score on 18node2: -INFINITY +native_color: M:3 allocation score on 18node3: -INFINITY native_color: M:3 allocation score on lxc2: 100 native_color: container2 allocation score on 18node1: 0 native_color: container2 allocation score on 18node2: 200 diff --git a/pengine/test10/whitebox-start.scores b/pengine/test10/whitebox-start.scores index 1f0f273..338ce74 100644 --- a/pengine/test10/whitebox-start.scores +++ b/pengine/test10/whitebox-start.scores @@ -51,22 +51,22 @@ native_color: D allocation score on lxc1: 0 native_color: D allocation score on lxc2: 0 native_color: M:0 allocation score on 18node1: 100 native_color: M:0 allocation score on 18node2: 0 -native_color: M:0 allocation score on 18node3: -INFINITY +native_color: M:0 allocation score on 18node3: 0 native_color: M:0 allocation score on lxc1: 0 -native_color: M:0 allocation score on lxc2: -INFINITY +native_color: M:0 allocation score on lxc2: 0 native_color: M:1 allocation score on 18node1: -INFINITY native_color: M:1 allocation score on 18node2: 100 -native_color: M:1 allocation score on 18node3: -INFINITY +native_color: M:1 allocation score on 18node3: 0 native_color: M:1 allocation score on lxc1: 0 -native_color: M:1 allocation score on lxc2: -INFINITY -native_color: M:2 allocation score on 18node1: 0 -native_color: M:2 allocation score on 18node2: 0 +native_color: M:1 allocation score on lxc2: 0 +native_color: M:2 allocation score on 18node1: -INFINITY +native_color: M:2 allocation score on 18node2: -INFINITY native_color: M:2 allocation score on 18node3: 100 native_color: M:2 allocation score on lxc1: 0 -native_color: M:2 allocation score on lxc2: -INFINITY -native_color: M:3 allocation score on 18node1: 0 -native_color: M:3 allocation score on 18node2: 0 -native_color: M:3 allocation score on 18node3: 0 +native_color: M:2 allocation score on lxc2: 0 +native_color: M:3 allocation score on 18node1: -INFINITY +native_color: M:3 allocation score on 18node2: -INFINITY +native_color: M:3 allocation score on 18node3: -INFINITY native_color: M:3 allocation score on lxc1: 0 native_color: M:3 allocation score on lxc2: 100 native_color: M:4 allocation score on 18node1: -INFINITY diff --git a/pengine/test10/whitebox-stop.scores b/pengine/test10/whitebox-stop.scores index 0f97c14..12b38dd 100644 --- a/pengine/test10/whitebox-stop.scores +++ b/pengine/test10/whitebox-stop.scores @@ -56,17 +56,17 @@ native_color: M:0 allocation score on lxc1: -INFINITY native_color: M:0 allocation score on lxc2: 0 native_color: M:1 allocation score on 18node1: -INFINITY native_color: M:1 allocation score on 18node2: 100 -native_color: M:1 allocation score on 18node3: -INFINITY +native_color: M:1 allocation score on 18node3: 0 native_color: M:1 allocation score on lxc1: -INFINITY -native_color: M:1 allocation score on lxc2: -INFINITY +native_color: M:1 allocation score on lxc2: 0 native_color: M:2 allocation score on 18node1: -INFINITY -native_color: M:2 allocation score on 18node2: 0 +native_color: M:2 allocation score on 18node2: -INFINITY native_color: M:2 allocation score on 18node3: 100 native_color: M:2 allocation score on lxc1: -INFINITY -native_color: M:2 allocation score on lxc2: -INFINITY +native_color: M:2 allocation score on lxc2: 0 native_color: M:3 allocation score on 18node1: -INFINITY -native_color: M:3 allocation score on 18node2: 0 -native_color: M:3 allocation score on 18node3: 0 +native_color: M:3 allocation score on 18node2: -INFINITY +native_color: M:3 allocation score on 18node3: -INFINITY native_color: M:3 allocation score on lxc1: -INFINITY native_color: M:3 allocation score on lxc2: 100 native_color: M:4 allocation score on 18node1: -INFINITY diff --git a/pengine/utilization.c b/pengine/utilization.c index db41b21..e3996e2 100644 --- a/pengine/utilization.c +++ b/pengine/utilization.c @@ -317,7 +317,7 @@ find_colocated_rscs(GListPtr colocated_rscs, resource_t * rsc, resource_t * orig continue; } - if (rsc_lh->variant <= pe_group && rsc->variant > pe_group) { + if (rsc_lh->variant <= pe_group && rsc->variant >= pe_clone) { /* We do not know if rsc_lh will be colocated with orig_rsc in this case */ continue; } diff --git a/pengine/utils.c b/pengine/utils.c index ca25d4a..755f1c8 100644 --- a/pengine/utils.c +++ b/pengine/utils.c @@ -242,13 +242,24 @@ native_assign_node(resource_t * rsc, GListPtr nodes, node_t * chosen, gboolean f { CRM_ASSERT(rsc->variant == pe_native); - if (force == FALSE - && chosen != NULL && (can_run_resources(chosen) == FALSE || chosen->weight < 0)) { - crm_debug("All nodes for resource %s are unavailable" - ", unclean or shutting down (%s: %d, %d)", - rsc->id, chosen->details->uname, can_run_resources(chosen), chosen->weight); - rsc->next_role = RSC_ROLE_STOPPED; - chosen = NULL; + if (force == FALSE && chosen != NULL) { + bool unset = FALSE; + + if(chosen->weight < 0) { + unset = TRUE; + + // Allow the graph to assume that the remote resource will come up + } else if(can_run_resources(chosen) == FALSE && !is_container_remote_node(chosen)) { + unset = TRUE; + } + + if(unset) { + crm_debug("All nodes for resource %s are unavailable" + ", unclean or shutting down (%s: %d, %d)", + rsc->id, chosen->details->uname, can_run_resources(chosen), chosen->weight); + rsc->next_role = RSC_ROLE_STOPPED; + chosen = NULL; + } } /* todo: update the old node for each resource to reflect its @@ -271,10 +282,10 @@ native_assign_node(resource_t * rsc, GListPtr nodes, node_t * chosen, gboolean f crm_debug("Processing %s", op->uuid); if(safe_str_eq(RSC_STOP, op->task)) { - update_action_flags(op, pe_action_optional | pe_action_clear, __FUNCTION__); + update_action_flags(op, pe_action_optional | pe_action_clear, __FUNCTION__, __LINE__); } else if(safe_str_eq(RSC_START, op->task)) { - update_action_flags(op, pe_action_runnable | pe_action_clear, __FUNCTION__); + update_action_flags(op, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__); /* set_bit(rsc->flags, pe_rsc_block); */ } else if(interval && safe_str_neq(interval, "0")) { @@ -283,7 +294,7 @@ native_assign_node(resource_t * rsc, GListPtr nodes, node_t * chosen, gboolean f } else { /* Normal monitor operation, cancel it */ - update_action_flags(op, pe_action_runnable | pe_action_clear, __FUNCTION__); + update_action_flags(op, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__); } } } diff --git a/tools/crm_resource_runtime.c b/tools/crm_resource_runtime.c index 4f3a2fc..67640c1 100644 --- a/tools/crm_resource_runtime.c +++ b/tools/crm_resource_runtime.c @@ -1109,7 +1109,7 @@ cli_resource_restart(resource_t * rsc, const char *host, int timeout_ms, cib_t * attr_set_type = XML_TAG_META_SETS; rsc_id = strdup(rsc->id); - if(rsc->variant > pe_group) { + if(rsc->variant >= pe_clone) { is_clone = TRUE; } @@ -1624,7 +1624,7 @@ cli_resource_move(const char *rsc_id, const char *host_name, cib_t * cib, pe_wor count = g_list_length(rsc->running_on); } - } else if (rsc->variant > pe_group) { + } else if (rsc->variant >= pe_clone) { count = g_list_length(rsc->running_on); } else if (g_list_length(rsc->running_on) > 1) { diff --git a/xml/resources-2.8.rng b/xml/resources-2.8.rng new file mode 100644 index 0000000..f41f84d --- /dev/null +++ b/xml/resources-2.8.rng @@ -0,0 +1,300 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ([0-9\-]+) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Stopped + Started + Slave + Master + + + + + + + nothing + quorum + fencing + unfencing + + + + + + + ignore + block + stop + restart + standby + fence + restart-container + + + + + + + + + + + + + + ocf + + + + + lsb + heartbeat + stonith + upstart + service + systemd + nagios + + + + + -- 1.8.3.1