ctdb-daemon: Drop plumbing for obsolete tunable NoIPHostOnAllDisabled
authorMartin Schwenke <martin@meltin.net>
Mon, 18 Jun 2018 06:06:18 +0000 (16:06 +1000)
committerAmitay Isaacs <amitay@samba.org>
Wed, 11 Jul 2018 09:48:38 +0000 (11:48 +0200)
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
ctdb/server/ctdb_takeover_helper.c
ctdb/server/ipalloc.c
ctdb/server/ipalloc.h
ctdb/server/ipalloc_private.h
ctdb/tests/src/ctdb_takeover_tests.c

index 20687024a4068730ce54f3b1289f4f52a7c2b89b..66fc44aa213f03d4ec75c914904ed84dc8989e1e 100644 (file)
@@ -859,7 +859,6 @@ static void takeover_nodemap_done(struct tevent_req *subreq)
                        determine_algorithm(state->tun_list),
                        (state->tun_list->no_ip_takeover != 0),
                        (state->tun_list->no_ip_failback != 0),
-                       (state->tun_list->no_ip_host_on_all_disabled != 0),
                        state->force_rebalance_nodes);
        if (tevent_req_nomem(state->ipalloc_state, req)) {
                return;
index a699c144076153d2cfd4c0ce2d996be481caaf66..f599872723d70b37c452c05c4f251d20bc3e97fa 100644 (file)
@@ -40,7 +40,6 @@ ipalloc_state_init(TALLOC_CTX *mem_ctx,
                   enum ipalloc_algorithm algorithm,
                   bool no_ip_takeover,
                   bool no_ip_failback,
-                  bool no_ip_host_on_all_disabled,
                   uint32_t *force_rebalance_nodes)
 {
        struct ipalloc_state *ipalloc_state =
@@ -62,7 +61,6 @@ ipalloc_state_init(TALLOC_CTX *mem_ctx,
        ipalloc_state->algorithm = algorithm;
        ipalloc_state->no_ip_takeover = no_ip_takeover;
        ipalloc_state->no_ip_failback = no_ip_failback;
-       ipalloc_state->no_ip_host_on_all_disabled = no_ip_host_on_all_disabled;
        ipalloc_state->force_rebalance_nodes = force_rebalance_nodes;
 
        return ipalloc_state;
@@ -208,34 +206,15 @@ static bool populate_bitmap(struct ipalloc_state *ipalloc_state)
        return true;
 }
 
-static bool all_nodes_are_disabled(struct ctdb_node_map *nodemap)
-{
-       int i;
-
-       for (i=0;i<nodemap->num;i++) {
-               if (!(nodemap->node[i].flags &
-                     (NODE_FLAGS_INACTIVE|NODE_FLAGS_DISABLED))) {
-                       /* Found one completely healthy node */
-                       return false;
-               }
-       }
-
-       return true;
-}
-
 /* Set internal flags for IP allocation:
  *   Clear ip flags
  *   Set NOIPHOST ip flag for each INACTIVE node
- *   if all nodes are disabled:
- *     Set NOIPHOST ip flags from per-node NoIPHostOnAllDisabled tunable
- *   else
- *     Set NOIPHOST ip flags for disabled nodes
+ *   Set NOIPHOST ip flag for each DISABLED node
  */
 void ipalloc_set_node_flags(struct ipalloc_state *ipalloc_state,
                            struct ctdb_node_map *nodemap)
 {
        int i;
-       bool all_disabled = all_nodes_are_disabled(nodemap);
 
        for (i=0;i<nodemap->num;i++) {
                /* Can not host IPs on INACTIVE node */
@@ -243,16 +222,9 @@ void ipalloc_set_node_flags(struct ipalloc_state *ipalloc_state,
                        bitmap_set(ipalloc_state->noiphost, i);
                }
 
-               /* If node is disabled then it can only host IPs if
-                * all nodes are disabled and NoIPHostOnAllDisabled is
-                * unset
-                */
+               /* Can not host IPs on DISABLED node */
                if (nodemap->node[i].flags & NODE_FLAGS_DISABLED) {
-                       if (!(all_disabled &&
-                             ipalloc_state->no_ip_host_on_all_disabled == 0)) {
-
-                               bitmap_set(ipalloc_state->noiphost, i);
-                       }
+                       bitmap_set(ipalloc_state->noiphost, i);
                }
        }
 }
index 590dcb31e4a443f608e9108d8ee9d72f98f7ccd7..aeeda5503283fb3d9f48af5e606a8b6e49ae83bc 100644 (file)
@@ -54,7 +54,6 @@ struct ipalloc_state * ipalloc_state_init(TALLOC_CTX *mem_ctx,
                                          enum ipalloc_algorithm algorithm,
                                          bool no_ip_takeover,
                                          bool no_ip_failback,
-                                         bool no_ip_host_on_all_disabled,
                                          uint32_t *force_rebalance_nodes);
 
 void ipalloc_set_node_flags(struct ipalloc_state *ipalloc_state,
index 1f7385e4c476270899cb01f66fea49fc19c10674..f40378e759fb914e57dc283d5496582da935fda8 100644 (file)
@@ -38,7 +38,6 @@ struct ipalloc_state {
        enum ipalloc_algorithm algorithm;
        bool no_ip_failback;
        bool no_ip_takeover;
-       bool no_ip_host_on_all_disabled;
        uint32_t *force_rebalance_nodes;
 };
 
index ead87c758de6cca83db89cfa4c6f81eee0f7643f..86c167489110e92d9c083afc9e9fb829d99cbef1 100644 (file)
@@ -158,7 +158,6 @@ static void ctdb_test_init(TALLOC_CTX *mem_ctx,
        const char *t;
        struct ctdb_node_map *nodemap;
        uint32_t noiptakeover;
-       uint32_t noiphostonalldisabled;
        ctdb_sock_addr sa_zero = { .ip = { 0 } };
        enum ipalloc_algorithm algorithm;
 
@@ -202,18 +201,10 @@ static void ctdb_test_init(TALLOC_CTX *mem_ctx,
                noiptakeover = 0;
        }
 
-       t = getenv("CTDB_SET_NoIPHostOnAllDisabled");
-       if (t != NULL) {
-               noiphostonalldisabled = (uint32_t) strtol(t, NULL, 0);
-       } else {
-               noiphostonalldisabled = 1;
-       }
-
        *ipalloc_state = ipalloc_state_init(mem_ctx, nodemap->num,
                                            algorithm,
                                            (noiptakeover != 0),
                                            false,
-                                           (noiphostonalldisabled != 0),
                                            NULL);
        assert(*ipalloc_state != NULL);