Skip to content

Commit

Permalink
Add 'ping_interval' as an alias of the ping interval attribute
Browse files Browse the repository at this point in the history
  • Loading branch information
nichamon committed Nov 12, 2024
1 parent b960214 commit 1786789
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 16 deletions.
28 changes: 14 additions & 14 deletions ldms/man/ldmsd_failover.man
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ ldmsd_failover - explanation, configuration, and commands for ldmsd failover

.IP \fBfailover_config\fR 16
.RI "host=" HOST " port=" PORT " xprt=" XPRT
.RI "[peer_name=" NAME "] [interval=" USEC "] [timeout_factor=" FLOAT "]"
.RI "[peer_name=" NAME "] [ping_interval=" USEC "] [timeout_factor=" FLOAT "]"
.RI "[auto_switch=" 0|1 "]"

.IP \fBfailover_start\fR
Expand Down Expand Up @@ -63,12 +63,12 @@ optional in re-configuration.
\fBldmsd\fR(8)). If this is specified, the ldmsd will only accept a pairing with
other ldmsd with matching name. Otherwise, the ldmsd will pair with any ldmsd
requesting a failover pairing.
.IP \fBinterval\fR=\fIuSEC\fR
.IP \fBping_interval\fR=\fIuSEC\fR
(Optional) The interval (in micro-seconds) for ping and transport re-connecting.
The default is 1000000 (1 sec).
.IP \fBtimeout_factor\fR=\fIFLOAT\fR
(Optional) The echo timeout factor. The echo timeout is calculated by
\fB\%timeout_factor * \%interval\fR. The default is 2.
\fB\%timeout_factor * \%ping_interval\fR. The default is 2.
.IP \fBauto_switch\fR=\fI0|1\fR
(Optional) If this is on (1), ldmsd will start \fBpeercfg\fR or stop
\fBpeercfg\fR automatically. Otherwise, the user need to issue
Expand Down Expand Up @@ -174,28 +174,28 @@ shown above:
.B
# a20.cfg
prdcr_add name=prdcr_a10 host=a10.hostname port=12345 xprt=sock \\
type=active interval=1000000
type=active reconnect_interval=1000000
prdcr_start name=prdcr_a10
prdcr_add name=prdcr_a11 host=a11.hostname port=12345 xprt=sock \\
type=active interval=1000000
type=active reconnect_interval=1000000
prdcr_start name=prdcr_a11
updtr_add name=upd interval=1000000 offset=0
updtr_add name=upd update_interval=1000000 offset=0
updtr_prdcr_add name=upd regex.*
updtr_start upd
.B
# a10.cfg
prdcr_add name=prdcr_s00 host=s00.hostname port=12345 xprt=sock \\
type=active interval=1000000
type=active reconnect_interval=1000000
prdcr_start name=prdcr_s00
prdcr_add name=prdcr_s01 host=s01.hostname port=12345 xprt=sock \\
type=active interval=1000000
type=active reconnect_interval=1000000
prdcr_start name=prdcr_s01
updtr_add name=upd interval=1000000 offset=0
updtr_add name=upd update_interval=1000000 offset=0
updtr_prdcr_add name=upd regex.*
updtr_start upd
\fIfailover_config\fR host=a11.hostname port=12345 xprt=sock \\
interval=1000000 peer_name=a11
ping_interval=1000000 peer_name=a11
\fIfailover_start\fR
.B
# a10 CLI
Expand All @@ -205,16 +205,16 @@ $ ldmsd -c a10.cfg -x sock:12345 \fB-n\fR \fIa10\fR
.B
# a11.cfg
prdcr_add name=prdcr_s02 host=s02.hostname port=12345 xprt=sock \\
type=active interval=1000000
type=active reconnect_interval=1000000
prdcr_start name=prdcr_s02
prdcr_add name=prdcr_s03 host=s03 port=12345 xprt=sock \\
type=active interval=1000000
type=active reconnect_interval=1000000
prdcr_start name=prdcr_s03
updtr_add name=upd interval=1000000 offset=0
updtr_add name=upd update_interval=1000000 offset=0
updtr_prdcr_add name=upd regex.*
updtr_start upd
\fIfailover_config\fR host=a10.hostname port=12345 xprt=sock \\
interval=1000000 peer_name=a10
ping_interval=1000000 peer_name=a10
\fIfailover_start\fR
.B
# a11 CLI
Expand Down
1 change: 1 addition & 0 deletions ldms/python/ldmsd/ldmsd_communicator.py
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,7 @@
],
'opt_attr': [
'interval',
'ping_interval',
'peer_name',
'auto_switch',
'timeout_factor',
Expand Down
10 changes: 8 additions & 2 deletions ldms/python/ldmsd/ldmsd_controller
Original file line number Diff line number Diff line change
Expand Up @@ -1614,19 +1614,25 @@ class LdmsdCmdParser(cmd.Cmd):
port= The LDMS port of the failover partner.
This is optional in re-configuration.
[auto_switch=0|1] Auto switching (failover/failback).
[interval=] The interval of the heartbeat.
[ping_interval=] The interval of the heartbeat.
[interval=] Deprecated. Please use 'ping_interval'.
[timeout_factor=] The hearbeat timeout factor.
[peer_name=] The failover partner name. If not given,
the ldmsd will accept any partner.
"""
arg = self.handle_args('failover_config', arg)
if not arg:
return
if all(v is not None for v in [arg['ping_interval'], arg['interval']]):
print(f"Both 'ping_interval' and 'interval' were given, the value of 'ping_interval' will be used.")
elif arg['interval'] is not None:
print(f"'interval' is deprecated. Please use 'ping_interval' in the future")
arg['pint_interval'] = arg['interval']
rc, msg = self.comm.failover_config(arg['host'],
arg['xprt'],
arg['port'],
arg['auto_switch'],
arg['interval'],
arg['ping_interval'],
arg['timeout_factor'],
arg['peer_name'])
if rc:
Expand Down
1 change: 1 addition & 0 deletions ldms/src/ldmsd/ldmsd_request_util.c
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,7 @@ const struct req_str_id attr_str_id_table[] = {
{ "peer_name", LDMSD_ATTR_PEER_NAME },
{ "perm", LDMSD_ATTR_PERM },
{ "plugin", LDMSD_ATTR_PLUGIN },
{ "ping_interval", LDMSD_ATTR_INTERVAL },
{ "port", LDMSD_ATTR_PORT },
{ "producer", LDMSD_ATTR_PRODUCER },
{ "push", LDMSD_ATTR_PUSH },
Expand Down

0 comments on commit 1786789

Please sign in to comment.