Target name refactoring

Brad Bishop bradleyb at fuzziesquirrel.com
Sat Feb 25 00:59:18 AEDT 2017


> On Feb 21, 2017, at 10:00 PM, Joel Stanley <joel at jms.id.au> wrote:
> 
> On Tue, Feb 21, 2017 at 8:50 AM, Andrew Geissler <geissonator at gmail.com> wrote:
>> Some design decisions came out of my last set of changes in the
>> OpenBMC state area.  There was a proposal to rename our targets
>> responsible for booting and powering on/off the system.
>> 
>> Currently we have this:
>> - PowerOn: obmc-power-chassis-on.target    obmc-chassis-start.target
>> - PowerOff: obmc-power-chassis-off.target    obmc-chassis-stop.target
>>  obmc-stop-host.target
>> 
>> The obmc-power-chassis-*.targets are responsible for doing whatever is
>> required to apply pgood to the chassis.
>> The obmc-chassis-*.targets are responsible for starting and stopping
>> all host related services
>> The obmc-stop-host.target is where we have the soft power off service
>> (notify host of shutdown, wait for host to shutdown gracefully)
>> 
>> Refactoring Proposal:
>> - First the chassis-start and chassis-stop target names don’t make
>> sense anymore with the new bmc, chassis, and host state break down’s
>> so:
>>  - Rename obmc-chassis-start.target to obmc-start-host.target
>>  - Rename obmc-chassis-stop.target to obmc-stop-host.target
>>  - Rename the current obmc-stop-host.target to obmc-shutdown-host.target
> 
> Can I suggest putting the host before the action?
> 
> obmc-host-stop
> obmc-host-start
> obmc-host-shutdown

We have two types of targets, synchronization targets (for example network-pre.target), 
and action targets(for example multi-user.target).  Sync targets are not directly 
start/stoppable - they have to be started implicitly by systemd.  I would like a way 
to be able to tell which one I am looking at from the name.  For example:

obmc-stop-host # Action - stop the host.
obmc-host-stop # Sync - the host has been stopped.

I had proposed this obmc-[verb]-[what] for actions and obmc-[what]-[state] to Andrew
privately..I’m fine with something else, again, as long as it is consistent.

I can think of two conventions:

obmc-[verb]-[what] for actions
obmc-[what]-[state] for sync points

or

obmc-[what]-[verb] for actions
obmc-[what]-[state] for sync points

Either one is fine with me.  The former seems slightly easier to distinguish between
the two.

> 
>> 
>> The target relationships are then the following:
>> 
>> obmc-host-start.target requires obmc-power-chassis-on.target
>> obmc-shutdown-host.target requires obmc-stop-host.target requires
>> obmc-power-chassis-off.target
> 
> obmc-host-start requires obmc-chassis-poweron
> 
> obmc-host-shutdown requires obmc-host-stop requires obmc-chassis-poweroff
> 
> I think the rest of your proposal sounds good, from what I understand.
> 
> Cheers,
> 
> Joel
> 
>> 
>> When a system goes to the quiesce target, the host state manager will
>> call the obmc-stop-host.target.  Otherwise, the host state service
>> will call the obmc-shutdown-host.target when power off is requested.
>> 
>> Thoughts/Comments?
>> Andrew


More information about the openbmc mailing list