commit | aa0937f9ab12732844ea6dbe9e8c94bc4721e762 | [log] [tgz] |
---|---|---|
author | Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> | Sat Jul 22 23:50:40 2023 -0500 |
committer | Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> | Wed Aug 23 13:55:58 2023 -0500 |
tree | 1b1ac980c76fc90ce8be1c01918686faa55a4745 | |
parent | c1f5ed6fc7ad4ad30102ff98b016344379f0a9c5 [diff] |
Generate error map as part of dump types An error type is a specific type of BMC dump that is generated when a particular error is logged in the BMC. Previously, dump types and error types were managed independently, with error types being defined in separate files, namely 'error_map.hpp' and its associated mako template 'error_map.mako.cpp'. However, this practice led to inconsistencies, as the dreport script, which is used for handling dump collection and packaging, was interpreting error type as another dump type rather than as additional parameters. The separate error_map.hpp file and its associated mako template (error_map.mako.cpp) have been removed. Instead, error types are now incorporated directly into the dump types along with an error type map for validating the error names. This integration aligns the code with the existing behaviour of the dreport script, allowing for more consistent processing of dump types As a result of this integration, the error map generation is now part of the dump_types_mako.cpp file. To support these changes, a second input YAML file has been added to the map_gen.py script to generate the dump types and error types together. Tests: Create InternalFailure > busctl call xyz.openbmc_project.Logging /xyz/openbmc_project/logging \ xyz.openbmc_project.Logging.Create Create ssa{ss} \ xyz.openbmc_project.Common.Error.InternalFailure \ xyz.openbmc_project.Logging.Entry.Level.Error 0 > dump created /var/lib/phosphor-debug-collector/dumps/1/\ BMCDUMP.XXXXXXXX.0000001.20230723084043 Create Checkstop > busctl call xyz.openbmc_project.Logging /xyz/openbmc_project/logging \ xyz.openbmc_project.Logging.Create Create ssa{ss} \ org.open_power.Host.Boot.Error.Checkstop \ xyz.openbmc_project.Logging.Entry.Level.Error 0 > /var/lib/phosphor-debug-collector/dumps/4/\ BMCDUMP.XXXXXXXX.0000004.20230723094150 Change-Id: Iac483f4993b59cf0fc063ed9584785f1a1fa04a8 Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
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 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
.
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