All of lore.kernel.org
 help / color / mirror / Atom feed
* OpenBMC : FRU  Inventory management
@ 2020-07-30  3:07 Vasant Patil
  2020-07-30  4:22 ` Deepak Kodihalli
  2020-07-30  4:49 ` Ed Tanous
  0 siblings, 2 replies; 10+ messages in thread
From: Vasant Patil @ 2020-07-30  3:07 UTC (permalink / raw)
  To: openbmc

[-- Attachment #1: Type: text/plain, Size: 851 bytes --]

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

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.

Thanks in advance for your support.

Regards,
Vasant Patil


[-- Attachment #2: Type: text/html, Size: 7839 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: OpenBMC : FRU Inventory management
  2020-07-30  3:07 OpenBMC : FRU Inventory management Vasant Patil
@ 2020-07-30  4:22 ` Deepak Kodihalli
  2020-07-30 13:55   ` Vasant Patil
  2020-07-30  4:49 ` Ed Tanous
  1 sibling, 1 reply; 10+ messages in thread
From: Deepak Kodihalli @ 2020-07-30  4:22 UTC (permalink / raw)
  To: Vasant Patil; +Cc: openbmc

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: OpenBMC : FRU Inventory management
  2020-07-30  3:07 OpenBMC : FRU Inventory management Vasant Patil
  2020-07-30  4:22 ` Deepak Kodihalli
@ 2020-07-30  4:49 ` Ed Tanous
  2020-07-30 14:11   ` Vasant Patil
  1 sibling, 1 reply; 10+ messages in thread
From: Ed Tanous @ 2020-07-30  4:49 UTC (permalink / raw)
  To: Vasant Patil; +Cc: openbmc

On Wed, Jul 29, 2020 at 8:14 PM Vasant Patil <vasantp@nvidia.com> wrote:
>
>
> 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
>
> described in  “Adding new system to OpenBMC” with  Yaml files (meta-romulus/recipes-phosphor/ipmi)
> Entity manager  with JSON schema
>
> 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.
>
>

I'm chuckling to myself a little bit here;  When we originally
designed entity manager, "GPU that comes in a green box" was
definitely one of the first example entity config files that we wrote
up to make sure the configs were expressive enough.  In short,
welcome!  Glad to have you here.

If the above is your requirements list, presumably you need runtime
configurability for the things plugged into the slots and ports.
Given that constraint, entity manager (+ dbus-sensors and
phosphor-pid-control) is probably the way to go, and is the way most
newer platforms seem to be trending.  Based on your requirements, I'm
going to guess you're building a platform that looks a lot like a Wolf
Pass.  I'd probably start with those config files, as it has all of
the features you list above, as well as backplanes, which you didn't
explicitly list, and should give you a good starting point to begin
your development.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: OpenBMC : FRU Inventory management
  2020-07-30  4:22 ` Deepak Kodihalli
@ 2020-07-30 13:55   ` Vasant Patil
  2020-07-31  9:00     ` Andrei Kartashev
  0 siblings, 1 reply; 10+ messages in thread
From: Vasant Patil @ 2020-07-30 13:55 UTC (permalink / raw)
  To: Deepak Kodihalli; +Cc: openbmc

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

Regards,
Vasant 

-----Original Message-----
From: Deepak Kodihalli <dkodihal@linux.vnet.ibm.com> 
Sent: Thursday, July 30, 2020 12:22 AM
To: Vasant Patil <vasantp@nvidia.com>
Cc: openbmc@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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: OpenBMC : FRU Inventory management
  2020-07-30  4:49 ` Ed Tanous
@ 2020-07-30 14:11   ` Vasant Patil
  0 siblings, 0 replies; 10+ messages in thread
From: Vasant Patil @ 2020-07-30 14:11 UTC (permalink / raw)
  To: Ed Tanous; +Cc: openbmc

Thanks Ed! Reply inline.

-----Original Message-----
From: Ed Tanous <ed@tanous.net> 
Sent: Thursday, July 30, 2020 12:50 AM
To: Vasant Patil <vasantp@nvidia.com>
Cc: openbmc@lists.ozlabs.org
Subject: Re: OpenBMC : FRU Inventory management

External email: Use caution opening links or attachments


On Wed, Jul 29, 2020 at 8:14 PM Vasant Patil <vasantp@nvidia.com> wrote:
>
>
> 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
>
> described in  “Adding new system to OpenBMC” with  Yaml files 
> (meta-romulus/recipes-phosphor/ipmi)
> Entity manager  with JSON schema
>
> 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.
>
>

I'm chuckling to myself a little bit here;  When we originally designed entity manager, "GPU that comes in a green box" was definitely one of the first example entity config files that we wrote up to make sure the configs were expressive enough.  In short, welcome!  Glad to have you here.

Thanks. Yes, Individual GPU and GPU Baseboard (e.g. HGX A100 )  are FRU as well. Sorry I should have listed them.

If the above is your requirements list, presumably you need runtime configurability for the things plugged into the slots and ports.
Given that constraint, entity manager (+ dbus-sensors and
phosphor-pid-control) is probably the way to go, and is the way most newer platforms seem to be trending.  Based on your requirements, I'm going to guess you're building a platform that looks a lot like a Wolf Pass.  I'd probably start with those config files, as it has all of the features you list above, as well as backplanes, which you didn't explicitly list, and should give you a good starting point to begin your development.

Yes. Thanks for wolf pass pointer (https://github.com/Intel-BMC/openbmc/tree/intel/meta-openbmc-mods/meta-ast2500/recipes-phosphor/configuration/entity-manager). After looking at the same, it is close to the same plus GPU. we do have the backplane FRU EEPROM ( we called it as Midplane 😊). 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: OpenBMC : FRU Inventory management
  2020-07-30 13:55   ` Vasant Patil
@ 2020-07-31  9:00     ` Andrei Kartashev
  2020-08-03  7:31       ` Deepak Kodihalli
  2020-08-03  7:49       ` Ed Tanous
  0 siblings, 2 replies; 10+ messages in thread
From: Andrei Kartashev @ 2020-07-31  9:00 UTC (permalink / raw)
  To: openbmc

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?
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@linux.vnet.ibm.com> 
> Sent: Thursday, July 30, 2020 12:22 AM
> To: Vasant Patil <vasantp@nvidia.com>
> Cc: openbmc@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
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: OpenBMC : FRU Inventory management
  2020-07-31  9:00     ` Andrei Kartashev
@ 2020-08-03  7:31       ` Deepak Kodihalli
  2020-08-06  5:29         ` Andrei Kartashev
  2020-08-03  7:49       ` Ed Tanous
  1 sibling, 1 reply; 10+ messages in thread
From: Deepak Kodihalli @ 2020-08-03  7:31 UTC (permalink / raw)
  To: Andrei Kartashev, openbmc

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@linux.vnet.ibm.com>
>> Sent: Thursday, July 30, 2020 12:22 AM
>> To: Vasant Patil <vasantp@nvidia.com>
>> Cc: openbmc@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
>>
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: OpenBMC : FRU Inventory management
  2020-07-31  9:00     ` Andrei Kartashev
  2020-08-03  7:31       ` Deepak Kodihalli
@ 2020-08-03  7:49       ` Ed Tanous
  2020-08-05  5:03         ` Andrei Kartashev
  1 sibling, 1 reply; 10+ messages in thread
From: Ed Tanous @ 2020-08-03  7:49 UTC (permalink / raw)
  To: Andrei Kartashev; +Cc: OpenBMC Maillist

On Fri, Jul 31, 2020 at 2:02 AM Andrei Kartashev <a.kartashev@yadro.com> 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?
> Trying to bring up system based on that Intel's fork, but looks like
> they have own way to do things ).

https://github.com/openbmc/smbios-mdr is probably what you're looking
at?  If you're trying to implement a custom inventory scheme, that's
probably very similar to what you want to do for your custom type.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: OpenBMC : FRU Inventory management
  2020-08-03  7:49       ` Ed Tanous
@ 2020-08-05  5:03         ` Andrei Kartashev
  0 siblings, 0 replies; 10+ messages in thread
From: Andrei Kartashev @ 2020-08-05  5:03 UTC (permalink / raw)
  To: OpenBMC Maillist

Thank you for answer,

So is this means there is no any fully functional platform based on
Entity Manager yet?

SMBIOS solution looks like good example. As far as I understood, it
depends on some external component which will read SMBIOS memory and
place it to BMC (e.g. using ipmi oem commands).

On Mon, 2020-08-03 at 00:49 -0700, Ed Tanous wrote:
> On Fri, Jul 31, 2020 at 2:02 AM Andrei Kartashev <
> a.kartashev@yadro.com> 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?
> > Trying to bring up system based on that Intel's fork, but looks
> > like
> > they have own way to do things ).
> 
> https://github.com/openbmc/smbios-mdr is probably what you're looking
> at?  If you're trying to implement a custom inventory scheme, that's
> probably very similar to what you want to do for your custom type.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: OpenBMC : FRU Inventory management
  2020-08-03  7:31       ` Deepak Kodihalli
@ 2020-08-06  5:29         ` Andrei Kartashev
  0 siblings, 0 replies; 10+ messages in thread
From: Andrei Kartashev @ 2020-08-06  5:29 UTC (permalink / raw)
  To: Deepak Kodihalli, openbmc

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@linux.vnet.ibm.com>
> > > Sent: Thursday, July 30, 2020 12:22 AM
> > > To: Vasant Patil <vasantp@nvidia.com>
> > > Cc: openbmc@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
> > > 

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2020-08-06  5:29 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-30  3:07 OpenBMC : FRU Inventory management Vasant Patil
2020-07-30  4:22 ` Deepak Kodihalli
2020-07-30 13:55   ` Vasant Patil
2020-07-31  9:00     ` Andrei Kartashev
2020-08-03  7:31       ` Deepak Kodihalli
2020-08-06  5:29         ` Andrei Kartashev
2020-08-03  7:49       ` Ed Tanous
2020-08-05  5:03         ` Andrei Kartashev
2020-07-30  4:49 ` Ed Tanous
2020-07-30 14:11   ` Vasant Patil

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.