From: William Lallemand Date: Sun, 28 Sep 2025 20:45:04 +0000 (+0200) Subject: ADMIN: reload: introduce verbose and silent mode X-Git-Tag: v3.3-dev9~18 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5d05f343b9cf952844b03d4b8988e558ff1f6fc2;p=thirdparty%2Fhaproxy.git ADMIN: reload: introduce verbose and silent mode By default haproxy-reload displays the error that are not emitted by haproxy, but only emitted by haproxy-reload. -s silent mode, don't display any error -v verbose mode, display the loading messages returned by the master CLI reload command upon error. --- diff --git a/admin/cli/haproxy-reload b/admin/cli/haproxy-reload index 3c421a4d8..f149ee5de 100755 --- a/admin/cli/haproxy-reload +++ b/admin/cli/haproxy-reload @@ -2,10 +2,18 @@ set -e +export VERBOSE=1 export TIMEOUT=90 export MASTER_SOCKET=${MASTER_SOCKET:-/var/run/haproxy-master.sock} export RET= +alert() { + if [ "$VERBOSE" -ge "1" ]; then + echo "[ALERT] $*" >&2 + fi +} + + reload() { while read -r line; do @@ -14,13 +22,19 @@ reload() { elif [ "$line" = "Success=1" ]; then RET=0 elif [ "$line" = "Another reload is still in progress." ]; then - echo "[ALERT] Another reload is still in progress." >&2 + alert "$line" + elif [ "$line" = "--" ]; then + continue; + else + if [ "$RET" = 1 ] && [ "$VERBOSE" = "2" ]; then + echo "$line" >&2 + fi fi done < <(echo "reload" | socat -t"${TIMEOUT}" "${MASTER_SOCKET}" -) if [ -z "$RET" ]; then - echo "[ALERT] Couldn't finish the reload before the timeout (${TIMEOUT})." >&2 + alert "Couldn't finish the reload before the timeout (${TIMEOUT})." return 1 fi @@ -39,7 +53,8 @@ usage() { echo " -S, --master-socket Use the master socket at (default: ${MASTER_SOCKET})" echo " -d, --debug Debug mode, set -x" echo " -t, --timeout Timeout (socat -t) (default: ${TIMEOUT})" - echo " -v, --verbose Verbose mode" + echo " -s, --silent Slient mode (no output)" + echo " -v, --verbose Verbose mode (output from haproxy)" echo " -h, --help This help" echo "" echo "Examples:" @@ -58,6 +73,14 @@ main() { TIMEOUT="$2" shift 2 ;; + -s|--silent) + VERBOSE=0 + shift + ;; + -v|--verbose) + VERBOSE=2 + shift + ;; -d|--debug) DEBUG=1 shift