ff5f42fa | 12-Apr-2023 |
Patrick Williams <patrick@stwcx.xyz> |
meson: remove deprecated get_pkgconfig_variable
Since meson 0.56, the `get_pkgconfig_variable` has been deprecated. In meson 0.58 the `get_variable` was enhanced to no longer require the `pkgconfig
meson: remove deprecated get_pkgconfig_variable
Since meson 0.56, the `get_pkgconfig_variable` has been deprecated. In meson 0.58 the `get_variable` was enhanced to no longer require the `pkgconfig` keyword argument. Ensure meson 0.58 is required and update the usage of all `get_pkgconfig_variable` and `get_variable` to be the modern variant.
Change-Id: I4bf91f3c9a61c6f0c4f14f591ed00a309b7612e6 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
0600cf79 | 10-Apr-2023 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Add Bonnell callouts to certain fan PELs
Add Bonnell system callouts to the fan related PELs that have system based callouts.
Also, add Bonnell callouts to the standby regulator error.
Signed
PEL: Add Bonnell callouts to certain fan PELs
Add Bonnell system callouts to the fan related PELs that have system based callouts.
Also, add Bonnell callouts to the standby regulator error.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I35501ca208edafbe43dbe833ef7f2c7be93524cd
show more ...
|
bc560987 | 10-Apr-2023 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Add Bonnell callouts to SBE boot timeout PEL
It calls out the backplane and first processor.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: If532a9eceda08143ad08d73c8cb273a2c8c010
PEL: Add Bonnell callouts to SBE boot timeout PEL
It calls out the backplane and first processor.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: If532a9eceda08143ad08d73c8cb273a2c8c0105e
show more ...
|
1500677c | 29-Mar-2023 |
Jayanth Othayoth <ojayanth@in.ibm.com> |
PEL: Add message registry for invalid certificate
Added message registry for certificate verification failure.
Tested:
xx@xxxxx# peltool -l { "0x500010BC": { "SRC":
PEL: Add message registry for invalid certificate
Added message registry for certificate verification failure.
Tested:
xx@xxxxx# peltool -l { "0x500010BC": { "SRC": "BDA3100C", "Message": "Certificate verification failed", "PLID": "0x500010BC", "CreatorID": "BMC", "Subsystem": "User Error", "Commit Time": "03/29/2023 16:45:33", "Sev": "Predictive Error", "CompID": "0x1000" } }
"User Header": { "Section Version": "1", "Sub-section type": "0", "Log Committed by": "bmc error logging", "Subsystem": "User Error", "Event Scope": "Entire Platform", "Event Severity": "Predictive Error", "Event Type": "Not Applicable", "Action Flags": [ "Service Action Required", "Report Externally", "HMC Call Home" ], "Host Transmission": "Not Sent", "HMC Transmission": "Not Sent" },
Change-Id: I5b096d5bb0e5ecf16dd2d472c5aaea87f940f45e Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
show more ...
|
95788fea | 24-Mar-2023 |
Lakshmi Yadlapati <lakshmiy@us.ibm.com> |
PEL: Error log entry for TPM measurement failure
Log an error when TPM measurement fails.
Change-Id: Ice19f85d91727b9d05750aee81643812383aa4fe Signed-off-by: Lakshmi Yadlapati <lakshmiy@us.ibm.com> |
9a808709 | 28-Mar-2023 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Print component name in peltool list
Printing the component name instead of just the component ID was introduced in a previous commit, though it was just done when displaying a full PEL.
In th
PEL: Print component name in peltool list
Printing the component name instead of just the component ID was introduced in a previous commit, though it was just done when displaying a full PEL.
In this commit, also display the component name of the creator when listing PELs via peltool -l.
For example:
``` "0x50000032": { "SRC": "BD5EC101", ... "CompID": "bmc system dump collector" } ```
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: If6b503bd3d28a0c1879844a19527cc1f5144d78a
show more ...
|
b832aa5e | 21-Mar-2023 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Print component names in peltool
Every PEL section has a 2 byte component ID field in its header that peltool prints. Currently, it just prints the hex version, like "0x1000".
There are JSON
PEL: Print component names in peltool
Every PEL section has a 2 byte component ID field in its header that peltool prints. Currently, it just prints the hex version, like "0x1000".
There are JSON files in the flash already that contain mappings of component IDs to to component names, and this commit starts looking up the component names from those files and using those in the peltool output.
An example of a file is: /usr/share/phosphor-logging/pels/O_component_ids.json: { "1000": "bmc common function", "2000": "bmc error logging", ... }
Where the 'O' in the filename is the creator ID field of the PEL. There is also a file for hostboot, which is B_component_ids.json.
Also, for PELs with a PHYP creator ID, just convert the ID to two characters, like 0x4552 - > "ER" as that is what they are.
peltool output examples: "Created by": "bmc error logging", "Created by": "hostboot: errl", "Created by": "IO",
This matches what is already done by the python peltool.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Id616739e1b7ca67c85dc7efa85dc34acf6aca9b5
show more ...
|
9f5c7349 | 13-Mar-2023 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Fix typo in journal trace
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I57aff70bebb20e84b443bb2827e94ec913e2584a |
1ed1067c | 08-Mar-2023 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Usability fixes to msg registry validator
This commit makes some usability improvements to the script that validates the PEL message registry.
1) Renames the script from process_registry.py to
PEL: Usability fixes to msg registry validator
This commit makes some usability improvements to the script that validates the PEL message registry.
1) Renames the script from process_registry.py to validate_registry.py to more accurately reflect what it does. 2) Removes the '-v' option that was required to make it do any validation and just run it by default. (At one point in the past it was going to do more than just validation.)
An internal improvement was made to just use argparse's ability to check for required parameters instead of checking manually.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I30c4ba5c693388048095b385d5cae1993e906975
show more ...
|
8d6a1f12 | 05-Jan-2023 |
Priyanga Ramasamy <priyanga24@in.ibm.com> |
PEL:Description change in VPD SRCs
This commit modifies the description for VPD SRCs BD554004 and BD554008.
Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com> Change-Id: I3587672afd7b47db362a
PEL:Description change in VPD SRCs
This commit modifies the description for VPD SRCs BD554004 and BD554008.
Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com> Change-Id: I3587672afd7b47db362a3a905008f7de3e30c0ab
show more ...
|
8d2b2421 | 03-Mar-2023 |
Faisal Awada <faisal@us.ibm.com> |
PELs: Added journal capture to power/thermal PELs
Added phosphor-psu-monitor, phosphor-power-control, systemd, phosphor-chassis-state-manager journal entries to Power Supply PELs. Added same journal
PELs: Added journal capture to power/thermal PELs
Added phosphor-psu-monitor, phosphor-power-control, systemd, phosphor-chassis-state-manager journal entries to Power Supply PELs. Added same journal entries to Power Control PELs plus phosphor-regulators.
Change-Id: Ia2a630265aad5b23ef846e212bbd9f86d5a8ec3e Signed-off-by: Faisal Awada <faisal@us.ibm.com>
show more ...
|
4d6fc2df | 27-Feb-2023 |
Patrick Williams <patrick@stwcx.xyz> |
meson: remove provide for phosphor-dbus-interfaces
The phosphor-dbus-interfaces repository now provides an `meson.override_dependency` call which makes this unnecessary.
Signed-off-by: Patrick Will
meson: remove provide for phosphor-dbus-interfaces
The phosphor-dbus-interfaces repository now provides an `meson.override_dependency` call which makes this unnecessary.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I0e9b0893141115ca4f55957c538579e173dcb21f
show more ...
|
86cdcd52 | 16-Jan-2023 |
Swarnendu Roy Chowdhury <swarnendu.roy.chowdhury@ibm.com> |
PEL: Adding a PEL message entry into message_registry.json file
Adding a PEL entry into message_registry.json file for dump delete.
Default severity is informational and can be overwritten by calle
PEL: Adding a PEL message entry into message_registry.json file
Adding a PEL entry into message_registry.json file for dump delete.
Default severity is informational and can be overwritten by caller
Change-Id: I71520889bc9c7b0f2f3d401eb513292aeb2f8994
Change-Id: I6d5af1d5a1720ef856642aabae768a30fa36db7d Signed-off-by: Swarnendu Roy Chowdhury <swarnendu.roy.chowdhury@ibm.com>
show more ...
|
bad056be | 25-Jan-2023 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Handle multiple inv paths per loc code
DataInterface::getInventoryFromLocCode() was only returning a single inventory path from GetFRUsByExpandedLocationCode() even though multiple paths may ha
PEL: Handle multiple inv paths per loc code
DataInterface::getInventoryFromLocCode() was only returning a single inventory path from GetFRUsByExpandedLocationCode() even though multiple paths may have been returned.
Mostly that was fine, except when a processor on a DCM was called out. That would lead to only one processor on the DCM being set to not functional by service_indicators.cpp, so on the web UI the actual CPU called out may not have been marked as unhealthy (health status critical in Redfish).
This commit changes getInventoryFromLocCode() to return all the paths that GetFRUsByExpandedLocationCode() returns, and then makes the corresponding changes in service_indicators.cpp to be able to handle multiple inventory paths per location code when setting them to not functional and creating a critical association.
The other code that was calling this function can just use the first path returned, since in those cases it's just needed to get the VPD information for the PEL, and all the paths would return the same info anyway since they had the same location code.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ia16f50881e4a4f84c171ae20b7a99eddcc98ad4f
show more ...
|
92ae483f | 20-Jan-2023 |
Andrew Geissler <geissonator@yahoo.com> |
dbus: add dbus activation support
Add support for dbus activation of phosphor-logging. This will ensure users of the logging library for calls like "commit" will automatically have the phosphor-logg
dbus: add dbus activation support
Add support for dbus activation of phosphor-logging. This will ensure users of the logging library for calls like "commit" will automatically have the phosphor-logging service start (if not already running) and not need to put this dependency in their service files.
Tested: - Stopped xyz.openbmc_project.Logging.service and then used busctl to create an error log. Verified that xyz.openbmc_project.Logging.service was automatically started and the error was created.
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I9134851c075dbb717f832422f55e2eeee31f823b
show more ...
|
8ac20500 | 04-Jan-2023 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Put validation fail details into journal msg
In the PEL section classes, move some journal fields from the journal metadata section into the journal message itself, to make debug slightly easie
PEL: Put validation fail details into journal msg
In the PEL section classes, move some journal fields from the journal metadata section into the journal message itself, to make debug slightly easier.
Specifically, this is just for when unflattening or validating the sections fail.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I6d5661015b5ce5c07ed2fd6eb7ce864d0c620092
show more ...
|
288f432b | 05-Jan-2023 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Add journal capture to some msg reg entries
Start capturing the journal for some PELs. The ones I added it for were the ones were I felt I could decide myself that they would be useful, such a
PEL: Add journal capture to some msg reg entries
Start capturing the journal for some PELs. The ones I added it for were the ones were I felt I could decide myself that they would be useful, such as for InternalFailure, device access errors, phosphor-logging errors, and some state manager errors.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I86b297814c18fb3c8a332b3129082452d158b02e
show more ...
|
9d921096 | 15-Dec-2022 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Capture the journal in UserData sections
If a PEL message registry entry has a 'JournalCapture' section, capture the listed portions of the journal in UserData sections for that error.
If the
PEL: Capture the journal in UserData sections
If a PEL message registry entry has a 'JournalCapture' section, capture the listed portions of the journal in UserData sections for that error.
If the JSON looks like:
"JournalCapture": { "NumLines": 30 }
Then the code will capture the previous 30 lines from the journal into a single UserData section.
If the JSON looks like:
"JournalCapture": { "Sections": [ { "SyslogID": "phosphor-bmc-state-manager", "NumLines": 20 }, { "SyslogID": "phosphor-log-manager", "NumLines": 15 } ] }
Then the code will create two UserData sections, the first with the most recent 20 lines from phosphor-bmc-state-manager, and the second with 15 lines from phosphor-log-manager.
If a section would cause the PEL to exceed its maximum size of 16KB, it will be dropped. While the UserData class does have a shrink() method, it prunes data from the end, which would cause the most recent journal entries to be removed, which could be misleading.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I2ecbd8002b0e7087eb166a1219c6ab9da14a122a
show more ...
|
271d143d | 18-Jan-2023 |
Matt Spinler <spinler@us.ibm.com> |
Move journal sync function to util.cpp
Move it out of log_manager.cpp so other code will be able to call it.
The code itself wasn't changed, though a comment was modified, as it is now a utility fu
Move journal sync function to util.cpp
Move it out of log_manager.cpp so other code will be able to call it.
The code itself wasn't changed, though a comment was modified, as it is now a utility function it may no longer just be called when an error log is created.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I33a20c1a68059fd50678464776e88168ce93d030
show more ...
|
711f1129 | 15-Dec-2022 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Read the journal info from the registry
Add support to the Registry class to read the JournalCapture information out of the registry entry for an error if it is there. This will then be used b
PEL: Read the journal info from the registry
Add support to the Registry class to read the JournalCapture information out of the registry entry for an error if it is there. This will then be used by the PEL class when creating a PEL.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I529e4fb352c6eb33ad73b2a04ac4467710865139
show more ...
|
f22b4a1e | 15-Dec-2022 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Define JSON schema to capture the journal
This chain of commits is adding the functionality to be able to capture portions of the journal into PEL UserData sections by defining it in the messag
PEL: Define JSON schema to capture the journal
This chain of commits is adding the functionality to be able to capture portions of the journal into PEL UserData sections by defining it in the message registry entry for an error.
This commit updates the JSON schema for it, and the README.
From the README, examples are:
"JournalCapture": { "NumLines": 30 }
"JournalCapture": { "Sections": [ { "SyslogID": "phosphor-bmc-state-manager", "NumLines": 20 }, { "SyslogID": "phosphor-log-manager", "NumLines": 15 } ] }
The first example will capture the previous 30 lines from the journal into a single UserData section.
The second example will create two UserData sections, the first with the most recent 20 lines from phosphor-bmc-state-manager, and the second with 15 lines from phosphor-log-manager.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I005a84547b43887a5f746832c68f4b40b6334404
show more ...
|
d96fa60d | 15-Dec-2022 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Create class to read from the journal
Create a Journal class that can extract messages out of the journal and return them as a vector of strings that look like:
"Dec 14 15:58:17 systemd[1]: sy
PEL: Create class to read from the journal
Create a Journal class that can extract messages out of the journal and return them as a vector of strings that look like:
"Dec 14 15:58:17 systemd[1]: systemd-tmpfiles-clean.service: Deactivated successfully."
It can either grab the previous N entries, or the previous N entries that match a specific SYSLOG_IDENTIFIER value.
The class follows the same strategy as the DataInterface class where a base class pointer is passed into the PEL Manager class so that during unit test it can be mocked.
Future commits will capture the journal into PEL UserData sections.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I9f4bb304c4b213165049fa00de2e62f962ae67f1
show more ...
|
80129fe8 | 19-Jan-2023 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Don't partial match on peltool -i <id>
Previously, peltool -i <PEL ID> would still display a PEL if the ID passed in was just a substring of the PEL ID.
For example, peltool -i 0x1 would print
PEL: Don't partial match on peltool -i <id>
Previously, peltool -i <PEL ID> would still display a PEL if the ID passed in was just a substring of the PEL ID.
For example, peltool -i 0x1 would print the first PEL it found that had an ID that ended with '1'.
Fix this so that the ID passed in has to be the full 8 characters so it won't match on a partial ID. Also rename the function that checks for the match to reflect that it is doing a match for a PEL ID.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I3abfb88c47eadc23ef3c79ca184d0b38d3e4d3fe
show more ...
|
32a6df6c | 12-Jan-2023 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Fix memory leak in GetPEL D-Bus method
The GetPEL D-Bus method returns a file descriptor to the PEL data. While it was closing the file descriptor so those didn't leak, it wasn't calling fclose
PEL: Fix memory leak in GetPEL D-Bus method
The GetPEL D-Bus method returns a file descriptor to the PEL data. While it was closing the file descriptor so those didn't leak, it wasn't calling fclose() after an fopen() which did leak about 300 bytes per call, if I interpreted the valgrind output correctly.
Since all the code needs anyway is the file description, just use open() instead of fopen().
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ia5f4d01c35ac0135a70aa30488fcf2666ca82dc5
show more ...
|
42517c27 | 12-Jan-2023 |
Matt Spinler <spinler@us.ibm.com> |
Fix memory leak in Entry::getEntry()
The getEntry() function is a D-Bus method that returns a file descriptor. While the file descriptor was being closed after the method return was sent so descrip
Fix memory leak in Entry::getEntry()
The getEntry() function is a D-Bus method that returns a file descriptor. While the file descriptor was being closed after the method return was sent so descriptors didn't leak, an fclose() was never called which appears to leak a bit over 300 bytes according to valgrind.
Just use open() instead, as the code doesn't actually need to read the file contents anyway.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Icbe1cd157054f1842aa5b90535f0e3f48db6460a
show more ...
|