[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen staging] tools/hotplug: allow tuning of xenwatchdogd arguments



commit 0fb6dbfaa859aae0e51a82a8d5e213bcc64b85f1
Author:     Olaf Hering <olaf@xxxxxxxxx>
AuthorDate: Thu Dec 3 07:34:36 2020 +0100
Commit:     Wei Liu <wl@xxxxxxx>
CommitDate: Fri Dec 4 11:51:14 2020 +0000

    tools/hotplug: allow tuning of xenwatchdogd arguments
    
    Currently the arguments for xenwatchdogd are hardcoded with 15s
    keep-alive interval and 30s timeout.
    
    It is not possible to tweak these values via
    /etc/systemd/system/xen-watchdog.service.d/*.conf because ExecStart
    can not be replaced. The only option would be a private copy
    /etc/systemd/system/xen-watchdog.service, which may get out of sync
    with the Xen provided xen-watchdog.service.
    
    Adjust the service file to recognize XENWATCHDOGD_ARGS= in a
    private unit configuration file.
    
    Signed-off-by: Olaf Hering <olaf@xxxxxxxxx>
    Acked-by: Wei Liu <wl@xxxxxxx>
---
 tools/hotplug/Linux/init.d/xen-watchdog.in          | 7 ++++++-
 tools/hotplug/Linux/systemd/xen-watchdog.service.in | 4 +++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/tools/hotplug/Linux/init.d/xen-watchdog.in 
b/tools/hotplug/Linux/init.d/xen-watchdog.in
index c05f1f6b6a..a0bde199c4 100644
--- a/tools/hotplug/Linux/init.d/xen-watchdog.in
+++ b/tools/hotplug/Linux/init.d/xen-watchdog.in
@@ -19,6 +19,11 @@
 
 . @XEN_SCRIPT_DIR@/hotplugpath.sh
 
+xencommons_config=@CONFIG_DIR@/@CONFIG_LEAF_DIR@
+
+test -f $xencommons_config/xencommons && . $xencommons_config/xencommons
+
+test -n "$XENWATCHDOGD_ARGS" || XENWATCHDOGD_ARGS='30 15'
 DAEMON=${sbindir}/xenwatchdogd
 base=$(basename $DAEMON)
 
@@ -46,7 +51,7 @@ start() {
        local r
        echo -n $"Starting domain watchdog daemon: "
 
-       $DAEMON 30 15
+       $DAEMON $XENWATCHDOGD_ARGS
        r=$?
        [ "$r" -eq 0 ] && success $"$base startup" || failure $"$base startup"
        echo
diff --git a/tools/hotplug/Linux/systemd/xen-watchdog.service.in 
b/tools/hotplug/Linux/systemd/xen-watchdog.service.in
index 1eecd2a616..637ab7fd7f 100644
--- a/tools/hotplug/Linux/systemd/xen-watchdog.service.in
+++ b/tools/hotplug/Linux/systemd/xen-watchdog.service.in
@@ -6,7 +6,9 @@ ConditionPathExists=/proc/xen/capabilities
 
 [Service]
 Type=forking
-ExecStart=@sbindir@/xenwatchdogd 30 15
+Environment="XENWATCHDOGD_ARGS=30 15"
+EnvironmentFile=-@CONFIG_DIR@/@CONFIG_LEAF_DIR@/xencommons
+ExecStart=@sbindir@/xenwatchdogd $XENWATCHDOGD_ARGS
 KillSignal=USR1
 
 [Install]
--
generated by git-patchbot for /home/xen/git/xen.git#staging



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.