/openbmc/phosphor-state-manager/scripts/ |
H A D | host-reboot | 128ea8e3 Wed Jun 22 11:28:15 CDT 2022 Andrew Geissler <geissonator@yahoo.com> host-reboot: enforce host boot count on host crash
The host reboot path can be triggered via paths outside of the normal RequestedHostTransition property set. For example, if the host crashes, it just triggers an automatic reboot using the systemd targets, which means the check to prevent continuous host reboots is not run.
This commit ensures we decrement the reboot counter when a host crash occurs, and it also ensures we check that count when deciding if a reboot should occur.
While testing, it was found when we end in the host Quiesce state (after all reboot attempts have expired), the host stayed in Quiesce, even after issuing a power off. The fix for that was to ensure the obmc-host-quiesce@.target conflicted with obmc-host-stop@.target to ensure it would properly run on the power off request and update the host state to Off.
Tested: - Verified that AttemptsLeft was properly decremented on host crashes - Verified that when AttempsLeft reached 0, the reboot was halted and the host state was moved to Quiesced - Verified that once in Quiesced, system could be powered off, and a boot worked fine (and AttempsLeft was back to 3)
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I8d101b987517e160becc712ed70950f1d3204397
|
/openbmc/phosphor-state-manager/service_files/ |
H A D | phosphor-reboot-host@.service | 128ea8e3 Wed Jun 22 11:28:15 CDT 2022 Andrew Geissler <geissonator@yahoo.com> host-reboot: enforce host boot count on host crash
The host reboot path can be triggered via paths outside of the normal RequestedHostTransition property set. For example, if the host crashes, it just triggers an automatic reboot using the systemd targets, which means the check to prevent continuous host reboots is not run.
This commit ensures we decrement the reboot counter when a host crash occurs, and it also ensures we check that count when deciding if a reboot should occur.
While testing, it was found when we end in the host Quiesce state (after all reboot attempts have expired), the host stayed in Quiesce, even after issuing a power off. The fix for that was to ensure the obmc-host-quiesce@.target conflicted with obmc-host-stop@.target to ensure it would properly run on the power off request and update the host state to Off.
Tested: - Verified that AttemptsLeft was properly decremented on host crashes - Verified that when AttempsLeft reached 0, the reboot was halted and the host state was moved to Quiesced - Verified that once in Quiesced, system could be powered off, and a boot worked fine (and AttempsLeft was back to 3)
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I8d101b987517e160becc712ed70950f1d3204397
|
/openbmc/phosphor-state-manager/target_files/ |
H A D | obmc-host-quiesce@.target | 128ea8e3 Wed Jun 22 11:28:15 CDT 2022 Andrew Geissler <geissonator@yahoo.com> host-reboot: enforce host boot count on host crash
The host reboot path can be triggered via paths outside of the normal RequestedHostTransition property set. For example, if the host crashes, it just triggers an automatic reboot using the systemd targets, which means the check to prevent continuous host reboots is not run.
This commit ensures we decrement the reboot counter when a host crash occurs, and it also ensures we check that count when deciding if a reboot should occur.
While testing, it was found when we end in the host Quiesce state (after all reboot attempts have expired), the host stayed in Quiesce, even after issuing a power off. The fix for that was to ensure the obmc-host-quiesce@.target conflicted with obmc-host-stop@.target to ensure it would properly run on the power off request and update the host state to Off.
Tested: - Verified that AttemptsLeft was properly decremented on host crashes - Verified that when AttempsLeft reached 0, the reboot was halted and the host state was moved to Quiesced - Verified that once in Quiesced, system could be powered off, and a boot worked fine (and AttempsLeft was back to 3)
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I8d101b987517e160becc712ed70950f1d3204397
|
/openbmc/phosphor-state-manager/ |
H A D | host_state_manager.hpp | 128ea8e3 Wed Jun 22 11:28:15 CDT 2022 Andrew Geissler <geissonator@yahoo.com> host-reboot: enforce host boot count on host crash
The host reboot path can be triggered via paths outside of the normal RequestedHostTransition property set. For example, if the host crashes, it just triggers an automatic reboot using the systemd targets, which means the check to prevent continuous host reboots is not run.
This commit ensures we decrement the reboot counter when a host crash occurs, and it also ensures we check that count when deciding if a reboot should occur.
While testing, it was found when we end in the host Quiesce state (after all reboot attempts have expired), the host stayed in Quiesce, even after issuing a power off. The fix for that was to ensure the obmc-host-quiesce@.target conflicted with obmc-host-stop@.target to ensure it would properly run on the power off request and update the host state to Off.
Tested: - Verified that AttemptsLeft was properly decremented on host crashes - Verified that when AttempsLeft reached 0, the reboot was halted and the host state was moved to Quiesced - Verified that once in Quiesced, system could be powered off, and a boot worked fine (and AttempsLeft was back to 3)
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I8d101b987517e160becc712ed70950f1d3204397
|
H A D | meson.build | 128ea8e3 Wed Jun 22 11:28:15 CDT 2022 Andrew Geissler <geissonator@yahoo.com> host-reboot: enforce host boot count on host crash
The host reboot path can be triggered via paths outside of the normal RequestedHostTransition property set. For example, if the host crashes, it just triggers an automatic reboot using the systemd targets, which means the check to prevent continuous host reboots is not run.
This commit ensures we decrement the reboot counter when a host crash occurs, and it also ensures we check that count when deciding if a reboot should occur.
While testing, it was found when we end in the host Quiesce state (after all reboot attempts have expired), the host stayed in Quiesce, even after issuing a power off. The fix for that was to ensure the obmc-host-quiesce@.target conflicted with obmc-host-stop@.target to ensure it would properly run on the power off request and update the host state to Off.
Tested: - Verified that AttemptsLeft was properly decremented on host crashes - Verified that when AttempsLeft reached 0, the reboot was halted and the host state was moved to Quiesced - Verified that once in Quiesced, system could be powered off, and a boot worked fine (and AttempsLeft was back to 3)
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I8d101b987517e160becc712ed70950f1d3204397
|
H A D | host_state_manager.cpp | 128ea8e3 Wed Jun 22 11:28:15 CDT 2022 Andrew Geissler <geissonator@yahoo.com> host-reboot: enforce host boot count on host crash
The host reboot path can be triggered via paths outside of the normal RequestedHostTransition property set. For example, if the host crashes, it just triggers an automatic reboot using the systemd targets, which means the check to prevent continuous host reboots is not run.
This commit ensures we decrement the reboot counter when a host crash occurs, and it also ensures we check that count when deciding if a reboot should occur.
While testing, it was found when we end in the host Quiesce state (after all reboot attempts have expired), the host stayed in Quiesce, even after issuing a power off. The fix for that was to ensure the obmc-host-quiesce@.target conflicted with obmc-host-stop@.target to ensure it would properly run on the power off request and update the host state to Off.
Tested: - Verified that AttemptsLeft was properly decremented on host crashes - Verified that when AttempsLeft reached 0, the reboot was halted and the host state was moved to Quiesced - Verified that once in Quiesced, system could be powered off, and a boot worked fine (and AttempsLeft was back to 3)
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I8d101b987517e160becc712ed70950f1d3204397
|