PEL: Add fan missing PEL registry entry
This error is created by phosphor-fan-presence-tach after a fan has been
unplugged for a certain amount of time.
It calls out the backplane as low. In the future, this may be dependent
on system/chassis type but that property is not available on D-bus yet.
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I28738cb81d41f2f804f942d4a44f1aa125231b5e
diff --git a/extensions/openpower-pels/pel_values.cpp b/extensions/openpower-pels/pel_values.cpp
index 8dfca03..1b2984f 100644
--- a/extensions/openpower-pels/pel_values.cpp
+++ b/extensions/openpower-pels/pel_values.cpp
@@ -223,7 +223,9 @@
* actual names.
*/
const std::map<std::string, std::string> symbolicFRUs = {
- {"service_docs", "SVCDOCS"}, {"pwrsply", "PWRSPLY"}};
+ {"service_docs", "SVCDOCS"},
+ {"pwrsply", "PWRSPLY"},
+ {"air_mover", "AIRMOVR"}};
PELValues::const_iterator findByValue(uint32_t value, const PELValues& fields)
{
diff --git a/extensions/openpower-pels/registry/message_registry.json b/extensions/openpower-pels/registry/message_registry.json
index d2a0294..68b260f 100644
--- a/extensions/openpower-pels/registry/message_registry.json
+++ b/extensions/openpower-pels/registry/message_registry.json
@@ -815,6 +815,41 @@
"Description": "A firmware inter-process communication (D-Bus) error occurred",
"Message": "A firmware inter-process communication (D-Bus) error occurred"
}
+ },
+
+ {
+ "Name": "xyz.openbmc_project.Fan.Error.Missing",
+ "Subsystem": "power_fans",
+ "ComponentID": "0x2800",
+ "Severity": "unrecoverable_redundancy_loss",
+ "ActionFlags": ["service_action", "report", "call_home"],
+
+ "SRC": {
+ "Type": "11",
+ "ReasonCode": "0x76F1",
+ "Words6To9": {}
+ },
+
+ "Callouts": [
+ {
+ "CalloutList": [
+ { "Priority": "high", "SymbolicFRU": "air_mover"},
+ { "Priority": "low", "LocCode": "P0" }
+ ]
+ }
+ ],
+
+ "Documentation": {
+ "Description": "A fan is missing",
+ "Message": "A fan is missing",
+ "Notes": [
+ "This error occurs when a fan has been missing for a ",
+ "certain amount of time. The callouts are made by ",
+ "passing in CALLOUT_INVENTORY_PATH which will be ",
+ "combined with the symbolic FRU (not possible yet) ",
+ "along with the FRU(s) where the controllers are."
+ ]
+ }
}
]
}
diff --git a/extensions/openpower-pels/registry/schema/schema.json b/extensions/openpower-pels/registry/schema/schema.json
index 8f83c95..50c2d2d 100644
--- a/extensions/openpower-pels/registry/schema/schema.json
+++ b/extensions/openpower-pels/registry/schema/schema.json
@@ -438,7 +438,7 @@
{
"description": "The symbolic FRU callout.",
"type": "string",
- "enum": ["service_docs", "pwrsply"]
+ "enum": ["service_docs", "pwrsply", "air_mover"]
},
"symbolicFRUTrusted":