dreport: Add support for multi-chassis BMCs

Add support for BMCs which are capable of managing power to multiple
chassis. This is done by maintaining the same code path supported for
single chassis systems and adding a run-time check to detect multiple
chassis.

Tested: built into a Yosemite4 BMC (8-host system) and ran dreport
to and ensured that the tarball contained `chassis0-state.log` to
`chassis8-state.log`.

Change-Id: Id5c2a85a7eae6ecd10dc9f2734c4b0c172f7c831
Signed-off-by: Amithash Prasad <amithash@meta.com>
1 file changed
tree: 3570f1f280964daab8b1296053e16d5973b2e1c7
  1. dump-extensions/
  2. host-transport-extensions/
  3. service_files/
  4. subprojects/
  5. test/
  6. tools/
  7. .clang-format
  8. .clang-tidy
  9. .gitignore
  10. .shellcheck-ignore
  11. bmc_dump_entry.cpp
  12. bmc_dump_entry.hpp
  13. core_manager.cpp
  14. core_manager.hpp
  15. core_manager_main.cpp
  16. dump-extensions.hpp
  17. dump_entry.cpp
  18. dump_entry.hpp
  19. dump_manager.cpp
  20. dump_manager.hpp
  21. dump_manager_bmc.cpp
  22. dump_manager_bmc.hpp
  23. dump_manager_faultlog.cpp
  24. dump_manager_faultlog.hpp
  25. dump_manager_main.cpp
  26. dump_offload.cpp
  27. dump_offload.hpp
  28. dump_serialize.cpp
  29. dump_serialize.hpp
  30. dump_types.cpp.mako
  31. dump_types.hpp.mako
  32. dump_utils.cpp
  33. dump_utils.hpp
  34. elog_watch.cpp
  35. elog_watch.hpp
  36. example_dump_types.yaml
  37. example_errors_watch.yaml
  38. faultlog_dump_entry.cpp
  39. faultlog_dump_entry.hpp
  40. ffdc
  41. host_transport_exts.hpp
  42. LICENSE
  43. map_gen.py
  44. meson.build
  45. meson.options
  46. OWNERS
  47. ramoops_manager.cpp
  48. ramoops_manager.hpp
  49. ramoops_manager_main.cpp
  50. README.md
  51. watch.cpp
  52. watch.hpp
README.md

phosphor-debug-collector

Phosphor Debug Collector provides mechanisms to collect various log files and system parameters. Used to troubleshoot problems in OpenBMC based systems.

One such mechanism is dreport, a script that collects debug data and packages it into an archive file.

To Build

To build this package with meson, do the following steps:

    1. meson builddir
    2. ninja -C builddir

To clean the built files run ninja -C builddir clean.

To run unit tests

Tests can be run in the CI docker container, refer local-ci-build

or with an OpenBMC x86 sdk(see below for x86 steps).

meson -Dtests=enabled build
ninja -C build test