Chassis reset

Vijay Khemka vijaykhemka at fb.com
Thu Sep 24 11:48:11 AEST 2020



On 9/23/20, 2:12 PM, "Ed Tanous" <ed at tanous.net> wrote:

    On Wed, Sep 23, 2020 at 1:21 PM Patrick Williams <patrick at stwcx.xyz> wrote:
    >
    > On Wed, Sep 23, 2020 at 12:26:58PM -0700, Ed Tanous wrote:
    > > On Wed, Sep 23, 2020 at 12:10 PM Patrick Williams <patrick at stwcx.xyz> wrote:
    > > >
    > > > On Wed, Sep 23, 2020 at 05:45:51AM +0000, Vijay Khemka wrote:
    > > > >
    > > > > Yes I have 2 chassis instance xyz/openbmc_project/chassis0 and xyz/openbmc_project/chassis_system0.
    > > > > Later one is used for AC reset.
    > > >
    > > > Can we do a query to see if 'chassis_system0' exists and use it first
    > > > and then 'chassis0' if not?
    > >
    > > I don't think it's that simple.  The way the dbus APIs are defined,
    > > one Redfish chassis needs to call the chassis0 path, the other needs
    > > to call the chassis_system0 path.  We'd need a way to key off which
    > > one is which.  I haven't seen any entity-manager configs get checked
    > > in for a "multinode chassis" entity type, so whatever interface we use
    > > to describe that will probably be what we need to key off to make that
    > > path distinction.
    >
    > In Redfish this would be the system path that maps to chassis_system0
    > and not the chassis path.  In Redfish today, chassis doesn't do a whole
    > lot except allow you to power cycle the host.  Most of the control is in
    > System.

    The way Vijay describes it, it's resetting the Chassis (ie, removing
    power from the board itself).  The redfish System resource is meant to
    model the host, and shouldn't be resetting the BMC.  Maybe I
    misunderstood, and this is actually just a host reset?

Yes it is removing power from whole system and restoring back. It includes
Everything in the system like host, bmc and other devices on board. We call
This as sled_cycle like you pull out chassis from rack and push it back.

    >  chassis_system0 controls the
    > '12v + 5V standby rails' part of the system.  In my opinion, it should
    > only be present when a system actually allows manipulation of the
    > standby power, but that isn't how it is currently implemented.

    Sure, that seems like a fine way to model it, but then we need to come
    up with an API to "steer" the Redfish API to the right resource so we
    don't break backward compatibility for the things that work today.
    That seems harder, and more error prone, but could certainly be
    defined.  Whether that shows up as chassis0, or we just redirect to
    host0 if chassis0 doesn't exist seems fine to me.

    If I can clarify what you're proposing.

    host0 controls the host.
    chassis0 also controls the host.
    chassis_system0 controls the chassis power unit.

Controls whole system




More information about the openbmc mailing list