All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Thomaiyar, Richard Marian" <richard.marian.thomaiyar@linux.intel.com>
To: Deepak Kodihalli <dkodihal@linux.vnet.ibm.com>,
	Brad Bishop <bradleyb@fuzziesquirrel.com>,
	James Feist <james.feist@linux.intel.com>,
	"Bhat, Sumanth" <sumanth.bhat@intel.com>,
	Patrick Williams <patrick@stwcx.xyz>
Cc: "openbmc@lists.ozlabs.org" <openbmc@lists.ozlabs.org>
Subject: Re: D-Bus interface to provide data to entity manager
Date: Wed, 27 May 2020 22:49:38 +0530	[thread overview]
Message-ID: <5633c1da-1ca7-7913-6bcc-321b7663528b@linux.intel.com> (raw)
In-Reply-To: <531a5ace-1537-dcc1-33c7-427470dada8b@linux.vnet.ibm.com>


On 5/27/2020 9:16 PM, Deepak Kodihalli wrote:
> On 27/05/20 8:55 pm, Thomaiyar, Richard Marian wrote:
>>
>> On 5/27/2020 7:28 PM, Deepak Kodihalli wrote:
>>> On 27/05/20 7:20 pm, Thomaiyar, Richard Marian wrote:
>>>> I always view D-Bus interface as a specification / API which can 
>>>> work with different producers / consumers (correct me, if that's 
>>>> not what we intend with D-Bus interface here). Problem with Option 
>>>> 1 is, it will end up in having multiple producers exposing 
>>>> different interface, and thereby consumers(user interface facing 
>>>> applications) of D-Bus must be aware about all the D-Bus interfaces 
>>>> and always requires change.
>>>>
>>>> Consider, we want to expose ChassisType, then irrespective of PLDM 
>>>> FRU / IPMI FRU / Proprietary FRU, Consumer applications must read 
>>>> it in the same manner. Having different interface / property types, 
>>>> requires update in both the end. PLDM FRU / IPMI FRU can be in 
>>>> common form (except few nit's /OEM's). We need to make sure it is 
>>>> represented in that angle. As of today phosphor-dbus-interfaces 
>>>> doesn't have FRU interface, but it has inventory related interfaces 
>>>> (exposed by Entity-Manager), which is what Redfish uses (i.e. 
>>>> Indirectly the FruDevice exposed interface is hidden by 
>>>> Entity-manager, and inventory interface exposed by entity-manager 
>>>> is used).
>>>>
>>>> As of today, entity-manager doesn't add Inventory interface 
>>>> automatically for Add-on cards (which doesn't have any json 
>>>> configuration), but needs exposure (say PLDM based Add on card 
>>>> devices will be of this type), but shouldn't be hard to add it anyway.
>>>>
>>>> Now the question is do we want to expose FRU as a separate 
>>>> interafce to be used in User facing application, or shall we just 
>>>> use Inventory based interface itself ?If inventory itself can be 
>>>> used, then let's go ahead and add more fields to those if missing 
>>>> anything / correct the same accordingly.
>>>>
>>>> James, Deepak, Patrick - your thoughts ?
>>>
>>> I guess there is a difference between FRU and inventory. If 
>>> inventory interfaces could be used directly, why wouldn't the 
>>> FruDevice or PLDM apps directly host inventory objects, why even use 
>>> EM?
>>>
>> [Richard]: Inventory.Decorator is used in Redfish. i.e. Today 
>> Frudevice & it's interface exposed is consumed by Entity-Manager 
>> alone & Entity manager exposes all the needed configuration along 
>> with Inventory.Decorator.Asset interface. (As you stated, inventory 
>> does more than what FRU has to expose, but i am trying to see can we 
>> use Inventory.Decorator itself to expose these needed FRU 
>> information?). James F ? (Maintainer of both EM & bmcweb)
>>
>> Current Behavior:
>>
>> Say - Baseboard fru information is exposed by FruDevice, and Entity 
>> Manager exposes the sensor or any configuration required for platform 
>> A or Platform B (based on fru device data). Entity-manager also 
>> expose Inventory interface which hides the manufacturer name exposed 
>> by FRU, but exposes the it as Manufacturer in the Inventory interface 
>> and Redfish uses this).
>>
>> In case of exposing the PLDM FRU
>>
>> Option 1:
>>
>> If we need to rely on PLDM FRU, then Entity-Manager will probe the 
>> FruDevice data exposed by PLDM FRU daemon, and expose the inventory 
>> (both for sensor configuration and decorator Asset), we don't change 
>> any upper layer application. We can follow the same design for the 
>> PLDM FRU daemon.
>
> Yes, the question remains as to what kind of D-Bus interface does the 
> PLDM daemon use. Make it's own, similar to 
> xyz.openbmc_project.FruDevice (which the FruDevice daemon makes), or 
> use a PLDM specific one (for which I have a patch on Gerrit), or use a 
> common interface that can be used by both FruDevice and PLDM.

[Richard]: If we are choosing this option, then we can use the existing 
Frudevice interface and use the PRODUCT_XYZ which is currently exposed. 
Almost all the PLDM Fru content will match the IPMI FRU, except few like 
SKU, version, description, Engineering_change_level & Vendor IANA (which 
we can expose as new properties in the same interface) ??

i.e. PLDM PartNumber is nothing but PRODUCT_PART_NUMBER in IPMI Fru etc.

>
>> Note: Currently, it doesn't have a mechanism to expose all the FRU 
>> devices as Inventory.Decorator interface automatically when there is 
>> no json configuration for it in EM. This needs to be fixed (say for 
>> PLDM based Add-on card).
>>
>> Option 2:
>>
>> Define new FRU interface (common for both PLDM, IPMI etc.), similar 
>> to inventory and this itself will be used by both Entity-manager & 
>> user level interface application (say Redfish).
>
> I didn't intend this to be something that describes inventory, but 
> rather a common (to PLDM, FruDevice, other apps) alternative to 
> xyz.openbmc_project.FruDevice, which is what the FruDevice daemon 
> hosts on D-Bus today. EM can continue to make objects that implement 
> xyz.openbmc_project.Inventory.Foo interfaces, since they represent 
> inventory information.
>
[Richard]: Yes, there will be 2 daemons for FRU Devices, 1. 
xyz.openbmc_project.FruDevice and 2. xyz.openbmc_project.PLDM.FruDevice, 
both exposing xyz.openbmc_project.FruDevice which will be consumed by 
Entity-manager and accordingly expose the Inventory.Decorator.Asset for 
use in Redfish.

Regards,

Richard

>
>> (Problem with option 2 is it requires changes in Currenr behavior, 
>> and redfish etc, may need to update it's code to use the common FRU 
>> interface rather than inventory.Decorator).
>>
>> Regards,
>>
>> Richard
>>
>>> I believe these apps (FruDevice, PLDM daemon) operate at a per FRU 
>>> level, and rely on something like EM to make one or more inventory 
>>> objects based on the FRU data. So that was my option 2, a generic 
>>> FRU properties interface. I'm just not sure at the moment the 
>>> impact/interest of doing something like that and then aligning 
>>> FruDevice and EM to the same.
>>>
>>> Thanks,
>>> Deepak
>>>
>>>>
>>>> regards,
>>>>
>>>> Richard
>

  reply	other threads:[~2020-05-27 17:23 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-19  3:40 Processing PLDM FRU information with entity manager Deepak Kodihalli
2020-05-20 16:28 ` Brad Bishop
2020-05-20 16:56   ` James Feist
2020-05-20 17:35     ` Brad Bishop
2020-05-20 17:46       ` James Feist
2020-05-26 12:56 ` D-Bus interface to provide data to entity manager (was: Processing PLDM FRU information with entity manager) Deepak Kodihalli
2020-05-27 13:50   ` D-Bus interface to provide data to entity manager Thomaiyar, Richard Marian
2020-05-27 13:58     ` Deepak Kodihalli
2020-05-27 15:25       ` Thomaiyar, Richard Marian
2020-05-27 15:46         ` Deepak Kodihalli
2020-05-27 17:19           ` Thomaiyar, Richard Marian [this message]
2020-05-28 12:09             ` Patrick Williams
2020-05-28 12:03   ` D-Bus interface to provide data to entity manager (was: Processing PLDM FRU information with entity manager) Patrick Williams
2020-05-28 12:24     ` D-Bus interface to provide data to entity manager Deepak Kodihalli
2020-05-28 16:42       ` Thomaiyar, Richard Marian
2020-05-28 18:05         ` Patrick Williams
2020-05-28 18:31           ` James Feist
2020-05-29  5:11             ` Deepak Kodihalli
2020-05-29  5:09           ` Deepak Kodihalli
2020-05-29  7:17             ` Thomaiyar, Richard Marian
2020-05-29  7:31               ` Deepak Kodihalli
2020-05-29  9:03                 ` Thomaiyar, Richard Marian
2020-05-29 10:19                   ` Deepak Kodihalli
2020-05-29 10:30                     ` Deepak Kodihalli
2020-05-29 10:33                       ` Thomaiyar, Richard Marian
2020-05-28 15:43     ` D-Bus interface to provide data to entity manager (was: Processing PLDM FRU information with entity manager) Brad Bishop
2020-05-28 18:21       ` D-Bus interface to provide data to entity manager James Feist

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5633c1da-1ca7-7913-6bcc-321b7663528b@linux.intel.com \
    --to=richard.marian.thomaiyar@linux.intel.com \
    --cc=bradleyb@fuzziesquirrel.com \
    --cc=dkodihal@linux.vnet.ibm.com \
    --cc=james.feist@linux.intel.com \
    --cc=openbmc@lists.ozlabs.org \
    --cc=patrick@stwcx.xyz \
    --cc=sumanth.bhat@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.