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