summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoranlan_cs <vic.lan@pica8.com>2022-01-21 20:33:30 -0500
committeranlan_cs <vic.lan@pica8.com>2022-01-21 21:23:22 -0500
commit19a99d89f0885664039d57b590b1838a7e49ee0a (patch)
tree20325deb3f69e86310457ad983d5e685e154869c
parent9e84443acac051c31e504d8da657c2776332edf5 (diff)
tools: suppress unuseful warnings during restarting frr
Problem: During restarting frr.service, it throws annoying warnings: Cannot stop bgpd(and others): pid file not found. Root Cause: During restarting process, systemd uses "stop", and watchfrr uses "restart". Yes, watchfrr using "restart" is to avoid systemd failing to stop. But it should be quiet. Fix: During restarting service, suppress these warnings from watchfrr. Signed-off-by: anlan_cs <vic.lan@pica8.com>
-rw-r--r--tools/frrcommon.sh.in6
1 files changed, 3 insertions, 3 deletions
diff --git a/tools/frrcommon.sh.in b/tools/frrcommon.sh.in
index 7cde7a119e..d95f2d4be7 100644
--- a/tools/frrcommon.sh.in
+++ b/tools/frrcommon.sh.in
@@ -191,7 +191,7 @@ daemon_stop() {
[ -z "$fail" -a -z "$pid" ] && fail="pid file is empty"
[ -n "$fail" ] || kill -0 "$pid" 2>/dev/null || fail="pid $pid not running"
- if [ -n "$fail" ]; then
+ if [ -n "$fail" ] && [ "$2" != "--quiet" ]; then
log_failure_msg "Cannot stop $dmninst: $fail"
return 1
fi
@@ -262,7 +262,7 @@ all_stop() {
done
for dmninst in $reversed; do
- daemon_stop "$dmninst" &
+ daemon_stop "$dmninst" "$1" &
pids="$pids $!"
done
for pid in $pids; do
@@ -350,7 +350,7 @@ frrcommon_main() {
start) all_start;;
stop) all_stop;;
restart)
- all_stop
+ all_stop --quiet
all_start
;;
*) $cmd "$@";;