1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-03 01:18:10 +03:00
samba-mirror/ctdb/conf/cluster_conf.h
John Mulligan 315890e845 ctdb-conf: add "nodes list" configuration option
Add a "nodes list" configuration option to the [cluster] section of the
ctdb server config. This option will be used similarly to the `cluster
lock` parameter works. When unset it defaults to the same value as
before (/etc/ctdb/nodes). If given a path that is not prefixed by `!` it
instead loads the nodes file from the given path If given a path
prefixed by `!` then it executes the path as a command and reads the
standard output as if it were the content of the nodes file.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2024-08-06 00:43:36 +00:00

54 lines
1.9 KiB
C

/*
CTDB cluster config handling
Copyright (C) Martin Schwenke 2018
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 3 of the License, or
(at your option) any later version.
This program 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 program; if not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __CTDB_CLUSTER_CONF_H__
#define __CTDB_CLUSTER_CONF_H__
#include <talloc.h>
#include "conf/conf.h"
#define CLUSTER_CONF_SECTION "cluster"
#define CLUSTER_CONF_TRANSPORT "transport"
#define CLUSTER_CONF_NODE_ADDRESS "node address"
#define CLUSTER_CONF_CLUSTER_LOCK "cluster lock"
#define CLUSTER_CONF_RECOVERY_LOCK "recovery lock"
#define CLUSTER_CONF_NODES_LIST "nodes list"
#define CLUSTER_CONF_LEADER_TIMEOUT "leader timeout"
#define CLUSTER_CONF_LEADER_CAPABILITY "leader capability"
void cluster_conf_init(struct conf_context *conf);
/**
* @brief Return the value of the nodes list configuration parameter.
*
* This function is used to fetch the value set in the ctdb.conf (or equivalent)
* for 'nodes list' a value that is then used to fetch the actual nodes list
* of private node addresses. If a value is not present in the configuration
* file a backwards compatible default value will be returned.
*
* @param[in] mem_ctx TALLOC memory context
* @param[in] conf A configuration context
* @return string or NULL on memory allocation error
*/
char *cluster_conf_nodes_list(TALLOC_CTX *mem_ctx, struct conf_context *conf);
#endif /* __CTDB_CLUSTER_CONF_H__ */