entity manager configurations and dbus interfaces

James Feist james.feist at linux.intel.com
Fri Sep 25 02:38:42 AEST 2020


On 9/24/2020 8:50 AM, Ed Tanous wrote:
> On Thu, Sep 24, 2020 at 7:30 AM Brad Bishop <bradleyb at fuzziesquirrel.com> wrote:
>>
>> Hi Ed
>>
>> Will quote a comment from this EM review:
>>
>> https://gerrit.openbmc-project.xyz/36702
>>
>>> entity-manager was designed with the tenant that it config files have
>>> no knowledge of dbus.
>>
>> FWIW I had no idea this was the case.
>>
>>> We've broken that a little with the inventory interfaces on the entity
>>> as a short term patch to gain some compatibility, but its easy enough
>>> to roll back in the future.
>>
>> Interesting - so there is a vision here, but I have no idea what it is.
>> Can you elaborate on how you envision inventory working if EM is not
>> implementing the inventory dbus interfaces?
> 
> In the simplest terms, one goal of entity-manager is for an engineer
> unfamiliar with OpenBMC to be able to add support for a new component,
> be it a baseboard, drive, or add in card, in less than a day.  Dbus
> APIs take more than a day to learn, so we need to find a way to
> provide a syntax that is self describing (and ideally well documented,
> but that's another issue that I'm hoping to tackle soon) as well as
> relatively isolated from the complexities of the OpenBMC core.
> 
> Another advantage of this is portability, if any wide sweeping
> architecture changes happen (ex, we rewrite the core in rust or we
> build a DBusless OpenBMC) we have a minimum definition of the things
> that are unique about the pieces of hardware we support, and don't
> have to re-engineer every piece of hardware that's in the list.
> 

While I agree with this, to fit in the current architecture, I'm not 
sure its entirely possible. We already expose some d-bus interfaces from 
the configuration files: 
https://github.com/openbmc/entity-manager/blob/0a2ab3c911d35c4c8421c47a7ce83d9341237785/configurations/WFT%20Baseboard.json#L1601. 
This particular change does add a new prescience to be able to add them 
anywhere, which I don't think should be taken lightly. However I'm not 
sure if there's any better way to support lower level assets interfaces 
such as a Fan FRU, unless you think it'd be better to add that to the 
FanSensor? I'm not sure I like that idea any better.

> 
>>
>> thx - brad


More information about the openbmc mailing list