[Bmcweb/Redfish] Chassis Physical Connectivity Support on bmcweb

Willy Tu wltu at google.com
Tue Jun 8 11:22:23 AEST 2021


Hi all,

I am thinking about adding better support for Physical Connectivity between
Boards/Chassises in bmcweb. Since Inventory.Board is treated as a chassis,
I want to have a way to better connect the different boards with the
existing ContainedBy/Contains.

I was thinking of using xyz.openbmc_project.Association to do it. Since it
is a list with fixed order, we can use the first chassis it finds
for ContainedBy and the rest for Contains. For the root Chassis, it will
have itself as the first Chassis and then just not include it.

Is this something we can work with? or do we need something more
complicated to support chassis relationship?

----

Another question that is kind of related.
I am also thinking about using Physical Location for each Chassis.
It is already using `xyz.openbmc_project.Inventory.Decorator.LocationCode`
as the ServiceLabel
https://github.com/openbmc/bmcweb/blob/90e97e1d26b78d899a543831a8051dacbbdde71a/redfish-core/lib/chassis.hpp#L295-L331

With that in mind, I am wondering how LocationCode is configured with
EntityManager? Since the number of FRUs is dynamic, there is no way to tell
which location the FRU is connected to without a mapping. I am wondering
how that can be done with Entity Manager.

I was thinking of doing something like getEntityName
<https://github.com/openbmc/google-ipmi-sys/blob/3b1b427c1fa4bcddcab1fc003410e5fa5d7a8334/handler.cpp#L235>
in
IPMI OEM handler which utilizes a json file for the mapping from entity
instance to location. This is a simple way of doing it within
EntityManager, but I am not sure if we want to do it this way.

Maybe something related?
https://gerrit.openbmc-project.xyz/c/openbmc/entity-manager/+/42971

Best,

Willy Tu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20210607/9c12c711/attachment-0001.htm>


More information about the openbmc mailing list