StorageCmd: Get fru data from different services

Get fru details from fru interface defined under different services.
Removed hardcoded dependency with service and made it more generic
with respect to fru interface.

Tasks Completed:
1. Get the list of objectPaths and the services
   implementing FruDevice Interface.
2. Get the details of all the object paths under
   each service (ObjectPath->Interface->Properties)
3. Save only the objectpaths which have FruDevice interface.
4. Save the device id and corresponding objectPath.
5. In getFru,
    Get Object path using device Id
    Get service name using DBus query GetObject using object path
        and "xyz.openbmc_project.FruDevice" interface.
    Call GetRawFru using service name

Tested:
Used ipmitool fru command and observed that the Fru data is displayed
for all FRU's defined under different services.

Signed-off-by: Archana Kakani <archanax.kakani@linux.intel.com>
Change-Id: I389d4949e43ae95605b225e07aeb8e0e703c3454
1 file changed
tree: 76ecc496e5db0f9319a676fd177f9e97b485308c
  1. cmake/
  2. docs/
  3. include/
  4. non-yocto/
  5. src/
  6. tests/
  7. .clang-format
  8. .gitignore
  9. cmake-format.json
  10. CMakeLists.txt
  11. CMakeLists.txt.in
  12. generate-whitelist.py
  13. ipmi-whitelist.conf
  14. LICENSE
  15. MAINTAINERS
  16. OWNERS
  17. README.md
README.md

Intel IPMI OEM support library

This component is intended to provide Intel-specific IPMI[3] command handlers for OpenBMC. These handlers are intended to integrate BMC with servers based on Intel architecture.

Overview

intel-ipmi-oem serves as an extension[1] to OpenBMC IPMI daemon[2]. It is compiled as a shared library and intended to both:

  • override existing implementation of standard IPMI commands to comply with Intel-specific solutions,
  • provide implementation for non-standard OEM extensions.

Capabilities

Related features provided by the library are grouped in separate source files. Main extensions to vanilla OpenBMC IPMI stack are the following:

  • Acquiring SMBIOS data over IPMI
  • Commands for better integration with Intel hardware
  • Firmware update extensions
  • Extended parsing of IPMI Platform Events[4]

References

  1. OpenBMC IPMI Architecture
  2. Phosphor IPMI Host
  3. IPMI Specification v2.0
  4. Intel Platform Events parsing