[systemd-devel] [Feature Request] GET before SET watchdog timeout setting on IPMI compatible hardware

Charles_Rose at Dell.com Charles_Rose at Dell.com
Thu Sep 13 04:23:55 PDT 2012


On Tuesday 11 September 2012 06:46 PM, Lennart Poettering wrote:
> On Tue, 11.09.12 11:34, Charles_Rose at Dell.com (Charles_Rose at Dell.com) wrote:
> 
>> Hello,
>>
>> IPMI watchdog hardware on servers can be configured outside the /dev/watchdog interface[1].
>>
>> It would be beneficial if systemd can first get the current timeout value (WDIOC_GETTIMEOUT), if not
>> set, only then set it to RuntimeWatchdogSec. This would ensure that timeout values set via other
>> configuration mechanisms still hold good and the system admin does not have to duplicate the timeout
>> values in /etc/systemd/system.conf (especially for large number of systems, remotely). See bugzilla
>> report[2] for details.
>>
>> If there are other methods to reduce the number of configuration options that the system admin has
>> to deal with, do share.
>>
>> [1] http://openipmi.sourceforge.net/IPMI.txt
>> [2] https://bugs.freedesktop.org/show_bug.cgi?id=54712
> 
> Hmm, so how is this supposed to work in detail? It is still systemd
> which shall ping the watchdog device in any case? Right now systemd does
> not touch the watchdog device at all by default, people have to
> explicitly configure an interval before systemd does anything with
> it.
> 
> We could of course extend the current "RuntimeWatchdogSec=" setting to
> accept an additional value of "auto" or so, which would enable systemd's
> watchdog usage but cause it to reuse the default interval if one is
> set. But I do wonder what this would be good for given that people would
> still have to set this value explicitly, since we'd continue to default
> watchdog usage to off -- and what happens if somebody sets the interval
> in the firmware but systemd is not configured to ping the hw? If that
> happens than the system will reboot automatically shortly after boot?

Configuring timeout in firmware does not imply 'start timer'. Timer is started only on open() from
OS [1].

'auto' option sounds like a reasonable compromise to reduce number of steps necessary to configure
IPMI watchdog hw.

   0: disable watchdog
   <non-zero-positive>: enable watchdog and set this timeout.
   'auto': I want watchdog functionality, but not sure what the timeout is/should
be/take it from the driver. Flow: open(); GETTIMEOUT; if (!timeout) SETTIMEOUT

For the long term, if we can get ipmi_watchdog to autoload on hw detect, we can
have users set RuntimeWatchdogSec=auto or set a timeout value.

[1] https://bugs.freedesktop.org/show_bug.cgi?id=54712#c2

> 
> Lennart
> 


More information about the systemd-devel mailing list