#
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 ...
|
#
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 ...
|
#
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 ...
|
#
919f71c6 |
| 01-Mar-2022 |
Claire Weinan <cweinan@google.com> |
faultlog: Initial framework for Fault Log
Fault Log is a new type of dump. For details please see https://github.com/openbmc/docs/blob/master/designs/hw-fault-monitor.md
This commit enables creatio
faultlog: Initial framework for Fault Log
Fault Log is a new type of dump. For details please see https://github.com/openbmc/docs/blob/master/designs/hw-fault-monitor.md
This commit enables creation and deletion of fault log entries.
Tested: Created and deleted fault log entries by calling the corresponding D-Bus methods via bmcweb (added extra code in bmcweb for testing this). Also forced a fault log directory creation error by changing the code to specify a nonexistent directory path "/abc/def/" instead of FAULTLOG_DUMP_PATH, and forced a fault log file open error by creating a directory (manually using mkdir) with the same name as the file that the fault log manager tried to open.
Signed-off-by: Claire Weinan <cweinan@google.com> Change-Id: I03d4c19a4c131f7224ac895e404c46b1f566617b
show more ...
|
#
9e682c51 |
| 01-Apr-2022 |
Patrick Williams <patrick@stwcx.xyz> |
main: move busname claiming later
We should not claim the bus name until the daemon is fully initialized, especially because we create objects on the dbus that we don't send a signal for (the manage
main: move busname claiming later
We should not claim the bus name until the daemon is fully initialized, especially because we create objects on the dbus that we don't send a signal for (the manager itself).
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I303fa9a4ab40c93996f9ad64afdc85147c034c86
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
|
#
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.
Signed-off-by: Geo
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
|
#
8b9b4690 |
| 24-Sep-2020 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
Make OpenPower specific dump an optional feature
Make all OpenPower dumps as optional feature and should be enabled in the configuration. System dump is the currently implemented example of OpenPowe
Make OpenPower specific dump an optional feature
Make all OpenPower dumps as optional feature and should be enabled in the configuration. System dump is the currently implemented example of OpenPower dump. BMC dump will be enabled by default.
To enable openpower-dumps-extension=enabled
Test: Tested all existing dump operations using automated testing.
Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> Change-Id: If20b4711dfcf02a2a8ea23848f7409576813c832
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 path is needed for
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 value used for all build tim
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 ...
|
#
19ad0e8a |
| 26-Jun-2020 |
Alexander Filippov <a.filippov@yadro.com> |
Fix blocking SIGCHLD
Unblocking the `SIGCHLD` signal before the child process completes prevents the `callback()` from being ever called.
This commit makes the blocking `SIGCHLD` once for the whole
Fix blocking SIGCHLD
Unblocking the `SIGCHLD` signal before the child process completes prevents the `callback()` from being ever called.
This commit makes the blocking `SIGCHLD` once for the whole main process life by moving the corresponding code block to the main().
Tested: `callback()` now called when the child process completes.
Change-Id: I553c683e5dfcbc0b33c72aa2d7b394f689772966 Signed-off-by: Alexander Filippov <a.filippov@yadro.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@fuzziesquirrel.com>
|
#
11eaab7b |
| 19-Oct-2017 |
Gunnar Mills <gmills@us.ibm.com> |
Update Journal Variable Names
Journal entry variable names should be uppercase. https://www.freedesktop.org/software/systemd/man/sd_journal_print.html
Change-Id: I074955883c67173c9720f094d494addb85
Update Journal Variable Names
Journal entry variable names should be uppercase. https://www.freedesktop.org/software/systemd/man/sd_journal_print.html
Change-Id: I074955883c67173c9720f094d494addb85c85e7a Signed-off-by: Gunnar Mills <gmills@us.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>
|
#
43096598 |
| 20-Jul-2017 |
Jayanth Othayoth <ojayanth@in.ibm.com> |
Restore dump d-bus objects during daemon starts
Use the dump files in the persistant location to rebuild the d-bus objects.
Change-Id: Ia7b478649274a4681c802e11be4b2049eeed8e13 Signed-off-by: Jayan
Restore dump d-bus objects during daemon starts
Use the dump files in the persistant location to rebuild the d-bus objects.
Change-Id: Ia7b478649274a4681c802e11be4b2049eeed8e13 Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
show more ...
|
#
d3273ead |
| 12-Jul-2017 |
Jayanth Othayoth <ojayanth@in.ibm.com> |
Add support to enable dump collection for core dump
Implemented d-bus internal create function.
Change-Id: I34088d4c084a5a086189f4bc9e84e53a39193501 Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm
Add support to enable dump collection for core dump
Implemented d-bus internal create function.
Change-Id: I34088d4c084a5a086189f4bc9e84e53a39193501 Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
show more ...
|
#
bcb174bd |
| 02-Jul-2017 |
Jayanth Othayoth <ojayanth@in.ibm.com> |
Add support for user initiated BMC Dump
Added support for creating new dump entry d-bus objects for user request dump.
Change-Id: I31d2f478418e312e0aa6cc321a885498cf6ec6d6 Signed-off-by: Jayanth Ot
Add support for user initiated BMC Dump
Added support for creating new dump entry d-bus objects for user request dump.
Change-Id: I31d2f478418e312e0aa6cc321a885498cf6ec6d6 Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
show more ...
|
#
671fc7f3 |
| 14-Jun-2017 |
Jayanth Othayoth <ojayanth@in.ibm.com> |
Add support for generic inotify based directory watch.
Watch a directory for the changes based on user configuration and then report changes to the user.
Change-Id: I9f53d3135dd4bff6187840c0c53d2a6
Add support for generic inotify based directory watch.
Watch a directory for the changes based on user configuration and then report changes to the user.
Change-Id: I9f53d3135dd4bff6187840c0c53d2a64509808cd Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
show more ...
|
#
a320c7ca |
| 14-Jun-2017 |
Jayanth Othayoth <ojayanth@in.ibm.com> |
Implementation of create interface.
Both the external and internal Dump managers define "Create" interfaces. This commit implements these.
Change-Id: If857ec6ea7267fd72e9b420e6b44fa68b6abab66 Signe
Implementation of create interface.
Both the external and internal Dump managers define "Create" interfaces. This commit implements these.
Change-Id: If857ec6ea7267fd72e9b420e6b44fa68b6abab66 Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
show more ...
|
#
224882b0 |
| 04-May-2017 |
Jayanth Othayoth <ojayanth@in.ibm.com> |
Initial commit for Dump.
Added initial version of Dump infrastructre code.
Change-Id: Icd9bc779035d12d2dabd6f49d0d04e9aa060d6c1 Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
|