Chassis reset
Vijay Khemka
vijaykhemka at fb.com
Wed Sep 23 05:16:25 AEST 2020
After a bit of study on redfish, I got some basic definition for chassis from redfish document as below.
https://redfish.dmtf.org/schemas/v1/Chassis.v1_13_0.json
"Chassis": {
"additionalProperties": false,
"description": "The Chassis schema represents the physical components of a system. This resource represents the sheet-metal confined spaces and logical zones such as racks, enclosures, chassis and all other containers. Subsystems, such as sensors, that operate outside of a system's data plane are linked either directly or indirectly through this resource. A subsystem that operates outside of a system's data plane are not accessible to software that runs on the system.",
"longDescription": "This resource shall represent a chassis or other physical enclosure for a Redfish implementation.",
In my understanding, chassis reset should be treated as complete power cycle of whole chassis and we can use redfish command "ForceRestart or PowerCycle"
As per our implementation in bmcweb, we have implemented 2 interface (syatem and chassis) where we deal with chassis reset
1. https://github.com/openbmc/bmcweb/blob/684bb4b89f88b394b00b140d71c161143393f80b/redfish-core/lib/systems.hpp#L1754
In this system interface every reset type except ForceOff is calling action for host and for ForceOff command, it is calling chassis poweroff.
2. https://github.com/openbmc/bmcweb/blob/684bb4b89f88b394b00b140d71c161143393f80b/redfish-core/lib/chassis.hpp#L585
Here we only implement "PowerCycle" command.
Why did we implement chassis reset command at 2 different interface, I might be missing something here.
As per x86-power-control, in both above cases chassis command point to action on host only
https://github.com/openbmc/x86-power-control/blob/e63dea0875a70ff50f430a4bdc84b646a56b9ce7/power-control-x86/src/power_control.cpp#L2389
where can we implement action on chassis.
Can I add ForceRestart for chassis in redfish chassis interface as chassis sled (complete power removal and restore)
https://github.com/openbmc/bmcweb/blob/684bb4b89f88b394b00b140d71c161143393f80b/redfish-core/lib/chassis.hpp#L585
I understand that it is not very clear from refish how to map each resource and command.
Please suggest a direction here.
Regards
-Vijay
More information about the openbmc
mailing list