From: Martin Schwenke Date: Tue, 8 Mar 2016 05:20:03 +0000 (+1100) Subject: ctdb-tools: Drop "ctdb rebalanceip" X-Git-Tag: tdb-1.3.9~444 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aaa57fbcb392061f8fbb5a12fd0e6a7be934ab66;p=thirdparty%2Fsamba.git ctdb-tools: Drop "ctdb rebalanceip" This is undocumented and is not needed. It was a workaround for trying to ensure public IP addresses are properly rebalanced after running "ctdb addip" on multiple nodes. "ctdb reloadips" is a better solution. Signed-off-by: Martin Schwenke Reviewed-by: Amitay Isaacs --- diff --git a/ctdb/doc/ctdb.1.xml b/ctdb/doc/ctdb.1.xml index 5cfc0c10bdb..01a7af84c34 100644 --- a/ctdb/doc/ctdb.1.xml +++ b/ctdb/doc/ctdb.1.xml @@ -1741,7 +1741,7 @@ Server id 0:14765 exists diff --git a/ctdb/server/ctdb_takeover.c b/ctdb/server/ctdb_takeover.c index 5829e87b359..b3660ab6044 100644 --- a/ctdb/server/ctdb_takeover.c +++ b/ctdb/server/ctdb_takeover.c @@ -908,7 +908,7 @@ int32_t ctdb_control_release_ip(struct ctdb_context *ctdb, talloc_free(vnn->takeover_ctx); vnn->takeover_ctx = NULL; - /* Some ctdb tool commands (e.g. moveip, rebalanceip) send + /* Some ctdb tool commands (e.g. moveip) send * lazy multicast to drop an IP from any node that isn't the * intended new node. The following causes makes ctdbd ignore * a release for any address it doesn't host. diff --git a/ctdb/tools/ctdb.c b/ctdb/tools/ctdb.c index 482f5fd930d..7d63a342644 100644 --- a/ctdb/tools/ctdb.c +++ b/ctdb/tools/ctdb.c @@ -1848,82 +1848,6 @@ done: return ret; } -static int rebalance_ip(struct ctdb_context *ctdb, ctdb_sock_addr *addr) -{ - struct ctdb_public_ip ip; - int ret; - uint32_t *nodes; - uint32_t disable_time; - TDB_DATA data; - struct ctdb_node_map_old *nodemap=NULL; - TALLOC_CTX *tmp_ctx = talloc_new(ctdb); - - disable_time = 30; - data.dptr = (uint8_t*)&disable_time; - data.dsize = sizeof(disable_time); - ret = ctdb_client_send_message(ctdb, CTDB_BROADCAST_CONNECTED, CTDB_SRVID_DISABLE_IP_CHECK, data); - if (ret != 0) { - DEBUG(DEBUG_ERR,("Failed to send message to disable ipcheck\n")); - return -1; - } - - ip.pnn = -1; - ip.addr = *addr; - - data.dptr = (uint8_t *)&ip; - data.dsize = sizeof(ip); - - ret = ctdb_ctrl_getnodemap(ctdb, TIMELIMIT(), options.pnn, tmp_ctx, &nodemap); - if (ret != 0) { - DEBUG(DEBUG_ERR, ("Unable to get nodemap from node %u\n", options.pnn)); - talloc_free(tmp_ctx); - return ret; - } - - nodes = list_of_active_nodes(ctdb, nodemap, tmp_ctx, true); - ret = ctdb_client_async_control(ctdb, CTDB_CONTROL_RELEASE_IP, - nodes, 0, - LONGTIMELIMIT(), - false, data, - NULL, NULL, - NULL); - if (ret != 0) { - DEBUG(DEBUG_ERR,("Failed to release IP on nodes\n")); - talloc_free(tmp_ctx); - return -1; - } - - talloc_free(tmp_ctx); - return 0; -} - -/* - release an ip form all nodes and have it re-assigned by recd - */ -static int control_rebalanceip(struct ctdb_context *ctdb, int argc, const char **argv) -{ - ctdb_sock_addr addr; - - assert_single_node_only(); - - if (argc < 1) { - usage(); - return -1; - } - - if (parse_ip(argv[0], NULL, 0, &addr) == 0) { - DEBUG(DEBUG_ERR,("Wrongly formed ip address '%s'\n", argv[0])); - return -1; - } - - if (rebalance_ip(ctdb, &addr) != 0) { - DEBUG(DEBUG_ERR,("Error when trying to reassign ip\n")); - return -1; - } - - return 0; -} - static int getips_store_callback(void *param, void *data) { struct ctdb_public_ip *node_ip = (struct ctdb_public_ip *)data; @@ -6365,7 +6289,6 @@ static const struct { { "listnodes", control_listnodes, false, true, "list all nodes in the cluster"}, { "reloadnodes", control_reload_nodes_file, false, false, "reload the nodes file and restart the transport on all nodes"}, { "moveip", control_moveip, false, false, "move/failover an ip address to another node", " "}, - { "rebalanceip", control_rebalanceip, false, false, "release an ip from the node and let recd rebalance it", ""}, { "addip", control_addip, true, false, "add a ip address to a node", " "}, { "delip", control_delip, false, false, "delete an ip address from a node", ""}, { "eventscript", control_eventscript, true, false, "run the eventscript with the given parameters on a node", ""},