From 159146e27119cc89ccabc9837bae40d6f6baf1b4 Mon Sep 17 00:00:00 2001 From: Hieu Huynh Date: Fri, 22 Dec 2023 09:51:31 +0000 Subject: meta-ampere: mtmitchell: handle the fan fault The phosphor-led-manager will monitors the `xyz.openbmc_project.State.Decorator.OperationalStatus` interface of the Inventory D-Bus object, and check whether the Inventory D-Bus object is associated with the LED group D-Bus object, and then update the Asserted property of the LedManager. This adds the fan_fault led group to associations.json file to monitors the FANs and turns on the fault led when the FANs fails. 1. Unplug the fan and verify that both `Fan Fault Led` and `Fault Led` are turned on. 2. Plug the fan and verify that both `Fan Fault Led` and `Fault Led` are turned off. Signed-off-by: Hieu Huynh Change-Id: I2adc0fb8846c4690f8eaac3bb80e6dbf25077be3 --- .../phosphor-inventory-manager/associations.json | 230 +++++++++++++++++++++ .../phosphor-inventory-manager_%.bbappend | 10 + .../phosphor-led-manager/led-group-config.json | 17 ++ 3 files changed, 257 insertions(+) create mode 100644 meta-ampere/meta-mitchell/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json create mode 100644 meta-ampere/meta-mitchell/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend (limited to 'meta-ampere/meta-mitchell') diff --git a/meta-ampere/meta-mitchell/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json b/meta-ampere/meta-mitchell/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json new file mode 100644 index 0000000000..1a55553ded --- /dev/null +++ b/meta-ampere/meta-mitchell/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json @@ -0,0 +1,230 @@ +[ + { + "path": "system/board/Mt_Mitchell_Motherboard/FAN0", + "endpoints": + [ + { + "types": + { + "rType": "inventory", + "fType": "sensors" + }, + "paths": + [ + "/xyz/openbmc_project/sensors/fan_tach/FAN0_F", + "/xyz/openbmc_project/sensors/fan_tach/FAN0_R" + ] + }, + { + "types": { + "rType": "fault_identified_by", + "fType": "fault_identifying" + }, + "paths": [ + "/xyz/openbmc_project/led/groups/fan_fault" + ] + }, + { + "types": + { + "rType": "cooled_by", + "fType": "cooling" + }, + "paths": + [ + "/xyz/openbmc_project/inventory/system/chassis" + ] + } + ] + }, + { + "path": "system/board/Mt_Mitchell_Motherboard/FAN1", + "endpoints": + [ + { + "types": + { + "rType": "inventory", + "fType": "sensors" + }, + "paths": + [ + "/xyz/openbmc_project/sensors/fan_tach/FAN1_F", + "/xyz/openbmc_project/sensors/fan_tach/FAN1_R" + ] + }, + { + "types": { + "rType": "fault_identified_by", + "fType": "fault_identifying" + }, + "paths": [ + "/xyz/openbmc_project/led/groups/fan_fault" + ] + }, + { + "types": + { + "rType": "cooled_by", + "fType": "cooling" + }, + "paths": + [ + "/xyz/openbmc_project/inventory/system/chassis" + ] + } + ] + }, + { + "path": "system/board/Mt_Mitchell_Motherboard/FAN2", + "endpoints": + [ + { + "types": + { + "rType": "inventory", + "fType": "sensors" + }, + "paths": + [ + "/xyz/openbmc_project/sensors/fan_tach/FAN2_F", + "/xyz/openbmc_project/sensors/fan_tach/FAN2_R" + ] + }, + { + "types": { + "rType": "fault_identified_by", + "fType": "fault_identifying" + }, + "paths": [ + "/xyz/openbmc_project/led/groups/fan_fault" + ] + }, + { + "types": + { + "rType": "cooled_by", + "fType": "cooling" + }, + "paths": + [ + "/xyz/openbmc_project/inventory/system/chassis" + ] + } + ] + }, + { + "path": "system/board/Mt_Mitchell_Motherboard/FAN3", + "endpoints": + [ + { + "types": + { + "rType": "inventory", + "fType": "sensors" + }, + "paths": + [ + "/xyz/openbmc_project/sensors/fan_tach/FAN3_F", + "/xyz/openbmc_project/sensors/fan_tach/FAN3_R" + ] + }, + { + "types": { + "rType": "fault_identified_by", + "fType": "fault_identifying" + }, + "paths": [ + "/xyz/openbmc_project/led/groups/fan_fault" + ] + }, + { + "types": + { + "rType": "cooled_by", + "fType": "cooling" + }, + "paths": + [ + "/xyz/openbmc_project/inventory/system/chassis" + ] + } + ] + }, + { + "path": "system/board/Mt_Mitchell_Motherboard/FAN4", + "endpoints": + [ + { + "types": + { + "rType": "inventory", + "fType": "sensors" + }, + "paths": + [ + "/xyz/openbmc_project/sensors/fan_tach/FAN4_F", + "/xyz/openbmc_project/sensors/fan_tach/FAN4_R" + ] + }, + { + "types": { + "rType": "fault_identified_by", + "fType": "fault_identifying" + }, + "paths": [ + "/xyz/openbmc_project/led/groups/fan_fault" + ] + }, + { + "types": + { + "rType": "cooled_by", + "fType": "cooling" + }, + "paths": + [ + "/xyz/openbmc_project/inventory/system/chassis" + ] + } + ] + }, + { + "path": "system/board/Mt_Mitchell_Motherboard/FAN5", + "endpoints": + [ + { + "types": + { + "rType": "inventory", + "fType": "sensors" + }, + "paths": + [ + "/xyz/openbmc_project/sensors/fan_tach/FAN5_F", + "/xyz/openbmc_project/sensors/fan_tach/FAN5_R" + ] + }, + { + "types": { + "rType": "fault_identified_by", + "fType": "fault_identifying" + }, + "paths": [ + "/xyz/openbmc_project/led/groups/fan_fault" + ] + }, + { + "types": + { + "rType": "cooled_by", + "fType": "cooling" + }, + "paths": + [ + "/xyz/openbmc_project/inventory/system/chassis" + ] + } + ] + } +] \ No newline at end of file diff --git a/meta-ampere/meta-mitchell/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend b/meta-ampere/meta-mitchell/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend new file mode 100644 index 0000000000..768c66758f --- /dev/null +++ b/meta-ampere/meta-mitchell/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend @@ -0,0 +1,10 @@ +DEPENDS:append = " inventory-cleanup" + +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" +PACKAGECONFIG:append = " associations" +SRC_URI:append = " file://associations.json" + +do_install:append() { + install -d ${D}${base_datadir} + install -m 0755 ${WORKDIR}/associations.json ${D}${base_datadir} +} diff --git a/meta-ampere/meta-mitchell/recipes-phosphor/leds/phosphor-led-manager/led-group-config.json b/meta-ampere/meta-mitchell/recipes-phosphor/leds/phosphor-led-manager/led-group-config.json index 84b78bf42c..ef35e053bb 100644 --- a/meta-ampere/meta-mitchell/recipes-phosphor/leds/phosphor-led-manager/led-group-config.json +++ b/meta-ampere/meta-mitchell/recipes-phosphor/leds/phosphor-led-manager/led-group-config.json @@ -43,6 +43,23 @@ "Period": 1000 } ] + }, + { + "group": "fan_fault", + "members": [ + { + "Name": "fan_fault", + "Action": "On", + "DutyOn": 50, + "Period": 1000 + }, + { + "Name": "fault", + "Action": "On", + "DutyOn": 50, + "Period": 1000 + } + ] } ] } -- cgit v1.2.3