Skip to content

Create association between dbus object probed by entity manager and the ones it generated #35

@wltu

Description

@wltu

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions