Processing PLDM FRU information with entity manager

Deepak Kodihalli dkodihal at
Tue May 19 13:40:05 AEST 2020


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?



More information about the openbmc mailing list