On Wed, Sep 23, 2020 at 12:26:58PM -0700, Ed Tanous wrote: > On Wed, Sep 23, 2020 at 12:10 PM Patrick Williams 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. > > > > > I think we need to do some enhancement to x86-power-control though also > > to only create this 'chassis_system0' object if configured. I believe > > the current code change you did does it always, even if the > > systemd-target is empty. > > I keep getting the feeling that xyz/openbmc_project/chassis_system0 is > just overloading what /xyz/openbmc_project/chassis0 is intended to do, > x86-power-control just had that already defined, so we went another > direction. I wonder if we just need to make the "Can I do a real AC > reset" configurable, and have it change the behavior of > /xyz/openbmc_project/chassis0 in that case. No, these are not overloading each other. They are vastly different. host0 + chassis0 make up the 'BIOS/OS control' and '12V power on rails' portions of host power control respectively. 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. > Also, I'll reiterate that a chassis reset really should be going in a > separate repo/application from x86-power-control. x86-power-control > should be focused on managing the host. No disagreement from me; that was my recommendation originally. But, the current implementation landed there and was accepted by the maintainer. I don't honestly think that matters much at a "how should Redfish APIs map to these dbus objects" perspective though, which is the current discussion. -- Patrick Williams