PEL: Update D-Bus event sev based on PEL severity
Put in checks to ensure the D-Bus event log severity agrees with the
final PEL severity for PELs created by the BMC. The D-bus property is
what is used in the Redfish event log, and we want to avoid cases like
having a Critical event log for an informational PEL.
This could happen in the case where the PEL message registry entry for
the event has a hardcoded or manufacturing specific severity value that
is different than the severity the D-Bus event log is first created
with.
This commit ensures that:
* If the PEL is nonError/recovered, the D-Bus severity is one of the
non error ones.
* If the PEL isn't nonError/recovered, then the D-Bus severity also
isn't.
* If the PEL is critical, the D-Bus severity is also critical.
It doesn't try to update the D-Bus severity for every PEL severity
because there isn't a one to one mapping - e.g. Notice, Debug, and
Informational D-Bus severities all map to a PEL severity of
nonError(informational).
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I6b0006034090e6d8e33e9f8b136ae50cce489f6e
diff --git a/extensions/openpower-pels/manager.hpp b/extensions/openpower-pels/manager.hpp
index fa8ac0f..e6ae00f 100644
--- a/extensions/openpower-pels/manager.hpp
+++ b/extensions/openpower-pels/manager.hpp
@@ -439,6 +439,15 @@
bool updateResolution(const openpower::pels::PEL& pel);
/**
+ * @brief Check if the D-Bus severity property for the event log
+ * needs to be updated based on the final PEL severity,
+ * and update the property accordingly.
+ *
+ * @param[in] pel - The PEL to operate on.
+ */
+ void updateDBusSeverity(const openpower::pels::PEL& pel);
+
+ /**
* @brief Create PELEntry Interface with supported properties
*
* Create PELEntry Interface and update all the properties which are