History log of /openbmc/phosphor-debug-collector/dump_utils.hpp (Results 1 – 19 of 19)
Revision Date Author Comments
# 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 ...