#
1615b824 |
| 31-May-2023 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
Remove internal dump create interface
The createDump method was revised to support key-value parameters, allowing flexible dump type specification. This change negates the need for the internal crea
Remove internal dump create interface
The createDump method was revised to support key-value parameters, allowing flexible dump type specification. This change negates the need for the internal create interface, exclusive to the phosphor-debug-collector repository.
This commit removes all instances of the internal create method, replacing them with the updated createDump method. The modified createDump approach ensures a consistent dump initiation procedure and enables all applications to request various dump types.
Manual Tests: - Validate the creation of a user-requested BMC dump. - Validate the creation of a dump due to an InternalFailure. - Generate a core dump to validate the corresponding BMC dump creation. - Ensure that system-generated dumps are allowed when user-requested dump is in progress. - Ensure simultaneous user requested dumps are prevented
Checkstop dump 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
Logs: Initiating new BMC dump with type: checkstop path: /xyz/openbmc_\ project/logging/entry/78 performing dump compression /tmp/BMCDUMP.XX.0000003.20230724015349 Report is available in /var/lib/phosphor-debug-collector/dumps/3
Automated tests: Create_And_Delete_User_Initiated_BMC_Dump_Multiple_Times Create_Two_User_Initiated_BMC_Dumps Create_Two_User_Initiated_BMC_Dumps_And_Delete_One Delete_All_User_Initiated_BMC_Dumps_And_Verify Delete_User_Initiated_BMC_Dump_And_Verify Verify_BMC_Core_Dump_When_Host_Powered_Off Verify_BMC_Dump_Create_Errors_While_Another_BMC_Dump_In_Progress Verify_BMC_Dump_Default_Location_In_BMC Verify_Core_Dump_Size Verify_Core_Watchdog_Initiated_BMC_Dump Verify_Dump_Persistency_On_BMC_Reset Verify_Dump_Persistency_On_Dump_Service_Restart Verify_Error_Log_And_Dump_For_Internal_Failure Verify_Error_Response_For_Already_Deleted_Dump_Id Verify_Error_While_Initiating_BMC_Dump_During_Dumping_State Verify_Internal_Failure_Initiated_BMC_Dump_Size Verify_Multiple_BMC_Dump_Creation Verify_User_Initiated_BMC_Dump_At_Host_Booting Verify_User_Initiated_BMC_Dump_Size Verify_User_Initiated_BMC_Dump_When_Host_Booted Verify_User_Initiated_BMC_Dump_When_Host_Powered_Off
Built with master and p10bmc
Change-Id: I9f91375788201e2badf51d87f8117154a8e1ed8a Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
show more ...
|
#
e4350f93 |
| 29-Jun-2023 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
Add elog dump type to common create
This commit modifies the Elog BMC dump creation process to utilize the common BMC dump creation interface. Elog BMC dumps are a special type of dumps triggered up
Add elog dump type to common create
This commit modifies the Elog BMC dump creation process to utilize the common BMC dump creation interface. Elog BMC dumps are a special type of dumps triggered upon the logging of certain predefined set of error logs. These dumps incorporate data based on the type of the error log. In the existing process, upon occurrence of a predefined error log, the error log watch function would inform the dump manager via an internal DBus interface. Now, with this change, the error log watch function will request the dump manager to create an Elog BMC dump that includes the relevant error data, error type, and the object path of the error log entry via the common create DBus interface.
Test: Create an InternalFailure and make sure dump is created >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
Trace: phosphor-dump-manager[542]: Initiating new BMC dump \ with type: elog path: /xyz/openbmc_project/logging/entry/12
phosphor-dump-manager[2918]: Report is available in \ /var/lib/phosphor-debug-collector/dumps/6
Tested checkstop dump
Built with master and p10bmc
Change-Id: I734b052fc24e7893a61755790be49e8a1e594be5 Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
show more ...
|
#
aa0937f9 |
| 22-Jul-2023 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
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 mana
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>
show more ...
|
#
0b566d54 |
| 14-Jun-2023 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
Minor cleanup: Remove unused header file and namespace
This commit performs minor by removing an unnecessary header file: phosphor-logging/log.hpp and namespace: using namespace phosphor::logging
T
Minor cleanup: Remove unused header file and namespace
This commit performs minor by removing an unnecessary header file: phosphor-logging/log.hpp and namespace: using namespace phosphor::logging
These cleanup changes have no impact on the functionality. They enhance code cleanliness, reduce potential confusion, and promote better code maintenance and readability.
Test: Created a full build to make sure no errors
Change-Id: I68f2d81c538d3f632e6edd24702efc6ae7b07086 Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
show more ...
|
#
d1f670fe |
| 05-Jun-2023 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
Implementing Phosphor-Logging/LG2 logging
This commit introduces changes in the phosphor-debug-collector repository to implement structured logging using the LG2 framework. The existing log calls in
Implementing Phosphor-Logging/LG2 logging
This commit introduces changes in the phosphor-debug-collector repository to implement structured logging using the LG2 framework. The existing log calls in the repository, have been replaced with LG2 logging, facilitates better log tracking and troubleshooting by offering improved detail in JSON object values.
Test: - Created BMC dump - Created system dump
Here is a example { "_EXE" : "/tmp/phosphor-dump-manager", "_MACHINE_ID" : "f9ca96d99c7b4ba688556f632ffeff5d", "_CAP_EFFECTIVE" : "1ffffffffff", "LOG2_FMTMSG" : "Invalid Dump file name, FILENAME: {FILENAME}", "__CURSOR" : "s=721ae7a5b6ed43ec904f2bb03e3c0403;i=2a8d0;\ b=b372b9a5989e46bb8e62b33310e181ea;m=2c05fda2b;t=5fdf0684c1e70;x=1592f60584d6486c", "CODE_FUNC" : "void phosphor::dump::bmc::Manager::\ createEntry(const std::filesystem::__cxx11::path&)", "_SYSTEMD_SLICE" : "system-dropbear.slice", "CODE_LINE" : "174", "__REALTIME_TIMESTAMP" : "1686583867350640", "PRIORITY" : "3", "_SYSTEMD_UNIT" : "dropbear@1-9.3.29.238:22-9.3.84.138:45432.service", "_PID" : "16209", "_BOOT_ID" : "b372b9a5989e46bb8e62b33310e181ea", "_SOURCE_REALTIME_TIMESTAMP" : "1686583867350580", "_TRANSPORT" : "journal", "_HOSTNAME" : "openbmc", "SYSLOG_IDENTIFIER" : "phosphor-dump-manager", "MESSAGE" : "Invalid Dump file name, \ FILENAME: BMCDUMP.XXXXXXX.0000006.20230612153010", "CODE_FILE" : \ "/usr/src/debug/phosphor-debug-collector/1.0+gitAUTOINC+a17f1c92ce-r1\ /dump_manager_bmc.cpp", "_UID" : "0", "_CMDLINE" : "/tmp/phosphor-dump-manager", "_RUNTIME_SCOPE" : "system", "FILENAME" : "BMCDUMP.XXXXXXXX.0000006.20230612153010", "_SYSTEMD_INVOCATION_ID" : "64a11629aade4c96ab62154cbc4be8b7", "__MONOTONIC_TIMESTAMP" : "11817441835", "_SYSTEMD_CGROUP" : "/system.slice/system-dropbear.slice/\ dropbear@1-9.3.29.238:22-9.3.84.138:45432.service", "_COMM" : "phosphor-dump-m", "_GID" : "0" }
Change-Id: I3a52b812b059b64d945493de2e2cc68a43f6d72a Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
show more ...
|
#
78e88402 |
| 10-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest .clang-format from the docs repository and reformat the repository.
Change-Id: If4790d4928efc3e6690ca090aa79f0c7737c3683 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
9b18bf2d |
| 22-Jul-2022 |
Patrick Williams <patrick@stwcx.xyz> |
sdbusplus: use shorter type aliases
The sdbusplus headers provide shortened aliases for many types. Switch to using them to provide better code clarity and shorter lines. Possible replacements are
sdbusplus: use shorter type aliases
The sdbusplus headers provide shortened aliases for many types. Switch to using them to provide better code clarity and shorter lines. Possible replacements are for: * bus_t * exception_t * manager_t * match_t * message_t * object_t * slot_t
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I7ae6214461bdf45c1a21fb702cc8bf5578d827c6
show more ...
|
#
9d2d7226 |
| 06-Oct-2021 |
Patrick Williams <patrick@stwcx.xyz> |
catch exceptions as const Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Id4f88568c2897ab1117dcad647783a9127c0600d
|
#
52ac69c1 |
| 02-Sep-2021 |
Patrick Williams <patrick@stwcx.xyz> |
exception: switch to public sdbus exception SdBusError was intended to be a private error type inside sdbusplus. Switch all catch locations to use the general sdbusplus::exception type.
exception: switch to public sdbus exception SdBusError was intended to be a private error type inside sdbusplus. Switch all catch locations to use the general sdbusplus::exception type. Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I33245a48eb2c55667cc8d57e8a3aba8af070f880
show more ...
|
#
858fbb2e |
| 30-Jun-2021 |
George Liu <liuxiwei@inspur.com> |
Add fmtlib for phosphor-debug-collector Call fmtlib to get additional information from journal. Tested: built phosphor-debug-collector successfully and Unit Test passes.
Add fmtlib for phosphor-debug-collector Call fmtlib to get additional information from journal. Tested: built phosphor-debug-collector successfully and Unit Test passes. Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: Ibe65637a0b29b76269fb4bc3f498438901c9306a
show more ...
|
#
0af74a5e |
| 08-Apr-2021 |
Jayanth Othayoth <ojayanth@in.ibm.com> |
Update clang-format Update to the latest OpenBMC clang-format. Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com> Change-Id: I54010d3c756af4c85786285644038d449730612b
|
#
3fc6df48 |
| 08-Apr-2021 |
Jayanth Othayoth <ojayanth@in.ibm.com> |
c++17: drop experimental::filesystem Use the real filesystem library, and drop support for building with experimental under c++14. Signed-off-by: Jayanth Othayoth <ojayanth@in.i
c++17: drop experimental::filesystem Use the real filesystem library, and drop support for building with experimental under c++14. Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com> Change-Id: I730c0d6dce53b5e0aa0867cddb7f325cdb9b45fc
show more ...
|
#
fef66a95 |
| 06-Sep-2020 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
Create dump manager for each dump type. Currently all types of dumps exist in the same path and under the single dump manager. When there are multiple dumps to be created separate pa
Create dump manager for each dump type. Currently all types of dumps exist in the same path and under the single dump manager. When there are multiple dumps to be created separate path is needed for creating and managing the dump. this commit is splitting the dump manager into multiple objects without adding any new functionality. There will be only one dump manager process but it will contain seperate dump manager objects for system and BMC dumps as per current scope. Tested the existing dump functions with the build - created bmc dump - created system dump using notify - deleted dump entry - offloaded bmc dump Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> Change-Id: Id4806660be1f1ba0b3cb6f840ae185a967f05a83
show more ...
|
#
bb410df7 |
| 03-Aug-2020 |
Ramesh Iyyar <rameshi1@in.ibm.com> |
build: Enabled meson build infrastructure In this commit enabled meson build infrastructure which is taking less time than autotools to build. Changes: - Same default valu
build: Enabled meson build infrastructure In this commit enabled meson build infrastructure which is taking less time than autotools to build. Changes: - Same default value used for all build time configure option. - All external library checks are added into meson as well. - In meson, no need to mention list of files which are not required to install because, by default nothing will be installed. - Auto generated files are added into custom target and that will trigger when some target dependent with that. - In meson, enabled to treat warning as error so, modified few sources which are producing un-used variables. - Fixes made by removing those function parameters identifier alone. By using meson, can able to see below built improvement time between meson and autotools. meson: - time sh -c 'meson builddir -Dhost-dump-offload-transport=pldm -Dubifs-workaround=enabled; ninja -C builddir/' real 0m12.244s user 0m57.575s sys 0m7.793s autotools: - time sh -c 'autoreconf -i; ./configure ${CONFIGURE_FLAGS} --enable-ubifs-workaround --with-host-dump-offload-transport=pldm; make' real 1m16.539s user 1m2.738s sys 0m9.645s TestedBy: - meson builddir ninja -C builddir - meson builddir -Dubifs-workaround=enabled ninja -C builddir - meson builddir -Dubifs-workaround=disabled ninja -C builddir - meson builddir -Dhost-dump-offload-transport=pldm ninja -C builddir - meson builddir -Dhost-dump-offload-transport=pldm \ -Dubifs-workaround=enabled ninja -C builddir Note: Need to update openbmc phosphor-debug-collector recipe to use meson instead autotools, this will be updated once this patch got merged and also autotools build infrastructure will be removed as well. Change-Id: Iadf2d3542dc2556377e7b2f91f01b04d5f8d7218 Signed-off-by: Ramesh Iyyar <rameshi1@in.ibm.com>
show more ...
|
#
984a98f7 |
| 13-May-2020 |
Patrick Williams <patrick@stwcx.xyz> |
sdbusplus: replace message::variant with std::variant Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I927996a9ce14cfb6251c6d7a1d8be081d9369174
|
#
07f0f465 |
| 13-May-2020 |
Patrick Williams <patrick@stwcx.xyz> |
sdbusplus: remove deprecated variant_ns Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I9e4cfb1c3632a3b26f197a0af2e417e9824f7e72
|
#
638b43f5 |
| 16-Apr-2020 |
Andrew Geissler <geissonator@yahoo.com> |
ensure deleted object is entry Some code is coming that puts a new D-Bus object on the /xyz/openbmc_project/logging/ path. The addCallback() interface correctly verified the path was
ensure deleted object is entry Some code is coming that puts a new D-Bus object on the /xyz/openbmc_project/logging/ path. The addCallback() interface correctly verified the path was an entry but the delCallBack() path did not. Tested: Verified with this change that phosphor-dump-manager no longer core dumps when one of these new objects is deleted. Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: Ie702e52b97bc484a44543719e10eab573f8ecb73
show more ...
|
#
0deb287c |
| 12-Nov-2018 |
Marri Devender Rao <devenrao@in.ibm.com> |
Refactor to pass errors to watch through config YAML Add errors to watch for through error YAML file Add support for checkstop error type Tested: Generating dumps for elog,
Refactor to pass errors to watch through config YAML Add errors to watch for through error YAML file Add support for checkstop error type Tested: Generating dumps for elog, core, checkstop type errors. Change-Id: Idd00ace2e3d0c472a74ec142e6d150e55e843a6f Signed-off-by: Marri Devender Rao <devenrao@in.ibm.com>
show more ...
|
#
cb65ffce |
| 16-Oct-2018 |
Jayanth Othayoth <ojayanth@in.ibm.com> |
Enable clang code format Change-Id: Ib640ef7cea99ff505965182ec9900a2d53a8986e Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com> Signed-off-by: Brad Bishop <bradleyb@fuzziesquirre
Enable clang code format Change-Id: Ib640ef7cea99ff505965182ec9900a2d53a8986e Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com> Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
show more ...
|
#
90d147a1 |
| 12-Jun-2018 |
William A. Kennington III <wak@google.com> |
elog_watch: Fix parsing of elog add requests Requests come in the form "oa{sa{sv}}". However, the way sdbusplus was interpreting the type of our message "a{oa{sa{sv}}}" since tuples are
elog_watch: Fix parsing of elog add requests Requests come in the form "oa{sa{sv}}". However, the way sdbusplus was interpreting the type of our message "a{oa{sa{sv}}}" since tuples are not allowed to consume multiple arguments during the read call as that would be ambiguous. This fixes the type issues. Prior to the change to sdbusplus that introduces error handling for the read calls, the sd_bus_message_{enter,exit}_container were failing during the read on the pair. Luckily this produces the expected result for the read and our old code was "working". This also cleans up an unnecessary string move. Tested: Builds and no longer produces errors on zaius when elogs are added. Change-Id: Ifc5394f3f361e8932c939376bd0bf5b4e3ca589c Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
#
15cd3ce7 |
| 15-May-2018 |
William A. Kennington III <william@wkennington.com> |
Add error handling for message parsing Some of the signals we try and parse for error logs are not structured in the format we expect when parsing. When error logging is enabled in s
Add error handling for message parsing Some of the signals we try and parse for error logs are not structured in the format we expect when parsing. When error logging is enabled in sdbusplus this causes the phosphor-dump-manager to crash. Fix this crashing by logging errors and ignoring the bad signals. Change-Id: Ieadcb7e95f622005382f3c4957bf1535e3bb1ef9 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
#
31085974 |
| 05-Oct-2017 |
Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com> |
Enable Cereal class versioning Change-Id: Ib6d212e730d25eb14ceed5b5f3f222ee3b47b35c Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
|
#
2496482a |
| 04-Sep-2017 |
Jayanth Othayoth <ojayanth@in.ibm.com> |
Enable support to handle InternalFailure type dump, during elog restore Resolves openbmc/openbmc#2078 Change-Id: Iea47b9b7c0cd6cae21642057b21c4e99d85be1e8 Signed-off-by: Jayanth
Enable support to handle InternalFailure type dump, during elog restore Resolves openbmc/openbmc#2078 Change-Id: Iea47b9b7c0cd6cae21642057b21c4e99d85be1e8 Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
show more ...
|
#
d0f0064e |
| 04-Sep-2017 |
Jayanth Othayoth <ojayanth@in.ibm.com> |
Capture dump when an error with the name InternalFailure is logged Change-Id: I2a362b674022dbe1ea8bfe16876d0416f87d0af1 Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
|