OpenBMC : FRU Inventory management
Deepak Kodihalli
dkodihal at linux.vnet.ibm.com
Thu Jul 30 14:22:29 AEST 2020
On 30/07/20 8:37 am, Vasant Patil wrote:
> Hi Team,
>
> We are enabling OpenBMC on x86 system. We would like to know the
> recommendation on FRU inventory management and corresponding pointers.
>
> There seems to be multiple options available
>
> 1. described in “Adding new system to OpenBMC
> <https://github.com/openbmc/docs/blob/master/development/add-new-system.md>”
> with Yaml files (meta-romulus/recipes-phosphor/ipmi
> <https://github.com/openbmc/openbmc/tree/master/meta-ibm/meta-romulus/recipes-phosphor/ipmi>)
>
> 2. Entity manager <https://github.com/openbmc/entity-manager> with JSON
> schema
Hi Vasant,
The commonly used option for this now is entity-manager. The
entity-manager config JSONs enable entity-manager to monitor/probe FRU
config information (FRU information read off of an EEPROM for eg) and
then transform that to an inventory D-Bus object that implements an
xyz.openbmc_project.Inventory.Item.<Type> interface. The webserver
(bmcweb) then can relay this into a Redfish inventory representation.
To make the FRU EEPROM content available on D-Bus, anther app typically
reads the EEPROM and then hosts the info on D-Bus. For eg the FruDevice
daemon (which sits in the entity-manager repo) scans I2C connected
EEPROMs, and can read IPMI FRU format data off of them. Now this info
can actually be coming in via EEPROMs that the BMC can't access (and for
eg the host CPU can) - in that case I would expect the FRU information
to be transported over IPMI/PLDM, and then apps like host-ipmid or pldmd
can place the FRU information on D-Bus, for entity-manager to consume.
> We are looking to enable below inventory (Both FRU and non-FRU):
>
> * CPU
> * DIMM
> * M.2
> * U.2
> * Motherboard FRU EEPROM
> * Chassis FRU EEPROM
> * Add-on PCI cards
> * FANs
> * PSU
> * Etc.
You can look at
https://github.com/openbmc/phosphor-dbus-interfaces/tree/master/xyz/openbmc_project/Inventory/Item
and define types that you don't find here.
Regards,
Deepak
More information about the openbmc
mailing list