BMC Operating Mode [Manual / Normal]

Brad Bishop bradleyb at fuzziesquirrel.com
Mon Dec 9 23:54:02 AEDT 2019



> On Dec 9, 2019, at 6:08 AM, vishwa <vishwa at linux.vnet.ibm.com> wrote:
> 
> Sorry, resuming the discussion only now. Had to keep the discussion on back burner due to other things.
> 
> Ed, I am not sure if you are still watching this space..
> 
> On 8/14/19 2:33 AM, Ed Tanous wrote:
>> On 8/9/19 12:13 AM, vishwa wrote:
>>> Hi All,
>>> 
>>> IBM systems have a need to run BMC either in Manual or Normal Mode. What
>>> it means is this:
>>> 
>>> Manual: It's mostly a lab / debug mode, where in the system would be
>>> booted with recovery disabled.
>>> For example: If we enter Quiesce state as part of power-on, then BMC
>>> remains in Quiesce state and would *not* attempt to re power-on and
>>> reboot the system.
>>> 
>>> Normal: This is the default customer mode with recovery enabled in BMC.
>>> For example: If we enter Quiesce state as part of power-on, then an
>>> attempt will automatically be done to re power-on and boot the system.
>> We have a very similar mechanism in our non-OpenBMC stack.  We would
>> likely be interested in a generic interface for it, although the details
>> are different, as the BMC doesn't really monitor Quiesce, but the state
>> of the boot through ACPI and power rails.
>> 
> How about having a policy defined in "xyz/openbmc_project/setting/" ?.
> 
>>> There are other use-cases, where BMC does a Automatic power-on after
>>> coming back from an AC loss. Manual / Normal would influence this.
>> This is classically a separate setting called "power restore policy".  I
>> suspect you likely want to keep these separate as well, as the power
>> policy is something that a user is likely to set independent of
>> lab/debug/manual mode.
>> 
> Yes.. 2 different things. However, if the user has set "power restore --> yes" and then set the mode to "Manual", then "power restore" will behave as if nothing was set.
> 
> So, this proposed mode [Normal/Maintenance] is sort of a gate-keeper for any of these recovery actions.

This sounds like settings controlling other settings.  Do you have a list of all the settings that get ignored when this setting is active?

Rather than make all the code look at another setting, one idea for implementing this would be to turn on/off all the associated settings.  Would that work?

thx - brad


More information about the openbmc mailing list