Check on bypass phosphor-discover-system-state at .service if BMC not boot from A/C
Thang Nguyen OS
thang at amperemail.onmicrosoft.com
Fri Feb 18 18:36:06 AEDT 2022
Hi,
We have chassis power policy that users configure so that the Host power
can be recovered via the setting. In phosphor-state-manager, there is
phosphor-discover-system-state at .service service to check the power
restore policy and recover the Host via the policy users configured
(always-on, always-off, previous). The problem is that when BMC is
rebooted, the service should not be executed as Host power status should
not be changed in this case.
Previously, we added a patch in u-boot to add reboot cause to the
command line, like:
# cat /proc/cmdline
console=ttyS4,115200n8 root=/dev/ram rw resetreason=power
Then, add condition to the service to just execute when resetreason=power:
[Unit]
ConditionKernelCommandLine=resetreason=power
as now no u-boot patch inside meta-<vendor> is permitted, this approach
is no longer applicable.
Since the BMC reboot cause feature by Tim Lee at
https://github.com/openbmc/phosphor-state-manager/commit/2bfb1efc4bc7e781224e19c05b51e6675f13a488
and with the watchdog driver support, we have the reset cause
information via both dbus and kernel /sys:
# cat /sys/class/watchdog/watchdog0/bootstatus
32
# busctl get-property xyz.openbmc_project.State.BMC
/xyz/openbmc_project/state/bmc0 xyz.openbmc_project.State.BMC
LastRebootCause
s "xyz.openbmc_project.State.BMC.RebootCause.POR"
I would like to check if you have any idea on how to use the above
information to prevent the power restore policy executed in case of BMC
reboot.
Thanks,
Thang Q. Nguyen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20220218/75c4ecb8/attachment.htm>
More information about the openbmc
mailing list