Red Hat Bugzilla – Bug 852241
Watchdog never starts if power configuration is not present
Last modified: 2015-05-03 22:13:52 EDT
Description of problem:
Watchdog does not start for system where no power config is present
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Start a job with a system that has no power config present
2. Watchdog never starts
External watchdog expires recipe
Job runs as per normal
We allow systems to not have power configurations. There are real world cases
where not having a power configuration is wanted (i.e machine is under desk and we just want to switch it on and off).
The problem is that the watchdog is tied to the provision process on the LC via the power handler, and we do not bother having the LC handlea power action if we have no power config. This is probably the correct behaviour.
Perhaps though what we should be doing is calling the model.auto_cmd_handler directly from mode.power_action if there is no power config present.
I think the recipe should start (that is, enter Running state and have a watchdog kill time defined) once the machine reaches Anaconda %pre. But you're right, until then the recipe will remain Waiting with no watchdog kill time. This was my oversight in commit 56c72d19 for bug 835373.
AFAICT the %pre will not cause it to enter a Running state as it explicitly tests whether the task is already running before it extends it (and does not if it isn't). In fact perhaps this is the most logical place to have the start being recorded, although it looks we've gone out of our way not to do that, and I'm sure there is a good reason why.
Bulk reassignment of issues as Bill has moved to another team.
When provisioning a recipe we only issue a reboot if the system supports power control. We should just add an else: branch on there which starts the recipe immediately if there's no power control.
This is now happening thanks to the install_start() method that is called from %pre