New obmc-host-startmin action target proposal
Andrew Geissler
geissonator at gmail.com
Thu Mar 29 00:25:11 AEDT 2018
Recently an issue arose
(https://github.com/openbmc/openbmc/issues/3035) which stated OpenBMC
needed to reset the host reboot counter whenever a fresh power on is
done. The host reboot counter
(https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/xyz/openbmc_project/Control/Boot/RebootAttempts.interface.yaml)
is used to ensure OpenBMC only retries the boot of the host a certain
amount of times. It’s decremented each time the host fails to boot
and if all retries are used, the BMC will go to a host quiesce state.
It brought up an interesting issue because the reboot path used by
OpenBMC when the host fails to boot basically just used the host-stop
and then host-start target. The host-start target is the same target
used for a fresh power on. This put me in a quandary because I
couldn’t just add a service to host-start to reset the host reboot
count since it was used in the reboot path.
Adriana and I discussed a few options (bread crumb in reboot path to
look at, software logic in phosphor-host-state code) but none seemed
as clean a just making a new host start action target. The proposal
is we have two targets:
obmc-host-start (existing target)
obmc-host-startmin (minimum services required to start host, used by
reboot target)
The obmc-host-start target will require (i.e. start) the
obmc-host-startmin target. We can now add services that we only want
run during a fresh power on to obmc-host-start.
I put the code up in https://gerrit.openbmc-project.xyz/#/c/9774/ (and
it’s related commit).
ref: https://github.com/openbmc/docs/blob/master/openbmc-systemd.md
(I’ll be updating this pending and comments on above design)
Comments appreciated.
Thanks,
Andrew
More information about the openbmc
mailing list