summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2017-08-09 20:32:44 +0200
committerGitHub <noreply@github.com>2017-08-09 20:32:44 +0200
commitf790234f2ff2e1d6c7a230e5c1d9dac280a12d44 (patch)
treeb4815bc05f3bc7f54ebf39c773af30cce3a5d19a /doc
parentMerge pull request #942 from lunn/eigrpd-debug (diff)
parentwatchfrr: print specific error for removed options (diff)
downloadfrr-f790234f2ff2e1d6c7a230e5c1d9dac280a12d44.tar.xz
frr-f790234f2ff2e1d6c7a230e5c1d9dac280a12d44.zip
Merge pull request #892 from opensourcerouting/watchfrr-simplify
simplify watchfrr, add --terminal, improve startup logging
Diffstat (limited to 'doc')
-rw-r--r--doc/watchfrr.8.in166
1 files changed, 45 insertions, 121 deletions
diff --git a/doc/watchfrr.8.in b/doc/watchfrr.8.in
index 82098e1b0..782ac7b46 100644
--- a/doc/watchfrr.8.in
+++ b/doc/watchfrr.8.in
@@ -20,59 +20,6 @@ daemon's VTY UNIX stream socket, and send echo commands to ensure the
daemon responds. When the daemon crashes, EOF is received from the socket,
so that watchfrr can react immediately.
.PP
-This program can run in one of the following 5 modes:
-.TP
-.B Mode 0: monitor
-In this mode, the program serves as a monitor and reports status changes.
-.IP
-Example usage: watchfrr \-d zebra ospfd bgpd
-.TP
-.B Mode 1: global restart
-In this mode, whenever a daemon hangs or crashes, the given command is used
-to restart all watched daemons.
-.IP
-Example usage: watchfrr \-dz \e
-.br
--R '/sbin/service zebra restart; /sbin/service ospfd restart' \e
-.br
-zebra ospfd
-.TP
-.B Mode 2: individual daemon restart
-In this mode, whenever a single daemon hangs or crashes, the given command
-is used to restart this daemon only.
-.IP
-Example usage: watchfrr \-dz \-r '/sbin/service %s restart' \e
-.br
-zebra ospfd bgpd
-.TP
-.B Mode 3: phased zebra restart
-In this mode, whenever a single daemon hangs or crashes, the given command
-is used to restart this daemon only. The only exception is the zebra
-daemon; in this case, the following steps are taken: (1) all other daemons
-are stopped, (2) zebra is restarted, and (3) other daemons are started
-again.
-.IP
-Example usage: watchfrr \-adz \-r '/sbin/service %s restart' \e
-.br
-\-s '/sbin/service %s start' \e
-.br
-\-k '/sbin/service %s stop' zebra ospfd bgpd
-.TP
-.B Mode 4: phased global restart for any failure
-In this mode, whenever a single daemon hangs or crashes, the following
-steps are taken: (1) all other daemons are stopped, (2) zebra is restarted,
-and (3) other daemons are started again.
-.IP
-Example usage: watchfrr \-Adz \-r '/sbin/service %s restart' \e
-.br
-\-s '/sbin/service %s start' \e
-.br
-\-k '/sbin/service %s stop' zebra ospfd bgpd
-.PP
-Important: It is believed that mode 2 (individual daemon restart) is not
-safe, and mode 3 (phased zebra restart) may not be safe with certain
-routing daemons.
-.PP
In order to avoid restarting the daemons in quick succession, you can
supply the
.B \-m
@@ -87,6 +34,36 @@ the restart delay is set to the value of
otherwise the interval is doubled (but capped at the value of
.BR \-M ).
.SH OPTIONS
+The following 3 options specify scripts that
+.B watchfrr
+uses to perform start/stop/restart actions. These options are mandatory
+unless the
+.B --dry
+option is used:
+.TP
+.BI \-s " command" "\fR, \fB\-\-start\-command " command
+Supply a Bourne shell
+.I command
+to start a single daemon. The command string should contain the '%s'
+placeholder to be substituted with the daemon name.
+.TP
+.BI \-k " command" "\fR, \fB\-\-kill\-command " command
+Supply a Bourne shell
+.I command
+to stop a single daemon. The command string should contain the '%s'
+placeholder to be substituted with the daemon name.
+.TP
+.BI \-r " command" "\fR, \fB\-\-restart " command
+Supply a Bourne shell
+.I command
+to restart a single daemon. The command string should contain the '%s'
+placeholder to be substituted with the daemon name.
+.PP
+Other options:
+.TP
+.BI \-\-dry
+Run watchfrr in "dry-run" mode, only monitoring the specified daemons but not
+performing any start/stop/restart actions.
.TP
.BR \-d ", " \-\-daemon
Run in daemon mode. When supplied, error messages are sent to Syslog
@@ -97,10 +74,6 @@ Set the VTY socket
.I directory
(the default value is "/var/run/frr").
.TP
-.BR \-e ", " \-\-no\-echo
-Do not ping the daemons to test whether they respond. This option is
-necessary if one or more daemons do not support the echo command.
-.TP
.BI \-l " level" "\fR, \fB\-\-loglevel " level
Set the logging
.I level
@@ -131,68 +104,6 @@ Set the restart (kill) timeout in seconds (the default value is "20"). If
any background jobs are still running after this period has elapsed, they
will be killed.
.TP
-.BI \-r " command" "\fR, \fB\-\-restart " command
-Supply a Bourne shell
-.I command
-to restart a single daemon. The command string should contain the '%s'
-placeholder to be substituted with the daemon name.
-.IP
-Note that
-.B \-r
-and
-.B \-R
-options are not compatible.
-.TP
-.BI \-s " command" "\fR, \fB\-\-start\-command " command
-Supply a Bourne shell
-.I command
-to start a single daemon. The command string should contain the '%s'
-placeholder to be substituted with the daemon name.
-.TP
-.BI \-k " command" "\fR, \fB\-\-kill\-command " command
-Supply a Bourne shell
-.I command
-to stop a single daemon. The command string should contain the '%s'
-placeholder to be substituted with the daemon name.
-.TP
-.BR \-R ", " \-\-restart\-all
-When one or more daemons are shut down, try to restart them using the
-Bourne shell command supplied on the command line.
-.IP
-Note that
-.B \-r
-and
-.B \-R
-options are not compatible.
-.TP
-.BR \-z ", " \-\-unresponsive\-restart
-When a daemon is in an unresponsive state, treat it as being shut down for
-the restart purposes.
-.TP
-.BR \-a ", " \-\-all\-restart
-When zebra hangs or crashes, restart all daemons taking the following
-steps: (1) stop all other daemons, (2) restart zebra, and (3) start other
-daemons again.
-.IP
-Note that this option also requires
-.BR \-r ,
-.BR \-s ,
-and
-.B \-k
-options to be specified.
-.TP
-.BR \-A ", " \-\-always\-all\-restart
-When any daemon (i.e., not just zebra) hangs or crashes, restart all
-daemons taking the following steps: (1) stop all other daemons, (2) restart
-zebra, and (3) start other daemons again.
-.IP
-Note that this option also requires
-.BR \-r ,
-.BR \-s ,
-and
-.B \-k
-options to be specified.
-.TP
.BI \-p " filename" "\fR, \fB\-\-pid\-file " filename
Set the process identifier
.I filename
@@ -204,9 +115,8 @@ When the supplied
is found in any of the command line option arguments (i.e.,
.BR \-r ,
.BR \-s ,
-.BR \-k ,
or
-.BR \-R ),
+.BR \-k ),
replace it with a space.
.IP
This is an ugly hack to circumvent problems with passing the command line
@@ -217,6 +127,20 @@ Display the version information and exit.
.TP
.BR \-h ", " \-\-help
Display the usage information and exit.
+.SH PREVIOUS OPTIONS
+Prior versions of \fBwatchfrr\fR supported some additional options that no
+longer exist:
+.IP
+.BR \-a ,\ \-A ,\ \-e ,\ \-R ,\ \-z
+.PP
+The \fB-a\fR, \fB-A\fR and \fB-R\fR options were used to select alternate
+monitoring modes that offered different patterns of restarting daemons. The
+"correct" mode (phased restart) is now the default. The \fB-e\fR and \fB-z\fR
+options used to disable some monitoring aspects, watchfrr now always has all
+monitoring features enabled.
+.PP
+Removing these options should result in correct operation, if it does not
+please file a bug report.
.SH SEE ALSO
.BR zebra (8),
.BR bgpd (8),