Processing PLDM FRU information with entity manager
Deepak Kodihalli
dkodihal at linux.vnet.ibm.com
Tue May 19 13:40:05 AEST 2020
Hi,
IBM systems have a requirement to consume FRU information sent down via
the host firmware and then relay that onto D-Bus (and then onto
Redfish). The host firmware will send down FRU information using PLDM.
We wanted to use entity manager to enable transforming the PLDM FRU data
to D-Bus properties that fall under D-Bus inventory interfaces such as
the xyz.openbmc_project.Inventory.Decorator.Asset interface. I have an
update to the PLDM design doc to capture this flow [1], and some D-Bus
interfaces [2] proposed on Gerrit. Would appreciate feedback on the
same. The high level idea is that the pldm daemon will host raw PLDM FRU
information on D-Bus, and via JSON configs, entity manager can convert
those to D-Bus inventory objects (which then can be found by bmcweb).
From an entity manager perspective, I had few questions :
- I see there is provision for persistence, but it looks like applying
the persisted information works only if "D-Bus probes" succeed. We have
a requirement to make the host-sent inventory information available even
when the host is powered off. Now if the host has sent this, then powers
off, and then BMC reboots, the BMC will no longer have the raw PLDM FRU
information on D-Bus and hence the entity manager probe on the same will
fail. Question is, can the probes be made optional when reading the
persisted config (system.json)?
- How are hierarchical relationships between FRUs supposed to be
represented? Is that based on D-Bus pathnames? Or making use of
something like the D-Bus Associations interface? Any thoughts on how
representing such parent-child relation can be achieved via entity
manager configs?
[1] https://gerrit.openbmc-project.xyz/#/c/openbmc/docs/+/32532/
[2]
https://gerrit.openbmc-project.xyz/#/c/openbmc/phosphor-dbus-interfaces/+/32533/
Thanks,
Deepak
More information about the openbmc
mailing list