summaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
authorBo Peng2020-08-10 15:57:46 +0000
committerBo Peng2020-08-10 15:57:46 +0000
commita840ecb2c0aa15448f7fc63a7b0bb46949a9c24f (patch)
tree2c2add8bebc15e0538b81613a8c227ccc030afa9 /src/tools
parentcbf00a98f04d9d0235e7cbd5d97ba1ec22cadd9d (diff)
New feature: Simplify Watchdog related configuration parameters.
This commit simplifies watchdog related configuration parameters by using a common config file for each pgpool node and a pgpool_node_id file. Previously we need to configure the following parameters on each pgpool node, because of the difference between local and remote pgpool nodes settings. - wd_hostname - wd_port - wd_heartbeat_port - heartbeat_device - heartbeat_destination0 - heartbeat_destination_port0 - heartbeat_destination1 - heartbeat_destination_port1 - other_pgpool_hostname0 - other_pgpool_port0 - other_wd_port0 - other_pgpool_hostname1 - other_pgpool_port1 - other_wd_port1 This commit simplifies watchdog related configuration by using a common config file for each pgpool node and a pgpool_node_id file, and users just copy the configuration file to each pgpool node without editing. The parameters above are changed to (for 3 pgpool nodes): (For example) ============================== hostname0 = 'server1' wd_port0 = 9000 pgpool_port0 = 9999 hostname1 = 'server2' wd_port1 = 9000 pgpool_port1 = 9999 hostname2 = 'server3' wd_port2 = 9000 pgpool_port2 = 9999 heartbeat_hostname0 = 'server1' heartbeat_port0 = 9694 heartbeat_device0 = '' heartbeat_hostname1 = 'server2' heartbeat_port1 = 9694 heartbeat_device1 = '' heartbeat_hostname2 = 'server3' heartbeat_port2 = 9694 heartbeat_device2 = '' ============================== You can specify multiple configurations in "heartbeat_hostname" and "heartbeat_device" by separating them using semicolon (;). And user needs to specify local pgpool node id in a pgpool_node_id file on each pgpool node. pgpool_node_id file should be created in the direcroty of pgpool.conf. In addition, this commit increases "WD_MESSAGE_DATA_VERSION_MINOR" to "2".
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/pgmd5/Makefile.am5
-rw-r--r--src/tools/pgmd5/Makefile.in7
-rw-r--r--src/tools/watchdog/Makefile.am3
-rw-r--r--src/tools/watchdog/Makefile.in9
-rw-r--r--src/tools/watchdog/wd_cli.c5
5 files changed, 21 insertions, 8 deletions
diff --git a/src/tools/pgmd5/Makefile.am b/src/tools/pgmd5/Makefile.am
index ec0d9ba26..1bf535a2a 100644
--- a/src/tools/pgmd5/Makefile.am
+++ b/src/tools/pgmd5/Makefile.am
@@ -9,7 +9,8 @@ nodist_pg_md5_SOURCES = md5.c \
regex_array.c \
pool_config_variables.c \
pool_config.c \
- fe_memutils.c
+ fe_memutils.c \
+ pool_path.c
DEFS = @DEFS@ \
-DDEFAULT_CONFIGDIR=\"$(sysconfdir)\" -DPOOL_TOOLS
@@ -20,6 +21,8 @@ md5.h: ../../../src/include/auth/md5.h
rm -f $@ && ln -s $< .
pool_passwd.c: ../../../src/auth/pool_passwd.c
rm -f $@ && ln -s $< .
+pool_path.c: ../../../src/utils/pool_path.c
+ rm -f $@ && ln -s $< .
strlcpy.c: ../../../src/utils/strlcpy.c
rm -f $@ && ln -s $< .
regex_array.c: ../../../src/utils/regex_array.c
diff --git a/src/tools/pgmd5/Makefile.in b/src/tools/pgmd5/Makefile.in
index ebd150003..0fbb1b802 100644
--- a/src/tools/pgmd5/Makefile.in
+++ b/src/tools/pgmd5/Makefile.in
@@ -103,7 +103,7 @@ dist_pg_md5_OBJECTS = pg_md5.$(OBJEXT) ../fe_port.$(OBJEXT)
nodist_pg_md5_OBJECTS = md5.$(OBJEXT) pool_passwd.$(OBJEXT) \
strlcpy.$(OBJEXT) regex_array.$(OBJEXT) \
pool_config_variables.$(OBJEXT) pool_config.$(OBJEXT) \
- fe_memutils.$(OBJEXT)
+ fe_memutils.$(OBJEXT) pool_path.$(OBJEXT)
pg_md5_OBJECTS = $(dist_pg_md5_OBJECTS) $(nodist_pg_md5_OBJECTS)
pg_md5_LDADD = $(LDADD)
AM_V_lt = $(am__v_lt_@AM_V@)
@@ -319,7 +319,8 @@ nodist_pg_md5_SOURCES = md5.c \
regex_array.c \
pool_config_variables.c \
pool_config.c \
- fe_memutils.c
+ fe_memutils.c \
+ pool_path.c
all: all-am
@@ -648,6 +649,8 @@ md5.h: ../../../src/include/auth/md5.h
rm -f $@ && ln -s $< .
pool_passwd.c: ../../../src/auth/pool_passwd.c
rm -f $@ && ln -s $< .
+pool_path.c: ../../../src/utils/pool_path.c
+ rm -f $@ && ln -s $< .
strlcpy.c: ../../../src/utils/strlcpy.c
rm -f $@ && ln -s $< .
regex_array.c: ../../../src/utils/regex_array.c
diff --git a/src/tools/watchdog/Makefile.am b/src/tools/watchdog/Makefile.am
index e54df8584..c405e8173 100644
--- a/src/tools/watchdog/Makefile.am
+++ b/src/tools/watchdog/Makefile.am
@@ -14,6 +14,7 @@ nodist_wd_cli_SOURCES = ssl_utils.c \
json.c \
pool_config_variables.c \
pool_config.c \
+ pool_path.c \
fe_memutils.c \
stringinfo.h \
stringinfo.c \
@@ -64,6 +65,8 @@ pool_config_variables.c: ../../../src/config/pool_config_variables.c
rm -f $@ && ln -s $< .
pool_config.c: ../../../src/config/pool_config.c
rm -f $@ && ln -s $< .
+pool_path.c: ../../../src/utils/pool_path.c
+ rm -f $@ && ln -s $< .
fe_memutils.c: ../../../src/tools/fe_memutils.c
rm -f $@ && ln -s $< .
diff --git a/src/tools/watchdog/Makefile.in b/src/tools/watchdog/Makefile.in
index 910635256..9754d2c4b 100644
--- a/src/tools/watchdog/Makefile.in
+++ b/src/tools/watchdog/Makefile.in
@@ -104,9 +104,9 @@ dist_wd_cli_OBJECTS = wd_cli.$(OBJEXT) ../fe_port.$(OBJEXT)
nodist_wd_cli_OBJECTS = ssl_utils.$(OBJEXT) wd_ipc_conn.$(OBJEXT) \
wd_commands.$(OBJEXT) json_writer.$(OBJEXT) json.$(OBJEXT) \
pool_config_variables.$(OBJEXT) pool_config.$(OBJEXT) \
- fe_memutils.$(OBJEXT) stringinfo.$(OBJEXT) strlcpy.$(OBJEXT) \
- socket_stream.$(OBJEXT) regex_array.$(OBJEXT) \
- psprintf.$(OBJEXT) md5.$(OBJEXT)
+ pool_path.$(OBJEXT) fe_memutils.$(OBJEXT) stringinfo.$(OBJEXT) \
+ strlcpy.$(OBJEXT) socket_stream.$(OBJEXT) \
+ regex_array.$(OBJEXT) psprintf.$(OBJEXT) md5.$(OBJEXT)
wd_cli_OBJECTS = $(dist_wd_cli_OBJECTS) $(nodist_wd_cli_OBJECTS)
wd_cli_LDADD = $(LDADD)
AM_V_lt = $(am__v_lt_@AM_V@)
@@ -353,6 +353,7 @@ nodist_wd_cli_SOURCES = ssl_utils.c \
json.c \
pool_config_variables.c \
pool_config.c \
+ pool_path.c \
fe_memutils.c \
stringinfo.h \
stringinfo.c \
@@ -757,6 +758,8 @@ pool_config_variables.c: ../../../src/config/pool_config_variables.c
rm -f $@ && ln -s $< .
pool_config.c: ../../../src/config/pool_config.c
rm -f $@ && ln -s $< .
+pool_path.c: ../../../src/utils/pool_path.c
+ rm -f $@ && ln -s $< .
fe_memutils.c: ../../../src/tools/fe_memutils.c
rm -f $@ && ln -s $< .
diff --git a/src/tools/watchdog/wd_cli.c b/src/tools/watchdog/wd_cli.c
index 0824e01bb..dfc47f58e 100644
--- a/src/tools/watchdog/wd_cli.c
+++ b/src/tools/watchdog/wd_cli.c
@@ -334,14 +334,15 @@ main(int argc, char **argv)
}
if (debug)
- printf("DEBUG: From config %s:%d\n",pool_config->wd_ipc_socket_dir, pool_config->wd_port);
+ printf("DEBUG: From config %s:%d\n",pool_config->wd_ipc_socket_dir,
+ pool_config->wd_nodes.wd_node_info[pool_config->pgpool_node_id].wd_port);
pfree(conf_file_path);
/* only use values from pg_config that are not provided explicitely*/
if (wd_authkey == NULL)
wd_authkey = pstrdup(pool_config->wd_authkey);
if (port < 0)
- port = pool_config->wd_port;
+ port = pool_config->wd_nodes.wd_node_info[pool_config->pgpool_node_id].wd_port;
if (socket_dir == NULL)
socket_dir = pstrdup(pool_config->wd_ipc_socket_dir);
}