Revision Date Author Comments
# 4207adcd 01-Feb-2025 Patrick Williams <patrick@stwcx.xyz>

clang-format: update latest spec and reformat

Copy the latest format file from the docs repository and apply.

Change-Id: I88079e69decd57b30d0455a723fd051be8449e36
Signed-off-by: Patrick Williams <p

clang-format: update latest spec and reformat

Copy the latest format file from the docs repository and apply.

Change-Id: I88079e69decd57b30d0455a723fd051be8449e36
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 973b291e 16-Aug-2024 Patrick Williams <patrick@stwcx.xyz>

clang-format: re-format for clang-18

clang-format-18 isn't compatible with the clang-format-17 output, so we
need to reformat the code with the latest version. The way clang-18
handles lambda forma

clang-format: re-format for clang-18

clang-format-18 isn't compatible with the clang-format-17 output, so we
need to reformat the code with the latest version. The way clang-18
handles lambda formatting also changed, so we have made changes to the
organization default style format to better handle lambda formatting.

See I5e08687e696dd240402a2780158664b7113def0e for updated style.
See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.

Change-Id: I748aeef75e2078199193cd98013dd2fe7f6b5db8
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# ea632b81 06-May-2022 Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>

OpenPOWER: Allow system dump in TransitioningToOff state

There are cases the host can be stuck in the
TransitioningToOff state, a system dump from that
state is needed for further debug on host side

OpenPOWER: Allow system dump in TransitioningToOff state

There are cases the host can be stuck in the
TransitioningToOff state, a system dump from that
state is needed for further debug on host side.

Tests:
Initiate dump when system is in TransitioningToOff state

Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
Change-Id: I59b4e5710453fd87bec5de17af35f5d5064ebdf1

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 ...


# 1ddb006b 06-May-2022 Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>

OpenPOWER: Limit User-Requested System Dumps

System dumps can be several gigabytes in size. To conserve space,
only one dump is stored at a time. When a new dump is requested,
the existing dump will

OpenPOWER: Limit User-Requested System Dumps

System dumps can be several gigabytes in size. To conserve space,
only one dump is stored at a time. When a new dump is requested,
the existing dump will be discarded while creating a new one.
In the case of system-generated dumps, which are triggered by
critical errors, it is permissible to initiate a new dump even
if an existing dump is already present in the host memory
This commit adds a restriction on initiating new user-requested system
dumps while a system dump is in progress or if one is already stored
in host memory.

New user-requested system dumps will be allowed once the existing
dump is deleted or offloaded.

This change applies only to user-requested dumps and does not impact
system generated dumps.

Test:
- Initiate system dump when another dump in progress and verified
a Unavailable was returned
- Force a system generated system dump when one dump is present
a Unavailable was returned

Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
Change-Id: I4598912b0761669859f84a43ab4c60f47664b1e6

show more ...


# 0007b70c 01-Feb-2022 Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>

OpenPOWER: Ignore duplicate system dump entry

This commit introduces changes to handle scenarios where
the host might report the same system dump entry more than once.
The changes have been made to

OpenPOWER: Ignore duplicate system dump entry

This commit introduces changes to handle scenarios where
the host might report the same system dump entry more than once.
The changes have been made to address two main scenarios:

When the host generates a system dump having the same dump id
and size as an existing entry, the new notification is ignored
if the existing entry is marked as 'completed'. A trace is added
if the existing entry is incomplete.

In cases where the dump id matches an existing entry, but the size
is different, the old entry is considered stale and gets deleted.
A new entry will be created subsequently.

This issue arises particularly during internal failure recovery
in the host, where it notifies all the pending dumps again.
In cases where entries are already available for such dumps on the BMC,
duplicate entries may be created, potentially leading to confusion
for users. This change prevents the creation of new entries if an entry
already exists for the same dump.

Tests:
Create a disruptive system dump and offload
Create a non-disruptive system dump and offload

Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
Change-Id: I31d92df43476a19880d084a68e5db17c5207bd81

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 ...


# 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 ...


# c0ab9d43 18-Aug-2022 Claire Weinan <cweinan@google.com>

Populate timestamps with microsecond precision

xyz.openbmc_project.Time.EpochTime is defined as time elapsed since the
epoch in microseconds.

xyz.openbmc_project.Common.Progress.StartTime and
xyz.o

Populate timestamps with microsecond precision

xyz.openbmc_project.Time.EpochTime is defined as time elapsed since the
epoch in microseconds.

xyz.openbmc_project.Common.Progress.StartTime and
xyz.openbmc_project.Common.Progress.CompletedTime are similarly
defined as microseconds.

Change timestamps that are currently captured in seconds to
microseconds.

Tested:

Check xyz.openbmc_project.Time.EpochTime,
xyz.openbmc_project.Common.Progress.StartTime, and
xyz.openbmc_project.Common.Progress.CompletedTime timestamps of dump
entries.

Example:
busctl introspect xyz.openbmc_project.Dump.Manager /xyz/openbmc_project/dump/bmc/entry/1

Signed-off-by: Claire Weinan <cweinan@google.com>
Change-Id: I6ea220af07f06ad79de0b62b24ce6cd5ba5fd33d

show more ...


# ad50d422 18-Jan-2022 Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>

OpenPOWER: Fix for host dump delete

If the dump is not created by host or the request is not
complete the dump id provided by the host will not be
valid. When deleting such dump entries a request fo

OpenPOWER: Fix for host dump delete

If the dump is not created by host or the request is not
complete the dump id provided by the host will not be
valid. When deleting such dump entries a request for
delete should not be send to the host.

Tests:

Deleting a dump which is not finished when host is running

Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
Change-Id: If7e8b7fad67c215f057152bb64b5232f198fee9e

show more ...


# ddc3366e 19-Jul-2021 Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>

Update dump create parameters

Dump create parameters are a set of parameters accepted
in dict format while creating the dump. So far the values
can be only strings but now unit64 also added. This co

Update dump create parameters

Dump create parameters are a set of parameters accepted
in dict format while creating the dump. So far the values
can be only strings but now unit64 also added. This commit
address the changes to handle the updated dictionary

Testing:
- Full build with interface change is successful
- Created dumps with new interface
Resource Dump:
busctl --verbose call xyz.openbmc_project.Dump.Manager /xyz/openbmc_project/dump/resource xyz.openbmc_project.Dump.Create CreateDump a{sv} 2 "com.ibm.Dump.Create.CreateParameters.VSPString" s "vsp" "com.ibm.Dump.Create.CreateParameters.Password" s "0"
MESSAGE "o" {
OBJECT_PATH "/xyz/openbmc_project/dump/resource/entry/1";
};

BMC Dump:
busctl --verbose call xyz.openbmc_project.Dump.Manager /xyz/openbmc_project/dump/bmc xyz.openbmc_project.Dump.Create CreateDump a{sv} 0
MESSAGE "o" {
OBJECT_PATH "/xyz/openbmc_project/dump/bmc/entry/92";
};

System Dump:
busctl --verbose call xyz.openbmc_project.Dump.Manager /xyz/openbmc_project/dump/system xyz.openbmc_project.Dump.Create CreateDump a{sv} 0
MESSAGE "o" {
OBJECT_PATH "/xyz/openbmc_project/dump/system/entry/1";
};

Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
Change-Id: I37ab7d870954e1b52500f5975735286433fbb8df

show more ...


# 363af249 16-Jul-2021 George Liu <liuxiwei@inspur.com>

Fix wrong fmt::format strings

If the `openpower-dumps-extension` enabled, found the wrong
fmt::format strings, and CI failed.

Tested: enabled `openpower-dumps-extension` and built
phosphor-debug-co

Fix wrong fmt::format strings

If the `openpower-dumps-extension` enabled, found the wrong
fmt::format strings, and CI failed.

Tested: enabled `openpower-dumps-extension` and built
phosphor-debug-collector successfully.

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I9cfc4966658d611b5e9be48a1a5e6e3e3def63f0

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.

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 ...


# 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.ibm.com>
Change-Id: 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 ...


# 24e0c591 19-Jan-2021 Andrew Geissler <geissonator@yahoo.com>

mpipl: move from diagnostic target to crash target

The MPIPL function was moved from the diagnostic target to the crash
target. The diagnostic target is now a part of the crash target so it
will sti

mpipl: move from diagnostic target to crash target

The MPIPL function was moved from the diagnostic target to the crash
target. The diagnostic target is now a part of the crash target so it
will still be called as a part of this process.

The following commit has more info on why this change was made:
https://gerrit.openbmc-project.xyz/c/openbmc/openbmc/+/39711

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: Ie1598a06f5d14edd6edde1e95d63becbd1fdba96

show more ...


# 341d683d 15-Jan-2021 Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>

Change the the namespace of OpenPOWER dumps.

Change the namespace of OpenPOWER dumps to openpower
instead of phosphor.

Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
Change-Id: I0b

Change the the namespace of OpenPOWER dumps.

Change the namespace of OpenPOWER dumps to openpower
instead of phosphor.

Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
Change-Id: I0b99da60cb19f3cf559ce40c971b3ba6f4888238

show more ...


# 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 starting
the cr

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 ...


# f37c5c3b 17-Dec-2020 Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>

Remove unused DumpType from Notify implementation.

Each type of dump is hosted in its own service so DumpType
is no more needed to differentiate between dumps in Notify.
So removing from implementat

Remove unused DumpType from Notify implementation.

Each type of dump is hosted in its own service so DumpType
is no more needed to differentiate between dumps in Notify.
So removing from implementation to match the interface.

Changes are tested with creation of a system dump.

Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
Change-Id: Ib34b2235f7b7a6331e52f3dc55660bd6082aa29a

show more ...


# 969f9a59 30-Oct-2020 Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>

Update createDump to accept additional parameters

Updating create dump implementation to match the change
in the interface to accept the additional parameters.

Testing:
Created BMC dump
Creat

Update createDump to accept additional parameters

Updating create dump implementation to match the change
in the interface to accept the additional parameters.

Testing:
Created BMC dump
Created system dump

Dbus changes associated with this:
https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/37355

Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
Change-Id: I1402a9c4c8e0e5c6277055d835f7d024673831d8

show more ...


# a6ab806d 29-Oct-2020 Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>

Progress tracking support for dump entries.

A new attribute status is added which indicates the status of the
dump creation. The user requested dump entries will be created
with InProgress and updat

Progress tracking support for dump entries.

A new attribute status is added which indicates the status of the
dump creation. The user requested dump entries will be created
with InProgress and updated to Completed once the dump creation
is completed

Test: Request user initiated BMC and system dump and
make sure the progress is changing and the dump details
are updated correctly

Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
Change-Id: I68e25c865765dff97913af00bf89c8c3a4b65d43

show more ...


# 6ccb50e1 29-Oct-2020 Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>

Return the object path for user requested dumps.

Return the object path to a dump entry for the user requested
dump. A dump entry will be created when the user request for
the dump and that will be

Return the object path for user requested dumps.

Return the object path to a dump entry for the user requested
dump. A dump entry will be created when the user request for
the dump and that will be used for tracking the progress.
The dump details like size etc will be empty and the complete
details will be filled once the dump creation is completed.

Executed current BMC and system dump test cases on a test build
- Create BMC dump
- List All dumps
- Offload BMC dump
- Delete BMC dump
- Create manual system dump.
- Attempt to offload dump.

Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
Change-Id: I89b252e2731f4f1fb924d26c7ac05999341fc691

show more ...


# 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 ...