#
93f06410 |
| 02-Jun-2024 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
Add Serialization Support for Dump Entry Attributes
Implemented serialization of dump entry attributes using the nlohmann::json library. Added serialization support in the Dump Entry class, serializ
Add Serialization Support for Dump Entry Attributes
Implemented serialization of dump entry attributes using the nlohmann::json library. Added serialization support in the Dump Entry class, serializing attributes including originatorId, originatorType, and startTime. These attributes are not part of the dump filename and thus require serialization to ensure their state is preserved.
Deserialization will occur only if the serialization version matches and the dump ID in the dump object matches the ID in the serialized file.
Tests: - Created BMC dumps and restarted service - Created BMC dumps and restarted BMC - Created 200 BMC dumps and restarted service and BMC multiple times
File: ``` {"dumpId":2,"originatorId":"","originatorType":1,"startTime":1718199238942411,"version":1} ```
Change-Id: I16ecb058bddd464c8771bd8d08a50ea1877747ed Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
show more ...
|
#
4d86a3eb |
| 19-Sep-2023 |
Deepa Karthikeyan <deepakala.karthikeyan@ibm.com> |
Fix compiler warning
Fix the following warning, as any warning will be treated as error ../../../dump_utils.hpp:38:9: warning: Value stored to 'event' is never read
event = sd_event_unref(event);
Fix compiler warning
Fix the following warning, as any warning will be treated as error ../../../dump_utils.hpp:38:9: warning: Value stored to 'event' is never read
event = sd_event_unref(event);
Change-Id: I020c2b2028e19ce8998754a38cb55830792a0118 Signed-off-by: Deepa Karthikeyan <deepakala.karthikeyan@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 ...
|
#
3604710d |
| 29-Jun-2023 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
BMCDump: dump subtype input parameter support
The BMC dump is not accepting any parameters to specify the type of dump or level of data to be collected. It was always creating a default user-request
BMCDump: dump subtype input parameter support
The BMC dump is not accepting any parameters to specify the type of dump or level of data to be collected. It was always creating a default user-requested dump.
This commit allows for the specification of the dump type during the dump creation process. A new table has been added in a new header file which stores the valid dump types. When a new dump is requested, the specified dump type is verified against this table. If no dump type is mentioned, a user-requested BMC dump is created for backward compatibility. If an invalid dump type is mentioned, an Invalid Argument exception is thrown.
Tested: - Create BMC dump with no arguments - Create BMC dump with type as user - Create a error log dump and make sure other types of dumps which is using internal interface is not impacted. - Built with master and p10bmc
Change-Id: I79f68be6ac6892ac7754b7221db64c22330b1822 Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
show more ...
|
#
3a25e5b2 |
| 22-Mar-2022 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
OpenPOWER: Allow initiating mp reboot dump in quiesced state
When system dumps are disabled, a system dump collection request will end up in quiesced state. A memory preserving reboot from that sta
OpenPOWER: Allow initiating mp reboot dump in quiesced state
When system dumps are disabled, a system dump collection request will end up in quiesced state. A memory preserving reboot from that state can get the failed data from the host. So enabling the mp reboot dump collection from quiesced state.
Test: Disable dump Inject error in host to move to quiesced state Start mp reboot Dump should be generated
Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> Change-Id: I9f444752b321f1ab47b99e5b8ac32c79182d6453
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 ...
|
#
cdb58977 |
| 17-Nov-2022 |
Jayanth Othayoth <ojayanth@in.ibm.com> |
remove unused com.ibm specific header file from dump utils
This is to fix build issue reported in the latest master related to com.ibm specific header file in base code. Removed unused com.ibm inter
remove unused com.ibm specific header file from dump utils
This is to fix build issue reported in the latest master related to com.ibm specific header file in base code. Removed unused com.ibm interface specific header file from dump_utils.hpp file now.
Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com> Change-Id: I1082bc7de8430983dec952463724706dd38e3aba
show more ...
|
#
74a1f39c |
| 27-Oct-2021 |
Asmitha Karunanithi <asmitk01@in.ibm.com> |
Implement OriginatedBy interface in dump entry dbus obj
This new interface "OriginatedBy" will be implemented by all the dump entry dbus objects. It contains a property "OriginatorId" which stores t
Implement OriginatedBy interface in dump entry dbus obj
This new interface "OriginatedBy" will be implemented by all the dump entry dbus objects. It contains a property "OriginatorId" which stores the unique id of the user that has initiated the dump. The unique id in this case is a string that contains the ip address of the client that initiated the dump.
The dbus interface change for the same is at: [1] https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/47057
Tested By:
[1] busctl call xyz.openbmc_project.Dump.Manager /xyz/openbmc_project/dump/bmc xyz.openbmc_project.Dump.Create CreateDump a{sv} 2 "xyz.openbmc_project.Dump.Create.CreateParameters.OriginatorId" s "<unique-id>" "xyz.openbmc_project.Dump.Create.CreateParameters.OriginatorType" s "xyz.openbmc_project.Common.OriginatedBy.OriginatorTypes.Client" o "/xyz/openbmc_project/dump/bmc/entry/2"
[2] busctl --verbose call xyz.openbmc_project.Dump.Manager /xyz/openbmc_project/dump/resource xyz.openbmc_project.Dump.Create CreateDump a{sv} 4 "com.ibm.Dump.Create.CreateParameters.VSPString" s "vsp" "com.ibm.Dump.Create.CreateParameters.Password" s "password" "com.ibm.Dump.Create.CreateParameters.OriginatorId" s "<unique-id>" "xyz.openbmc_project.Dump.Create.CreateParameters.OriginatorType" s "xyz.openbmc_project.Common.OriginatedBy.OriginatorTypes.Client" MESSAGE "o" { OBJECT_PATH "/xyz/openbmc_project/dump/resource/entry/1"; };
[3] busctl call xyz.openbmc_project.Dump.Manager /xyz/openbmc_project/dump/system xyz.openbmc_project.Dump.Create CreateDump a{sv} 2 "com.ibm.Dump.Create.CreateParameters.OriginatorId" s "<unique-id>" "xyz.openbmc_project.Dump.Create.CreateParameters.OriginatorType" s "xyz.openbmc_project.Common.OriginatedBy.OriginatorTypes.Client" o "/xyz/openbmc_project/dump/system/entry/1"
Signed-off-by: Asmitha Karunanithi <asmitk01@in.ibm.com> Change-Id: I23c9f769fd39cd84e042d6effbb3d71c7af4e889
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 ...
|
#
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
|
#
6a54d9af |
| 17-Dec-2020 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
Allow initiating or offloading host dumps only when host is up. When the host is not up the system dump cannot be initiated or offloaded. Adding a check whether the host is up before sta
Allow initiating or offloading host dumps only when host is up. When the host is not up the system dump cannot be initiated or offloaded. Adding a check whether the host is up before starting the creation of the host dump. Added a new utility to check whether host is running, this can be called to check whether host is running before initiating actions like initiate, offload, delete on host dumps. Automatic clearing off host dump entries during a system power off will be handled with #ibm-openbmc/issues/2860 Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> Change-Id: Ieb3163ef9b329d3b99807722bd5ac985bf3da25e
show more ...
|
#
2279386b |
| 04-Dec-2020 |
Ramesh Iyyar <rameshi1@in.ibm.com> |
host: Added support to delete system dump To delete host system dump using pldm oem command "FileAck" with dump file type and dump id which is present as source dump id (which is got
host: Added support to delete system dump To delete host system dump using pldm oem command "FileAck" with dump file type and dump id which is present as source dump id (which is got from pldm after created the host system dump) in system dump entry dbus object and also, to use pldm oem command added support to indicate delete host system dump support is not available for other host transport consumer and for other oem vendors who are using pldm as host transport to get host dump. Also, changed existing commited error i.e internal failure into not allowed for host system dump offload to avoid bmc dump creation in dump path. Signed-off-by: Ramesh Iyyar <rameshi1@in.ibm.com> Change-Id: Ib6be5b521fb3c5aa2926497bae0b03c1d9737161
show more ...
|
#
d31be2cc |
| 04-Feb-2020 |
Jayanth Othayoth <ojayanth@in.ibm.com> |
Added PLDM Dump offload command Added support to sending the SetNumericEffecterValue PLDM command to the host to start dump offload. Signed-off-by: Jayanth Othayoth <ojayanth@in
Added PLDM Dump offload command Added support to sending the SetNumericEffecterValue PLDM command to the host to start dump offload. Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com> Change-Id: I30fe59b198b55ad439a182877c6b21cfd070245b
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 ...
|
#
d02153c9 |
| 02-Jul-2017 |
Jayanth Othayoth <ojayanth@in.ibm.com> |
Update core file monitor infrastructre using common inotify Resolves openbmc/openbmc#1510 Change-Id: I5f73c4330df8a5deab29e29201e8521740e6b047 Signed-off-by: Jayanth Othayoth <o
Update core file monitor infrastructre using common inotify Resolves openbmc/openbmc#1510 Change-Id: I5f73c4330df8a5deab29e29201e8521740e6b047 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: I9f53d3135dd
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: If857ec6ea7267fd72e9b420e6b
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 ...
|