From 35c9f6f0f4e1254f0512154cc46116d8047fe19b Mon Sep 17 00:00:00 2001 From: Chalapathi Venkataramashetty Date: Wed, 14 Jul 2021 20:44:06 +0000 Subject: [PATCH] Add message registry entry for FirmwareResiliencyError Add an event log in redfish when firmware update failed due to FirmwareResiliencyError. The existing message entries BMCFirmwareResiliencyError(for BMC update failures) and BIOSFirmwareResiliencyError(for BIOS update failures) are not useful for the new platform. The new platform's CPLD report common error code for BMC, PCH or CPLD firmware update failures. Hence a common message entry is required to capture the firmware update failure events. This event is Implemented in the following review. https://gerrit.openbmc-project.xyz/c/openbmc/pfr-manager/+/43281 Tested: Redfish Service Validator passed for this change. Update BMC firmware with mismatched SVN POST: https:///redfish/v1/UpdateService/ with binary file After BMC reboots check for Event log in Redfish Command: GET: https:///redfish/v1/Systems/system/LogServices/ EventLog/Entries Response: { "@odata.id": "/redfish/v1/Systems/system/LogServices/ EventLog/Entries/1621435142_1", "@odata.type": "#LogEntry.v1_4_0.LogEntry", "Created": "2021-05-19T14:39:02+00:00", "EntryType": "Event", "Id": "1621435142_1", "Message": "Firmware resiliency error. Error reason: Firmware update failed(MinorCode:0x02).", "MessageArgs": [ "Firmware update failed(MinorCode:0x02)" ], "MessageId": "OpenBMC.0.1.FirmwareResiliencyError", "Name": "System Event Log Entry", "Severity": "Critical" }, Signed-off-by: Chalapathi Venkataramashetty --- .../registries/openbmc_message_registry.hpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/redfish-core/include/registries/openbmc_message_registry.hpp b/redfish-core/include/registries/openbmc_message_registry.hpp index a00d235..967713f 100644 --- a/redfish-core/include/registries/openbmc_message_registry.hpp +++ b/redfish-core/include/registries/openbmc_message_registry.hpp @@ -29,7 +29,7 @@ const Header header = { "0.2.0", "OpenBMC", }; -constexpr std::array registry = { +constexpr std::array registry = { MessageEntry{ "ADDDCCorrectable", { @@ -560,6 +560,18 @@ constexpr std::array registry = { {"string"}, "None.", }}, + MessageEntry{"FirmwareResiliencyError", + { + "Indicates firmware encountered resilience error.", + "Firmware resiliency error. Error reason: %1.", + "Critical", + "Critical", + 1, + { + "string", + }, + "None.", + }}, MessageEntry{"FirmwareUpdateCompleted", { "Indicates a firmware update has completed successfully.", -- 2.17.1