Description
Initially, redfish had Indicator LED property with enum Attention/Identify/Off. However, going forward, that would not be the case. The idea is to use "HealthRollUp" property of a FRU to indicate a fault on thh FRU.
What is needed:
when a client wants to read HealthRollUp, bmcweb will check if there is any association to led object for that FRU and if so, it reads the asserted state of the group and then populates the Rollup property
For example: each FRU instance will have "fault_led" and "identify_led".
Sequence of events:
1/. User reads HealthRollUp of a resource
2/. bmcweb checks if there is any led association object created for that Inventory
Example:
- busctl get-property xyz.openbmc_project.ObjectMapper /xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/fault_led xyz.openbmc_project.Association endpoints
Example output: "/xyz/openbmc_project/led/groups/dimm10_fault"
3/. If there is an association existing, then read the "asserted" state.
- busctl get-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/dimm10_fault xyz.openbmc_project.Led.Group Asserted
4/. Use the result from above step ^ and then set "HealthRollup" is "Critical" if it's "true"