diff options
| author | Bo Peng | 2020-08-10 15:57:46 +0000 |
|---|---|---|
| committer | Bo Peng | 2020-08-10 15:57:46 +0000 |
| commit | a840ecb2c0aa15448f7fc63a7b0bb46949a9c24f (patch) | |
| tree | 2c2add8bebc15e0538b81613a8c227ccc030afa9 /src/tools | |
| parent | cbf00a98f04d9d0235e7cbd5d97ba1ec22cadd9d (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.am | 5 | ||||
| -rw-r--r-- | src/tools/pgmd5/Makefile.in | 7 | ||||
| -rw-r--r-- | src/tools/watchdog/Makefile.am | 3 | ||||
| -rw-r--r-- | src/tools/watchdog/Makefile.in | 9 | ||||
| -rw-r--r-- | src/tools/watchdog/wd_cli.c | 5 |
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); } |
