obmc-op-control-power_git.bb refactoring

Andrew Geissler geissonator at gmail.com
Fri Nov 11 07:59:16 AEDT 2022


Some recent phosphor-state-manager (PSM) feedback indicated quite a bit of
confusion with the services involved in powering on and off the chassis. And
I'll have to admit, after getting to explain it in discord, it is a bit

The PSM repository defines the needed systemd targets for PSM to function and
the generic services that could be applicable to any system. System specific
services are hosted in machine-specific layers and loaded into the appropriate
systemd targets as needed.

There are however a series of generic services for powering on/off the chassis
that are hosted outside[1] of PSM.

What makes these services especially confusing is that they are under a recipe
indicating they are only for openpower machines (op) but in reality they mostly
just operate against a generic d-bus object, /org/openbmc/control/power%i.

There are two options for supporting /org/openbmc/control/power%i, either
utilizing the old skeleton repo[2] or the new phosphor-power implementation.
We definitely want to continue to push people away from our skeleton repo (I'm
pretty sure that this op-pwrctl part of skeleton is the last one being used) but
I'm not looking to tackle that here.

What I would like to do is get the generic services that are not tied to any
specific chassis poweron implementation out of this[3] recipe and into PSM. I'd
also like to rename the service files and rename the recipe to remove the
"op" references.

Here's what I'm thinking:

Move these services to PSM and rename them as follows:
- op-power-start at .service -> phosphor-power-start at .service
- op-power-stop at .service -> phosphor-power-stop at .service
- op-powered-off at .service -> phosphor-powered-off at .service
- op-reset-chassis-on at .service -> phosphor-reset-chassis-on at .service

Leave in current location but rename (these rely on code from the skeleton repo):
- op-wait-power-off at .service -> phosphor-wait-power-off at .service
- op-wait-power-on at .service -> phosphor-wait-power-on at .service
- obmc-op-control-power_git.bb -> phosphor-skeleton-control-power_git.bb

I'd like the "skeleton" in the recipe name to hopefully keep people away from it
and remind ourselves to get rid of it at some point.

Thoughts or comments?

[1]: https://github.com/openbmc/openbmc/tree/master/meta-phosphor/recipes-phosphor/chassis/obmc-op-control-power
[2]: https://github.com/openbmc/skeleton/tree/master/op-pwrctl
[3]: https://github.com/openbmc/openbmc/blob/master/meta-phosphor/recipes-phosphor/chassis/obmc-op-control-power_git.bb

More information about the openbmc mailing list