summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0021-Add-message-registry-entry-for-FirmwareResiliencyErr.patch
blob: 2b8f8987c584d3b3b554f682441750ed3c554a8c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
From 35c9f6f0f4e1254f0512154cc46116d8047fe19b Mon Sep 17 00:00:00 2001
From: Chalapathi Venkataramashetty <chalapathix.venkataramashetty@intel.com>
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://<BMC_IP>/redfish/v1/UpdateService/
      with <BMC_Update_Capsule> binary file
After BMC reboots check for Event log in Redfish
Command: GET: https://<BMC_IP>/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 <chalapathix.venkataramashetty@intel.com>
---
 .../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<MessageEntry, 196> registry = {
+constexpr std::array<MessageEntry, 197> registry = {
     MessageEntry{
         "ADDDCCorrectable",
         {
@@ -560,6 +560,18 @@ constexpr std::array<MessageEntry, 196> 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