* 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.