OpenBMC : FRU Inventory management

Deepak Kodihalli dkodihal at linux.vnet.ibm.com
Mon Aug 3 17:31:37 AEST 2020


On 31/07/20 2:30 pm, Andrei Kartashev wrote:
> Hi Deepak,
> 
> Saying about inventory management for non-BMC accessible resources like
> CPU/DIMM with EntityManager: is there good example demonstrated
> preffered way to do so?

Hi Andrei,

I don't think there is code today that does this. We intend to do this 
on IBM systems (using PLDM/MCTP). I had updated the PLDM design doc to 
do something like this using entity manager : 
https://gerrit.openbmc-project.xyz/#/c/openbmc/docs/+/32532/.

Regards,
Deepak

> Trying to bring up system based on that Intel's fork, but looks like
> they have own way to do things ).
> 
> On Thu, 2020-07-30 at 13:55 +0000, Vasant Patil wrote:
>> 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