Skip to content

Add ProcessorMetrics endpoint for RAS error counts#55

Open
raja-gade wants to merge 1 commit intointeg_sp8from
error_count_bmcweb
Open

Add ProcessorMetrics endpoint for RAS error counts#55
raja-gade wants to merge 1 commit intointeg_sp8from
error_count_bmcweb

Conversation

@raja-gade
Copy link
Collaborator

Add a new Redfish OEM endpoint at
/redfish/v1/Systems/{}/Processors/{}/Oem/AMD/ProcessorMetrics that exposes per-socket RAS error counters from the com.amd.RAS D-Bus service.

The endpoint returns four error categories per processor socket:

  • CorrectableCPUErrors (array of uint64)
  • CorrectableOtherErrors (uint64)
  • NoncorrectableCPUErrors (array of uint64)
  • NoncorrectableOtherErrors (uint64)

Tested:
Verified GET on the ProcessorMetrics endpoint returns correct error counts from the com.amd.RAS ErrorCount D-Bus object.

'''
curl -s -k -u root:0penBmc -H "Content-type: application/json" -X GET https:///redfish/v1/Systems/system/Processors/P0/Oem/AMD/ProcessorMetrics {
"@odata.id": "/redfish/v1/Systems/system/Processors/P0/Oem/AMD/ProcessorMetrics",
"@odata.type": "#AmdProcessorMetrics.AmdProcessorMetrics",
"CorrectableCPUErrors": [
0,
0,
....
0
],
"CorrectableOtherErrors": 0,
"Id": "ProcessorMetrics",
"Name": "P0 Processor Error Metrics",
"NoncorrectableCPUErrors": [
2,
0,
...
0
],
"NoncorrectableOtherErrors": 0
}
'''

Add a new Redfish OEM endpoint at
/redfish/v1/Systems/{}/Processors/{}/Oem/AMD/ProcessorMetrics
that exposes per-socket RAS error counters from the com.amd.RAS
D-Bus service.

The endpoint returns four error categories per processor socket:
- CorrectableCPUErrors (array of uint64)
- CorrectableOtherErrors (uint64)
- NoncorrectableCPUErrors (array of uint64)
- NoncorrectableOtherErrors (uint64)

Tested:
Verified GET on the ProcessorMetrics endpoint returns
correct error counts from the com.amd.RAS ErrorCount D-Bus object.

'''
curl -s -k -u root:0penBmc -H "Content-type: application/json" -X GET https://<BMC IP>/redfish/v1/Systems/system/Processors/P0/Oem/AMD/ProcessorMetrics
{
  "@odata.id": "/redfish/v1/Systems/system/Processors/P0/Oem/AMD/ProcessorMetrics",
  "@odata.type": "#AmdProcessorMetrics.AmdProcessorMetrics",
  "CorrectableCPUErrors": [
    0,
    0,
        ....
    0
  ],
  "CorrectableOtherErrors": 0,
  "Id": "ProcessorMetrics",
  "Name": "P0 Processor Error Metrics",
  "NoncorrectableCPUErrors": [
    2,
    0,
        ...
    0
  ],
  "NoncorrectableOtherErrors": 0
}
'''

Signed-off-by: Raja Sekhar Reddy Gade <RajaSekharReddy.Gade@amd.com>
Copy link
Collaborator

@supven01 supven01 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@raja-gade - This is good. However, this was not required for internal reference BMC. G would have done it themselves.

@raja-gade
Copy link
Collaborator Author

@raja-gade - This is good. However, this was not required for internal reference BMC. G would have done it themselves.

Thanks you @supven01
Just to confirm — should I proceed with merging this change,
or should we hold it since it may not be required for the internal reference BMC?
If it’s not needed, I can abandon

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants