-
Notifications
You must be signed in to change notification settings - Fork 59
Description
We want a clear association between the dbus object that the EntityManager probed from so that we have a simple way to lookup the entity manager dbus object from the probed object.
There are instances where the EntityManager dbus object has more information that is configured in the json file and we want to fetch that information when we only know the probed dbus object.
This is an attempt to resolve https://github.com/openbmc/phosphor-host-ipmid/blob/8c974f76411cb40f2c9c25cddd86814087d0eddf/dbus-sdr/storagecommands.cpp#L597
Current Algorithm
For each Fru Sdr, we will call GetManagedObject from EntityManager service, we know the Fru bus and address, it will compare to all objects and then get the EntityInstance + EntityId from the same object to populate to the ipmi response.
The information needed is something configured in EntityMangaer like
"xyz.openbmc_project.Inventory.Decorator.Ipmi": {
"EntityId": "0x0B",
"EntityInstance": "$BUS"
},
this information shouldn't be in the FruDevice service directly so it is generated by EntityManager instead.
Proposal
For each dbus object created by EntityManager, we will create a probed_from/generated
association between the services. This will allow us to lookup the EntityManager dbus object from the dbus FruDevice.
This will change the ipmid fru sdr fetch to
- ipmid detects the fru from FruDevice
- Checks the
generated
association to find the EntityManager object - Get the information needed.