From bb7b72161d999da69c74019e795b2cbe063ff091 Mon Sep 17 00:00:00 2001 From: demon Date: Wed, 16 Aug 2017 08:06:57 +0000 Subject: Add hardstop/hardreload commands to rc script (to stop/reload haproxy without waiting for existing connections to close). PR: 221402 Submitted by: Frank Wall --- net/haproxy-devel/files/haproxy.in | 26 +++++++++++++++++--------- net/haproxy/files/haproxy.in | 26 +++++++++++++++++--------- 2 files changed, 34 insertions(+), 18 deletions(-) (limited to 'net') diff --git a/net/haproxy-devel/files/haproxy.in b/net/haproxy-devel/files/haproxy.in index 751b3067d083..3e2d8b3a034e 100644 --- a/net/haproxy-devel/files/haproxy.in +++ b/net/haproxy-devel/files/haproxy.in @@ -29,17 +29,27 @@ name="haproxy" rcvar=haproxy_enable command="%%PREFIX%%/sbin/haproxy" -extra_commands="reload configtest" +extra_commands="reload configtest hardstop hardreload" reload_cmd="haproxy_reload" +hardreload_cmd="haproxy_reload" +hardreload_precmd="def_hardreload_option" stop_cmd="haproxy_stop" +hardstop_cmd="haproxy_stop" +hardstop_precmd="def_hardstop_signal" : ${haproxy_enable:="NO"} : ${haproxy_config:="%%PREFIX%%/etc/${name}.conf"} pidfile=${haproxy_pidfile:-"/var/run/haproxy.pid"} -if [ -z "$rc_force" ]; then - sig_stop="USR1" -fi +def_hardreload_option() +{ + reload_opt="-st" +} + +def_hardstop_signal() +{ + sig_stop="TERM" +} load_rc_config $name @@ -81,6 +91,8 @@ fi configtest_cmd="$command -c -f $haproxy_config" start_precmd="$command -q -c -f $haproxy_config" required_files=$haproxy_config +sig_stop=SIGUSR1 +reload_opt="-sf" haproxy_reload() { @@ -90,11 +102,7 @@ haproxy_reload() fi rc_pid=$(check_pidfile ${pidfile} ${command}) if [ $rc_pid ]; then - if [ -z "$rc_force" ]; then - ${command} ${haproxy_flags} -sf $(cat ${pidfile}) - else - ${command} ${haproxy_flags} -st $(cat ${pidfile}) - fi + ${command} ${haproxy_flags} $reload_opt $(cat ${pidfile}) else _run_rc_notrunning return 1 diff --git a/net/haproxy/files/haproxy.in b/net/haproxy/files/haproxy.in index 751b3067d083..3e2d8b3a034e 100644 --- a/net/haproxy/files/haproxy.in +++ b/net/haproxy/files/haproxy.in @@ -29,17 +29,27 @@ name="haproxy" rcvar=haproxy_enable command="%%PREFIX%%/sbin/haproxy" -extra_commands="reload configtest" +extra_commands="reload configtest hardstop hardreload" reload_cmd="haproxy_reload" +hardreload_cmd="haproxy_reload" +hardreload_precmd="def_hardreload_option" stop_cmd="haproxy_stop" +hardstop_cmd="haproxy_stop" +hardstop_precmd="def_hardstop_signal" : ${haproxy_enable:="NO"} : ${haproxy_config:="%%PREFIX%%/etc/${name}.conf"} pidfile=${haproxy_pidfile:-"/var/run/haproxy.pid"} -if [ -z "$rc_force" ]; then - sig_stop="USR1" -fi +def_hardreload_option() +{ + reload_opt="-st" +} + +def_hardstop_signal() +{ + sig_stop="TERM" +} load_rc_config $name @@ -81,6 +91,8 @@ fi configtest_cmd="$command -c -f $haproxy_config" start_precmd="$command -q -c -f $haproxy_config" required_files=$haproxy_config +sig_stop=SIGUSR1 +reload_opt="-sf" haproxy_reload() { @@ -90,11 +102,7 @@ haproxy_reload() fi rc_pid=$(check_pidfile ${pidfile} ${command}) if [ $rc_pid ]; then - if [ -z "$rc_force" ]; then - ${command} ${haproxy_flags} -sf $(cat ${pidfile}) - else - ${command} ${haproxy_flags} -st $(cat ${pidfile}) - fi + ${command} ${haproxy_flags} $reload_opt $(cat ${pidfile}) else _run_rc_notrunning return 1 -- cgit