patroni.watchdog.linux module
- patroni.watchdog.linux.IOC(dir_: int, type_: str, nr: int, size: int) int
- patroni.watchdog.linux.IOR(type_: str, nr: int, size: int) int
- patroni.watchdog.linux.IOW(type_: str, nr: int, size: int) int
- patroni.watchdog.linux.IOWR(type_: str, nr: int, size: int) int
- class patroni.watchdog.linux.LinuxWatchdogDevice(device: str)
Bases:
WatchdogBase- DEFAULT_DEVICE = '/dev/watchdog'
- __init__(device: str) None
- _abc_impl = <_abc._abc_data object>
- _ioctl(func: int, arg: Any) None
Runs the specified ioctl on the underlying fd.
Raises WatchdogError if the device is closed. Raises OSError or IOError (Python 2) when the ioctl fails.
- property can_be_disabled: bool
Returns True when watchdog will be disabled by calling close(). Some watchdog devices will keep running no matter what once activated. May raise WatchdogError if called without calling open() first.
- close() None
Gracefully close watchdog device.
- describe() str
Human readable name for this device
- classmethod from_config(config: Dict[str, Any]) LinuxWatchdogDevice
- get_support() WatchdogInfo
- get_timeout() int
Returns the current keepalive timeout in effect.
- has_set_timeout() bool
Returns True if setting a timeout is supported.
- property is_healthy: bool
Returns False when calling open() is known to fail.
- property is_running: bool
Returns True when watchdog is activated and capable of performing it’s task.
- keepalive() None
Resets the watchdog timer.
Watchdog must be open when keepalive is called.
- open() None
Open watchdog device.
When watchdog is opened keepalive must be called. Returns nothing on success or raises WatchdogError if the device could not be opened.
- set_timeout(timeout: int) None
Set the watchdog timer timeout.
- Parameters:
timeout – watchdog timeout in seconds
- class patroni.watchdog.linux.TestingWatchdogDevice(device: str)
Bases:
LinuxWatchdogDeviceConverts timeout ioctls to regular writes that can be intercepted from a named pipe.
- _abc_impl = <_abc._abc_data object>
- get_support() WatchdogInfo
- get_timeout() int
Returns the current keepalive timeout in effect.
- set_timeout(timeout: int) None
Set the watchdog timer timeout.
- Parameters:
timeout – watchdog timeout in seconds
- timeout = 60
- class patroni.watchdog.linux.WatchdogInfo(options: int, version: int, identity: str)
Bases:
NamedTupleWatchdog descriptor from the kernel
- _asdict()
Return a new dict which maps field names to their values.
- _field_defaults = {}
- _fields = ('options', 'version', 'identity')
- classmethod _make(iterable)
Make a new WatchdogInfo object from a sequence or iterable
- _replace(**kwds)
Return a new WatchdogInfo object replacing specified fields with new values
- identity: str
Alias for field number 2
- options: int
Alias for field number 0
- version: int
Alias for field number 1
- class patroni.watchdog.linux.watchdog_info
Bases:
Structure- _fields_ = [('options', <class 'ctypes.c_uint'>), ('firmware_version', <class 'ctypes.c_uint'>), ('identity', <class 'patroni.watchdog.linux.c_ubyte_Array_32'>)]
- firmware_version
Structure/Union member
- identity
Structure/Union member
- options
Structure/Union member