All of lore.kernel.org
 help / color / mirror / Atom feed
* Move Inventory.Item.Board from Redfish Chassis to Redfish Assembly
@ 2021-04-28 16:17 Gunnar Mills
  2021-04-28 16:46 ` Ed Tanous
  0 siblings, 1 reply; 5+ messages in thread
From: Gunnar Mills @ 2021-04-28 16:17 UTC (permalink / raw)
  To: openbmc; +Cc: jason.m.bills, Ed Tanous, Derick

 From some discussion on Discord a few weeks ago. A newer way of 
thinking in Redfish is for a simple rack server to just have one Redfish 
Chassis and things like boards modeled as Redfish Assemblies under the 
Chassis.[1][2] Today we look for inventory item chassis and inventory 
item board[3] to populate the Chassis collection.[4] I propose we move 
the "Inventory.Item.Board" from Redfish Chassis to Redfish Assembly. 
Does this break anyone? Does anyone have an inventory item board that 
can't be a Redfish Assembly?

Another option would be to only move certain inventory item boards to 
Redfish Assembly, determined by a BoardType or additional more detailed 
Inventory Item interfaces around boards. Unless this is needed though 
would prefer the former for simplicity.

https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/39574 is adding 
the Assembly schema. This would be a later commit moving 
"Inventory.Item.Board".

[1]https://redfish.dmtf.org/redfish/mockups/v1/1018
[2]https://redfishforum.com/thread/325/fru-properties-redfish

[3]https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/xyz/openbmc_project/Inventory/Item/Board.interface.yaml

[4]https://github.com/openbmc/bmcweb/blob/8d1b46d7f8d39db2ba048f9e9007106ca3a28c9b/redfish-core/lib/chassis.hpp#L189

https://redfish.dmtf.org/schemas/v1/Chassis.v1_15_0.json
https://redfish.dmtf.org/schemas/v1/Assembly.v1_3_0.json

Thanks,
Gunnar

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

* Re: Move Inventory.Item.Board from Redfish Chassis to Redfish Assembly
  2021-04-28 16:17 Move Inventory.Item.Board from Redfish Chassis to Redfish Assembly Gunnar Mills
@ 2021-04-28 16:46 ` Ed Tanous
  2021-04-28 19:38   ` Gunnar Mills
  0 siblings, 1 reply; 5+ messages in thread
From: Ed Tanous @ 2021-04-28 16:46 UTC (permalink / raw)
  To: Gunnar Mills; +Cc: openbmc, Ed Tanous, Derick, Bills, Jason M

On Wed, Apr 28, 2021 at 9:18 AM Gunnar Mills <gmills@linux.vnet.ibm.com> wrote:
>
>  From some discussion on Discord a few weeks ago. A newer way of
> thinking in Redfish is for a simple rack server to just have one Redfish
> Chassis and things like boards modeled as Redfish Assemblies under the
> Chassis.[1][2] Today we look for inventory item chassis and inventory
> item board[3] to populate the Chassis collection.[4] I propose we move
> the "Inventory.Item.Board" from Redfish Chassis to Redfish Assembly.
> Does this break anyone?

This will definitely break people, given that sensors can be attached
to boards today, and (unless I'm mistaken) Assemblies don't have their
own sensors.  Is there a solution to the sensor issue baked into this
proposal?

> Does anyone have an inventory item board that
> can't be a Redfish Assembly?
>
> Another option would be to only move certain inventory item boards to
> Redfish Assembly, determined by a BoardType or additional more detailed
> Inventory Item interfaces around boards. Unless this is needed though
> would prefer the former for simplicity.

I wouldn't be for this option for the same reasons you do.

>
> https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/39574 is adding
> the Assembly schema. This would be a later commit moving
> "Inventory.Item.Board".
>
> [1]https://redfish.dmtf.org/redfish/mockups/v1/1018
> [2]https://redfishforum.com/thread/325/fru-properties-redfish
>
> [3]https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/xyz/openbmc_project/Inventory/Item/Board.interface.yaml
>
> [4]https://github.com/openbmc/bmcweb/blob/8d1b46d7f8d39db2ba048f9e9007106ca3a28c9b/redfish-core/lib/chassis.hpp#L189
>
> https://redfish.dmtf.org/schemas/v1/Chassis.v1_15_0.json
> https://redfish.dmtf.org/schemas/v1/Assembly.v1_3_0.json
>
> Thanks,
> Gunnar

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

* Re: Move Inventory.Item.Board from Redfish Chassis to Redfish Assembly
  2021-04-28 16:46 ` Ed Tanous
@ 2021-04-28 19:38   ` Gunnar Mills
  2021-04-28 19:44     ` Ed Tanous
  0 siblings, 1 reply; 5+ messages in thread
From: Gunnar Mills @ 2021-04-28 19:38 UTC (permalink / raw)
  To: Ed Tanous; +Cc: openbmc, Ed Tanous, Derick, Bills, Jason M

On 4/28/2021 10:46 AM, Ed Tanous wrote:
> On Wed, Apr 28, 2021 at 9:18 AM Gunnar Mills <gmills@linux.vnet.ibm.com> wrote:
>>
>>   From some discussion on Discord a few weeks ago. A newer way of
>> thinking in Redfish is for a simple rack server to just have one Redfish
>> Chassis and things like boards modeled as Redfish Assemblies under the
>> Chassis.[1][2] Today we look for inventory item chassis and inventory
>> item board[3] to populate the Chassis collection.[4] I propose we move
>> the "Inventory.Item.Board" from Redfish Chassis to Redfish Assembly.
>> Does this break anyone?
> 
> This will definitely break people, given that sensors can be attached
> to boards today, and (unless I'm mistaken) Assemblies don't have their
> own sensors.  Is there a solution to the sensor issue baked into this
> proposal?

Looking at the documentation on the sensor associations[1],
the bmcweb code, and association code[2] (e.g. [3]) sensors all look to 
be associated with an inventory item chassis today for Redfish Chassis 
<-> sensors. If there are sensors associated to boards with the 
"chassis" association ("all_sensors" is the reverse association), they 
would need to be moved to an inventory item chassis. I don't see any 
though unless I missed something.

[1]https://github.com/openbmc/docs/blob/919a7b6816a5f16aa72d298e81e0756d95d5031e/architecture/sensor-architecture.md#association-type-1-linking-a-chassis-to-all-sensors-within-the-chassis

[2]https://github.com/search?q=org%3Aopenbmc+all_sensors&type=code

[3]https://github.com/openbmc/openbmc/blob/c3d88e4d9fcc08e1aae7cc9d0337c0261e996c64/meta-quanta/meta-gbs/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json#L389

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

* Re: Move Inventory.Item.Board from Redfish Chassis to Redfish Assembly
  2021-04-28 19:38   ` Gunnar Mills
@ 2021-04-28 19:44     ` Ed Tanous
  2021-04-28 22:56       ` Gunnar Mills
  0 siblings, 1 reply; 5+ messages in thread
From: Ed Tanous @ 2021-04-28 19:44 UTC (permalink / raw)
  To: Gunnar Mills; +Cc: openbmc, Ed Tanous, Derick, Bills, Jason M

On Wed, Apr 28, 2021 at 12:38 PM Gunnar Mills <gmills@linux.vnet.ibm.com> wrote:
>
> On 4/28/2021 10:46 AM, Ed Tanous wrote:
> > On Wed, Apr 28, 2021 at 9:18 AM Gunnar Mills <gmills@linux.vnet.ibm.com> wrote:
> >>
> >>   From some discussion on Discord a few weeks ago. A newer way of
> >> thinking in Redfish is for a simple rack server to just have one Redfish
> >> Chassis and things like boards modeled as Redfish Assemblies under the
> >> Chassis.[1][2] Today we look for inventory item chassis and inventory
> >> item board[3] to populate the Chassis collection.[4] I propose we move
> >> the "Inventory.Item.Board" from Redfish Chassis to Redfish Assembly.
> >> Does this break anyone?
> >
> > This will definitely break people, given that sensors can be attached
> > to boards today, and (unless I'm mistaken) Assemblies don't have their
> > own sensors.  Is there a solution to the sensor issue baked into this
> > proposal?
>
> Looking at the documentation on the sensor associations[1],
> the bmcweb code, and association code[2] (e.g. [3]) sensors all look to
> be associated with an inventory item chassis today for Redfish Chassis
> <-> sensors. If there are sensors associated to boards with the
> "chassis" association ("all_sensors" is the reverse association), they
> would need to be moved to an inventory item chassis. I don't see any
> though unless I missed something.

Here's an example of something that's type Board that creates sensors.
https://github.com/openbmc/entity-manager/blob/master/configurations/A2UL16RISER.json
There are several more like this.

The problem here is that they are in fact... a board.  They are not a
chassis under how we currently define the item interface, and moving
them to be a Chassis would cause them to report as ChassisType =
Rackmount in the Redfish Chassis schema, which is definitely
incorrect.

I don't mean to throw up roadblocks, and I definitely don't know what
the solution is here, but we'll need to solve it before something like
this can go through.

>
> [1]https://github.com/openbmc/docs/blob/919a7b6816a5f16aa72d298e81e0756d95d5031e/architecture/sensor-architecture.md#association-type-1-linking-a-chassis-to-all-sensors-within-the-chassis
>
> [2]https://github.com/search?q=org%3Aopenbmc+all_sensors&type=code
>
> [3]https://github.com/openbmc/openbmc/blob/c3d88e4d9fcc08e1aae7cc9d0337c0261e996c64/meta-quanta/meta-gbs/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json#L389

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

* Re: Move Inventory.Item.Board from Redfish Chassis to Redfish Assembly
  2021-04-28 19:44     ` Ed Tanous
@ 2021-04-28 22:56       ` Gunnar Mills
  0 siblings, 0 replies; 5+ messages in thread
From: Gunnar Mills @ 2021-04-28 22:56 UTC (permalink / raw)
  To: Ed Tanous; +Cc: openbmc, Ed Tanous, Derick, Bills, Jason M

On 4/28/2021 1:44 PM, Ed Tanous wrote:
>>> On Wed, Apr 28, 2021 at 9:18 AM Gunnar Mills <gmills@linux.vnet.ibm.com> wrote:
>>>>
>>>>    From some discussion on Discord a few weeks ago. A newer way of
>>>> thinking in Redfish is for a simple rack server to just have one Redfish
>>>> Chassis and things like boards modeled as Redfish Assemblies under the
>>>> Chassis. Today we look for inventory item chassis and inventory
>>>> item board to populate the Chassis collection. I propose we move
>>>> the "Inventory.Item.Board" from Redfish Chassis to Redfish Assembly.
>>>
> 
> Here's an example of something that's type Board that creates sensors.
> https://github.com/openbmc/entity-manager/blob/master/configurations/A2UL16RISER.json
> There are several more like this.

 From follow-on discussion in Discord this afternoon.
Today the sensors to board association (e.g. the riser card above with 
sensors) is "chassis"/"all_sensor. It should be  "inventory"/"sensors" 
(Association Type #2: Linking a low-level hardware item to its sensors 
[a]). Redfish has a "RelatedItem" property on the Sensor schema. To 
populate the "RelatedItem" property we will use Association Type #2. 
This is the first step to moving Inventory.Item.Board to a Redfish 
Assembly, this is to ensure no relationships are lost.

[a]https://github.com/openbmc/docs/blob/919a7b6816a5f16aa72d298e81e0756d95d5031e/architecture/sensor-architecture.md#association-type-2-linking-a-low-level-hardware-item-to-its-sensors

> 
> I don't mean to throw up roadblocks, and I definitely don't know what
> the solution is here, but we'll need to solve it before something like
> this can go through.
> 
We further discussed how staging this change might work, it probably 
involves a compile flag for some time and separately adding 
Inventory.Item.Board to Assembly and later removing from Chassis.

Gunnar

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

end of thread, other threads:[~2021-04-28 22:57 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-28 16:17 Move Inventory.Item.Board from Redfish Chassis to Redfish Assembly Gunnar Mills
2021-04-28 16:46 ` Ed Tanous
2021-04-28 19:38   ` Gunnar Mills
2021-04-28 19:44     ` Ed Tanous
2021-04-28 22:56       ` Gunnar Mills

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.