Skip to content

Commit

Permalink
watchfrr: Extend ignore option to daemon being killed
Browse files Browse the repository at this point in the history
When testing GR features, it is desired to kill bgp
(or really any daemon )and not immediately have bgp start up again.
Modify the code to not attempt to restart the daemon
by hand to let us developers work when the `watchfrr ignore XXX`
command is issued.

Testing:
watchfrr ignore bgpd
kill -9 bgpd
start bgp by `/usr/lib/frr/watchfrr.sh start bgpd` at some point in time
in the future

leaf-1# show watchfrr
watchfrr global phase: Idle
 Restart Command: "/usr/lib/frr/watchfrr.sh restart %s"
 Start Command: "/usr/lib/frr/watchfrr.sh start %s"
 Stop Command: "/usr/lib/frr/watchfrr.sh stop %s"
 Min Restart Interval: 60
 Max Restart Interval: 600
 Restart Timeout: 90
  zebra                Up
  bgpd                 Up/Ignoring Timeout
  staticd              Up
leaf-1#

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit c168244)
  • Loading branch information
donaldsharp authored and mergify[bot] committed Oct 19, 2023
1 parent dce179f commit 1fe38b9
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions watchfrr/watchfrr.c
Original file line number Diff line number Diff line change
Expand Up @@ -600,6 +600,9 @@ static void daemon_restarting_operational(struct event *thread)

static void daemon_down(struct daemon *dmn, const char *why)
{
if (dmn->ignore_timeout)
return;

if (IS_UP(dmn) || (dmn->state == DAEMON_INIT))
flog_err(EC_WATCHFRR_CONNECTION, "%s state -> down : %s",
dmn->name, why);
Expand Down

0 comments on commit 1fe38b9

Please sign in to comment.