How to deal with failing services in the boot targets

Xo Wang xow at google.com
Fri Feb 10 06:28:11 AEDT 2017


On Thu, Feb 9, 2017 at 8:32 AM, Andrew Geissler <geissonator at gmail.com> wrote:
> Some updates on this topic as I've gone into implementation.
>
> The use of "system" in the quiesce target resulted in a lot of
> discussion.  What's a system in relation to a chassis or host?  We
> then started discussing blade centers (1 bmc to many blade servers)
> and high end servers (1 bmc to many chassis).
>
> This also led to discussion on whether we can really do a generic
> recovery when the chassis power on target vs. the host start target
> fails.
>
> The outcome was the following:
> - We'll rename the  obmc-quiesce-system at .target to
> obmc-quiesce-host at .target.  We'll create an instance per host (which
> is currently 1 for all systems).
> - When the chassis power on target fails, we'll have it's
> "onFailure=chassis power off" instead of quiesce.  The power on should
> be very minimal and if we fail, the only recovery is to power off and
> try again.  When the host start target fails, we'll go to the host
> quiesce target.  The recovery from that could be to power on/off again
> but it could also be to just re-run the host start target (i.e. leave
> chassis power on).
>

Sounds reasonable to me. If at some point we have specific power
sequencing requirements, this would handle "tearing down" that
sequence in the correct order.

> Also, Brad noted in the code review that we should not be putting the
> target to service dependencies in the target files.  The target files
> are meant to be generic to allow different implementations on the
> services required to achieve them.  Instead, I'll be putting the
> relationship into the recipe files.
>

I guess normally this is expressed by the [Install] directives in the
service files, then associated to targets at service install time by
systemd.

It looks to me like our installation is handled by SYSTEMD_LINK in
obmc-phosphor-systemd so, agreed, that's ultimately where we express
the relationships.

> If you'd like to follow along on the reviews:
> https://gerrit.openbmc-project.xyz/#/c/2253/  # doc updates
> https://gerrit.openbmc-project.xyz/#/c/2115/  # target and recipe updates
>
> Andrew
>

Thanks for taking this on Andrew.

cheers
xo


More information about the openbmc mailing list