*/
static void lcp2_init(struct ctdb_context * tmp_ctx,
struct ctdb_node_map * nodemap,
- uint32_t mask,
struct ctdb_public_ip_list *all_ips,
uint32_t **lcp2_imbalances,
bool **rebalance_candidates)
static void ip_alloc_lcp2(struct ctdb_context *ctdb,
struct ctdb_node_map *nodemap,
- struct ctdb_public_ip_list *all_ips,
- uint32_t mask)
+ struct ctdb_public_ip_list *all_ips)
{
uint32_t *lcp2_imbalances;
bool *rebalance_candidates;
unassign_unsuitable_ips(ctdb, nodemap, all_ips);
- lcp2_init(tmp_ctx, nodemap, mask, all_ips,
+ lcp2_init(tmp_ctx, nodemap, all_ips,
&lcp2_imbalances, &rebalance_candidates);
lcp2_allocate_unassigned(ctdb, nodemap, all_ips, lcp2_imbalances);
struct ctdb_node_map *nodemap,
struct ctdb_public_ip_list **all_ips_p)
{
- uint32_t mask;
-
- /* If we have healthy nodes then we will only consider them
- for serving public addresses
- */
- mask = NODE_FLAGS_INACTIVE|NODE_FLAGS_DISABLED;
- if (all_nodes_are_disabled(nodemap) &&
- (ctdb->tunable.no_ip_host_on_all_disabled == 0)) {
- /* We didnt have any completely healthy nodes so
- use "disabled" nodes as a fallback
- */
- mask = NODE_FLAGS_INACTIVE;
- }
-
/* since nodes only know about those public addresses that
can be served by that particular node, no single node has
a full list of all public addresses that exist in the cluster.
*all_ips_p = create_merged_ip_list(ctdb);
if (1 == ctdb->tunable.lcp2_public_ip_assignment) {
- ip_alloc_lcp2(ctdb, nodemap, *all_ips_p, mask);
+ ip_alloc_lcp2(ctdb, nodemap, *all_ips_p);
} else if (1 == ctdb->tunable.deterministic_public_ips) {
ip_alloc_deterministic_ips(ctdb, nodemap, *all_ips_p);
} else {
ctdb_test_init(nodestates, &ctdb, &all_ips, &nodemap);
- lcp2_init(ctdb, nodemap,
- NODE_FLAGS_INACTIVE|NODE_FLAGS_DISABLED,
- all_ips, &lcp2_imbalances, &newly_healthy);
+ lcp2_init(ctdb, nodemap, all_ips, &lcp2_imbalances, &newly_healthy);
lcp2_allocate_unassigned(ctdb, nodemap,
all_ips, lcp2_imbalances);
ctdb_test_init(nodestates, &ctdb, &all_ips, &nodemap);
- lcp2_init(ctdb, nodemap,
- NODE_FLAGS_INACTIVE|NODE_FLAGS_DISABLED,
- all_ips, &lcp2_imbalances, &newly_healthy);
+ lcp2_init(ctdb, nodemap, all_ips, &lcp2_imbalances, &newly_healthy);
lcp2_failback(ctdb, nodemap,
all_ips, lcp2_imbalances, newly_healthy);
ctdb_test_init(nodestates, &ctdb, &all_ips, &nodemap);
- lcp2_init(ctdb, nodemap,
- NODE_FLAGS_INACTIVE|NODE_FLAGS_DISABLED,
- all_ips, &lcp2_imbalances, &newly_healthy);
+ lcp2_init(ctdb, nodemap, all_ips, &lcp2_imbalances, &newly_healthy);
lcp2_failback(ctdb, nodemap,
all_ips, lcp2_imbalances, newly_healthy);