Message ID | 20201202164628.24224-1-olaf@aepfle.de (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v1] tools/hotplug: allow tuning of xenwatchdogd arguments | expand |
On Wed, Dec 2, 2020 at 11:47 AM Olaf Hering <olaf@aepfle.de> wrote: > > 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@aepfle.de> > --- > 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..87e2353b49 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 -z "$XENWATCHDOGD_ARGS" || XENWATCHDOGD_ARGS='15 30' This should be `test -z ... && ` or `test -n ... || ` to set the default values properly. Regards, Jason
diff --git a/tools/hotplug/Linux/init.d/xen-watchdog.in b/tools/hotplug/Linux/init.d/xen-watchdog.in index c05f1f6b6a..87e2353b49 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 -z "$XENWATCHDOGD_ARGS" || XENWATCHDOGD_ARGS='15 30' 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]
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@aepfle.de> --- 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(-)