openbmc / entity-manager

Run-time JSON driven system configuration manager
Other
26 stars 48 forks source link

Help for getting all the FRU's D-bus object paths dynamically . #5

Closed edineshkumar closed 4 years ago

edineshkumar commented 4 years ago

D-bus service and object paths is given below,

image

Assume few extra object paths also will be present, like +-/xyz/openbmc_project/FruDevice/F1UL16RISER3 +-/xyz/openbmc_project/FruDevice/FFPANEL +-/xyz/openbmc_project/FruDevice/S_1100ADU00_201

How I can get all the object paths dynamically ?

For that "GetObject " method is required ? "GetObject" method is not there in fru device. How to add this method? image

There is any possibility to get all the object paths under /xyz/openbmc_project/FruDevice except "GetObject" method ?

feistjj commented 4 years ago

How I can get all the object paths dynamically

Call GetSubtree or GetSubtree paths from the mapper

There is any possibility to get all the object paths

If you want all the data there is an object manager at the root that you can call get managed objects

edineshkumar commented 4 years ago

@feistjj , I can able to get all the object paths with help of GetSubtree. Thank you so much.

Device ID ("FRU Device Description : Builtin FRU Device (ID 0)") is not present in Fru's D-bus property list. Do you have any concern for that?

feistjj commented 4 years ago

That is set by the baseboard fru which can either be placed at /etc/fru/baseboard.fru.bin (if no onboard eeprom), or if it has the correct chassis type intel-ipmi-oem will set it to ID 0 https://github.com/openbmc/intel-ipmi-oem/blob/9a13daaefbf2da4bcecca625b2f4b09fc9fb77f0/src/storagecommands.cpp#L199

edineshkumar commented 4 years ago

Thanks for your information.

Closing the issue.