<div dir="ltr">One of the requirements we have for our data center management software is that we need to be able to map resources (e.g. actions, telemetry, and assemblies) directly to the physical component that it originated from as well as how those components are physically connected.<div><br></div><div>Historically this mapping was done through a custom protocol on the host, and we would like to move this to a Redfish service on the BMC. Another engineer spoke with DMTF, and the most Redfishy way to represent this would be by adding links in the assemblies. Some examples of possible relationships are:</div><div><br></div><div><i>/Systems/1/Memory/1/Assembly ------> /Chassis/Mobo/Sensors/MemSensor</i></div><div><i>/Chassis/Mobo/PCIeDevices/Storage/Assembly ----------> /Systems/1/Storage/BootVolume</i></div><div><i>/Chassis/Mobo/PCIeDevices/ExpansionTray/Assembly ---------> /Chassis/ExpansionTray/Assemby</i></div><div><i><br></i></div><div>That last example is actually represented in the current Redfish spec, but it helps explain the idea I'm getting at.  The hope is that by starting at the service entry point we can get a physical model of the component tree by traversing hyperlinks. From that a client could relate any Redfish resource to its physical component.</div><div><br></div><div>Let's just say for the moment that we get a service that collects this information, I've been trying to figure out a way to sustainably add it into bmcweb.  Presumably this would be a large amount of OEM material that OpenBMC wouldn't want to support upstream.</div><div><br></div><div>I don't think making patches in bitbake or subclassing the individual nodes will be sustainable in the long run.  At a minimum a way to chain co-routines would allow for other code to "attach" to the response handlers.</div><div><br></div><div>So I guess there are a couple of questions here.  Does the community have any plans/desire to support an extension mechanism in bmcweb? If so, should we be thinking of in-process code extensions or inter-process dynamic extensions?  </div><div><br></div><div>For the record, this requirement does not have an imminent deadline, so I am happy to design around the best long term solution as opposed to a short term hack.  I just wanted to get a plan here before things become imminent.</div><div><br></div><div>Thanks,</div><div>Richard</div></div>