monitor: Default tach sensors to true
Instead of reading the functional status of the tach sensors out of the
inventory on startup, just default them to true. Any issues with the
fans could then be rediscovered after the reboot.
This was the original behavior. It was probably changed with the intent
that the shutdown timers could immediately start back up again after a
reboot if things were nonfunctional before.
In practice, we've found that there can be a race between the shutdown
actions turning off the system (due to nonfunctional sensors) and the
sensor objects being marked functional again, even when the only reason
they were nonfunctional before the reboot was because the fan sensor
daemon was turned off before fan monitor on the way down.
For this to make a noticeable change, the shutdown actions/timers would
have to be in progress during the reboot anyway, which is pretty
unlikely.
Worst case, it would extend a shutdown by the time it takes an error to
be rediscovered, which is:
If the 'count' method is configured:
monitor_start_delay + (count_interval * threshold)
If the 'timebased' method is configured:
monitor_start_delay + nonfunc_rotor_error_delay
This has no affect on shutdowns caused by missing fans, as the code
still reads that out of the inventory on startup, plus it can be
instantaneously detected as opposed to being calculated over time.
In summary, extending the shutdown time in very uncommon cases seems
better than mistakenly shutting off a running system, which can be a
huge deal depending on the user.
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I2840c5f2e79bd734626b4144713e4428af28551a
2 files changed