The implementation of DisableIPFailover got intermingled with
--nopublicipcheck. This just looks wrong - Ronnie must have been
having a bad day. :-)
Signed-off-by: Martin Schwenke <martin@meltin.net>
(cherry picked from commit
5083b266dd68b292c4275505f3d1b878dbf12f11)
Conflicts:
include/ctdb_private.h
uint32_t recovery_master;
struct ctdb_call_state *pending_calls;
struct ctdb_client_ip *client_ip_list;
- struct trbt_tree *server_ids;
+ bool do_checkpublicip;
+ struct trbt_tree *server_ids;
const char *event_script_dir;
const char *notification_script;
const char *default_public_interface;
return -1;
}
- if (ctdb->tunable.disable_ip_failover == 0) {
+ if (ctdb->do_checkpublicip) {
if (rec->ip_check_disable_ctx == NULL) {
if (verify_remote_ip_allocation(ctdb, ctdb->nodes[j]->known_public_ips)) {
DEBUG(DEBUG_ERR,("Node %d has inconsistent public ip allocation and needs update.\n", ctdb->nodes[j]->pnn));
ctdb_tunables_set_defaults(ctdb);
- ctdb->tunable.disable_ip_failover = options.no_publicipcheck;
-
ret = ctdb_set_recovery_lock_file(ctdb, options.recovery_lock_file);
if (ret == -1) {
DEBUG(DEBUG_ALERT,("ctdb_set_recovery_lock_file failed - %s\n", ctdb_errstr(ctdb)));
ctdb->valgrinding = options.valgrinding;
+ ctdb->do_checkpublicip = !options.no_publicipcheck;
+
if (options.max_persistent_check_errors < 0) {
ctdb->max_persistent_check_errors = 0xFFFFFFFFFFFFFFFFLL;
} else {