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