BMC Operating Mode [Manual / Normal]

vishwa vishwa at linux.vnet.ibm.com
Tue Dec 10 20:54:00 AEDT 2019


On 12/9/19 6:24 PM, Brad Bishop wrote:
>
>> 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?
Setting controlling other operations. At this moment, I don't have a 
list of things that are influenced by this setting.
> 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?
This works on some and may not always be possible. For instance, Time at 
which the BMC should do PowerOn ( Timed Power On ) is not an external 
settable entity. The Host sends down the 'seconds since epoch' to BMC. 
However, as an external policy, Manual/Normal will override that behavior.

!! Vishwa !!
> thx - brad



More information about the openbmc mailing list