LEDS: Update the document with details on handling hardware faults
This commit puts technical information on these :
- How the resource fault is represented in Inventory
- How the resource fault is tied to LED architecture
- How the resource fault is represented in Reedfish
Change-Id: I7a010cbc9872ed0f656c74f9c64a7f2a8c0412f1
Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
diff --git a/architecture/LED-architecture.md b/architecture/LED-architecture.md
index 4691b3e..e8fbd65 100644
--- a/architecture/LED-architecture.md
+++ b/architecture/LED-architecture.md
@@ -59,6 +59,32 @@
- If found, set the `asserted` property on the D-Bus object that is pointed
to by `identify_led_group`
+### Representing resource faults
+For representing the fault status of a resource, Redfish `Health` property is
+used.
+All applicable Inventory D-Bus objects would have a forward association mapping
+to LED Group D-Bus object, namely;
+```
+ - fault_led_group
+```
+All applicable LED Group D-Bus objects would have an association mapping to
+inventory D-Bus object, namely:
+```
+ - fault_inventory_object
+```
+
+When a component fault is detected, the responsible code sets the `Functional`
+property of `xyz.openbmc_project.State.Decorator.OperationalStatus` to `false`
+on the Inventory D-Bus object.
+
+When LED manager gets PropertyChanged signal, it does the following:
+- Look for an association `fault_led_group` on the Inventory D-Bus object
+- Turn on/off the fault LED group depending on the value of `Functional`
+ `false` would mean turn ON the LED group
+ `true` would mean turn OFF the LED group
+
+- bmcweb already has a design to look for `Functional` property and set the
+ `Health` property.
## Development Details
There are two significant layers for LED operations. The physical and the