bmcweb: add Chassis Links/Processors support
Implement Redfish Chassis Links/Processors property to expose the
association between a chassis and its processors. The "containing"
association from the chassis D-Bus object is traversed to discover
all associated processor objects.
Processors implementing either of the following D-Bus interfaces are
included:
- xyz.openbmc_project.Inventory.Item.Accelerator
- xyz.openbmc_project.Inventory.Item.Cpu
The following Redfish property is populated:
- Links/Processors[]/@odata.id
(/redfish/v1/Systems/<system>/Processors/<name>)
Tested:
```
Build an image for nvl32-obmc machine with the following
patches cherry-picked:
1. platform-init enable LCLK and espiCLK:
https://gerrit.openbmc.org/c/openbmc/platform-init/+/89900
2. mctpd configuration:
https://gerrit.openbmc.org/c/openbmc/openbmc/+/87390
3. Enable nvidia-gpu sensor:
https://gerrit.openbmc.org/c/openbmc/openbmc/+/89933
```
```
$ curl -sk -u \
https://localhost/redfish/v1/Chassis/{}
{
...
"Links": {
...
"Processors": [
{
"@odata.id": "/redfish/v1/Systems/system/Processors/GPU_*_*"
}
]
}
...
}
```
```
Redfish Service Validator: PASS: 10646, WARN: 381, FAIL: 1,
NOT TESTED: 16809
The FAIL is pre-existing.
```
Change-Id: I071ba0f7774d7c6c11f4a49fc584d50b0dfb9ca8
Signed-off-by: Jacky Huang <jackyhuang@nvidia.com> J
Jacky Huang committed
8f680d8456c9e834f871fffa630043811597c3f8
Parent: e05fbc0