mirror of
https://github.com/openwrt/packages.git
synced 2026-10-13 03:37:43 +04:00
nut: fix hard-coded trigger scripts for interface triggers
The trigger script and instance to reload should depend on which initscript is calling interface_triggers. It wasn't, so we fix that. See https://github.com/openwrt/packages/pull/29607#discussion_r3463544231 Signed-off-by: Daniel F. Dickinson <dfdpublic@wildtechgarden.ca>
This commit is contained in:
1 parent
6498ed4a93
commit
ce009de85f
3 files changed
+7
-6
No files matched your search
@@ -211,7 +211,7 @@ service_triggers() {
|
||||
|
||||
config_get interface_reload_delay upsmon interface_reload_delay $DEFAULT_PROCD_INTERFACE_RELOAD_DELAY
|
||||
|
||||
interface_triggers "add_trigger" "upsmon" || {
|
||||
interface_triggers "add_trigger" "upsmon" "$interface_reload_delay" "nut-monitor" || {
|
||||
log_error_exit "Failed to add interface triggers" nut-monitor nut-monitor
|
||||
}
|
||||
procd_add_reload_trigger "nut_monitor"
|
||||
|
||||
@@ -564,6 +564,6 @@ service_triggers() {
|
||||
|
||||
config_get interface_reload_delay upsd interface_reload_delay $DEFAULT_PROCD_INTERFACE_RELOAD_DELAY
|
||||
|
||||
interface_triggers "add_trigger" "upsd" "$interface_reload_delay"
|
||||
interface_triggers "add_trigger" "upsd" "$interface_reload_delay" "nut-server" "upsd"
|
||||
procd_add_reload_trigger "nut_server"
|
||||
}
|
||||
@@ -277,6 +277,8 @@ interface_triggers() {
|
||||
local action="$1"
|
||||
local section="$2"
|
||||
local interface_reload_delay="${3:-$DEFAULT_PROCD_INTERFACE_RELOAD_DELAY}"
|
||||
local initscript="$4"
|
||||
local daemon="$5"
|
||||
local interfaces interface
|
||||
local have_up_interface
|
||||
local trigger_failed
|
||||
@@ -296,9 +298,8 @@ interface_triggers() {
|
||||
# We use the variadic third and fourth parameters of procd_add_interface_trigger to
|
||||
# restart instead of reload on interface up/down events. Additionally the variadic
|
||||
# fourth and fifth parameters of procd_add_interface_trigger are passed through to
|
||||
# the <script> (in this case /etc/init.d/nut-server), so the trigger action becomes
|
||||
# /etc/init.d/nut-server restart "upsd").
|
||||
procd_add_interface_trigger "interface.*.up" "$interface" /etc/init.d/nut-server restart "upsd" || trigger_failed="true"
|
||||
# the <script>, so the trigger action becomes e.g. /etc/init.d/<script> restart "$daemon".
|
||||
procd_add_interface_trigger "interface.*.up" "$interface" "/etc/init.d/$initscript" "restart" "$daemon" || trigger_failed="true"
|
||||
done
|
||||
set +f
|
||||
if [ "$trigger_failed" = "true" ]; then
|
||||
@@ -306,7 +307,7 @@ interface_triggers() {
|
||||
fi
|
||||
else
|
||||
# Add a restart trigger on any interface's up status changing
|
||||
procd_add_raw_trigger "interface.*.up" "$interface_reload_delay" /etc/init.d/nut-server restart || return 1
|
||||
procd_add_raw_trigger "interface.*.up" "$interface_reload_delay" "/etc/init.d/$initscript" "restart" || return 1
|
||||
fi
|
||||
;;
|
||||
check_interface_up)
|
||||
|
||||
Reference in new issue
Block a user