I'm using Redfish for power control and seeing strange behavior on my system.
Symptom: The "PowerState" is not reflected immediately after the task is completed.
Step 1: I try to "ForceOff" SUT via Redfish and get back the task resource. Step 2: Query the task status until the status changes to "Completed" Step 3: Query "PowerState" of System ( /redfish/v1/Systems/Self), but "PowerState" remains "On" Step 4: After 10 second, I query again. "PowerState" becomes "Off"
In step 3, I also use IPMITOOL to query the PowerState, which has become "off".
I think it's a code issue, can anyone provide a comment? Or is there documentation describing a best practice for this behavior?
This does sound like an issue with the Redfish service; I would expect the PowerState to transition to "Off" when the task is complete as well. I would contact your vendor about this.
This type of detail isn't explicitly called out since it's pretty typical for RESTful interfaces. Generally speaking, properties are expected to reflect the true state of what they represent. I can certainly understand some data may have a delay due to how the BMC monitors the system (like polling cycle times for sensors), but in this case you're directly calling a "ForceOff" to be performed where the end result is the system is off. To me this means the BMC should know about the power state at the end of the operation.