OpenBMC : FRU Inventory management

Andrei Kartashev a.kartashev at yadro.com
Thu Aug 6 15:29:13 AEST 2020


Hi,

I tried to use EM + peci-pcie but faced strange issue: EM don't want to
probe devices in xyz.openbmc_project.PCIe. I tried some other places
like xyz.openbmc_project.Network but doesn't succeed also: the only way
it works is with xyz.openbmc_project.FruDevice. But I can't find
anything about interfaces filtering in EM sources, so I assume it
should work.
Is there any ideas, what I'm doing wrong?
Did someone tried to use EM with anything else but FruDevice?

PS: config example
{
    "Exposes": [
        {
            "Name": "my test",
            "property": {"key": "value"}
        }
    ],
    "Name": "PCIE Device",
    "Probe": "xyz.openbmc_project.PCIe({'Function0FunctionType':
'Physical'})",
    "Type": "Board",
    "xyz.openbmc_project.Inventory.Decorator.Asset": {
        "Manufacturer": "$Manufacturer",
        "DeviceType": "$DeviceType",
        "Function0DeviceClass": "$Function0DeviceClass",
        "Function0DeviceId": "$Function0DeviceId"
    }
}

On Mon, 2020-08-03 at 13:01 +0530, Deepak Kodihalli wrote:
> 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