OpenBMC : FRU Inventory management

Vasant Patil vasantp at nvidia.com
Thu Jul 30 23:55:19 AEST 2020


Thanks Deepak.
Yes, This help. We will go with entity-manager option. 

Regards,
Vasant 

-----Original Message-----
From: Deepak Kodihalli <dkodihal at linux.vnet.ibm.com> 
Sent: Thursday, July 30, 2020 12:22 AM
To: Vasant Patil <vasantp at nvidia.com>
Cc: openbmc at lists.ozlabs.org
Subject: Re: OpenBMC : FRU Inventory management

External email: Use caution opening links or attachments


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