<div dir="ltr">Related doc for the Chassis Inventory Connections:<div><a href="https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/41468">https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/41468</a><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jun 7, 2021 at 6:22 PM Willy Tu <<a href="mailto:wltu@google.com">wltu@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><span style="color:rgb(32,33,36);font-family:Roboto,sans-serif;font-size:14px;white-space:pre-wrap;background-color:rgba(241,243,244,0.75)">Hi all,<br></span></div><div><span style="color:rgb(32,33,36);font-family:Roboto,sans-serif;font-size:14px;white-space:pre-wrap;background-color:rgba(241,243,244,0.75)"><br></span></div><div><span style="color:rgb(32,33,36);font-family:Roboto,sans-serif;font-size:14px;white-space:pre-wrap;background-color:rgba(241,243,244,0.75)">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.</span></div><div><span style="color:rgb(32,33,36);font-family:Roboto,sans-serif;font-size:14px;white-space:pre-wrap;background-color:rgba(241,243,244,0.75)"><br></span></div><div><span style="color:rgb(32,33,36);font-family:Roboto,sans-serif;font-size:14px;white-space:pre-wrap;background-color:rgba(241,243,244,0.75)">I was thinking of using </span>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.</div><div><br></div><div>Is this something we can work with? or do we need something more complicated to support chassis relationship?</div><div><span style="color:rgb(32,33,36);font-family:Roboto,sans-serif;font-size:14px;white-space:pre-wrap;background-color:rgba(241,243,244,0.75)"><br></span></div><div><span style="color:rgb(32,33,36);font-family:Roboto,sans-serif;font-size:14px;white-space:pre-wrap;background-color:rgba(241,243,244,0.75)">----</span></div><div><span style="color:rgb(32,33,36);font-family:Roboto,sans-serif;font-size:14px;white-space:pre-wrap;background-color:rgba(241,243,244,0.75)"><br></span></div><div><span style="color:rgb(32,33,36);font-family:Roboto,sans-serif;font-size:14px;white-space:pre-wrap;background-color:rgba(241,243,244,0.75)">Another question that is kind of related.</span></div><span style="color:rgb(32,33,36);font-family:Roboto,sans-serif;font-size:14px;white-space:pre-wrap;background-color:rgba(241,243,244,0.75)"><div>I am also thinking about using Physical Location for each Chassis.</div>It is already using `xyz.openbmc_project.Inventory.Decorator.LocationCode` as the ServiceLabel <a href="https://github.com/openbmc/bmcweb/blob/90e97e1d26b78d899a543831a8051dacbbdde71a/redfish-core/lib/chassis.hpp#L295-L331" target="_blank">https://github.com/openbmc/bmcweb/blob/90e97e1d26b78d899a543831a8051dacbbdde71a/redfish-core/lib/chassis.hpp#L295-L331</a></span><br><div><span style="color:rgb(32,33,36);font-family:Roboto,sans-serif;font-size:14px;white-space:pre-wrap;background-color:rgba(241,243,244,0.75)"><br></span></div><div><span style="color:rgb(32,33,36);font-family:Roboto,sans-serif;font-size:14px;white-space:pre-wrap;background-color:rgba(241,243,244,0.75)">With that in mind, I am wondering how </span>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.</div><div><br></div><div>I was thinking of doing something like <a href="https://github.com/openbmc/google-ipmi-sys/blob/3b1b427c1fa4bcddcab1fc003410e5fa5d7a8334/handler.cpp#L235" target="_blank">getEntityName</a> 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.</div><div><br></div><div>Maybe something related?</div><div><span style="color:rgb(32,33,36);font-family:Roboto,sans-serif;font-size:14px;white-space:pre-wrap;background-color:rgba(241,243,244,0.75)"><a href="https://gerrit.openbmc-project.xyz/c/openbmc/entity-manager/+/42971" target="_blank">https://gerrit.openbmc-project.xyz/c/openbmc/entity-manager/+/42971</a><br></span></div><div><br></div><div>Best,</div><div><br></div><div>Willy Tu</div></div>
</blockquote></div>