561c0381 | 17-Nov-2020 |
Zane Shelley <zshelle@us.ibm.com> |
Update message registry for openpower-hw-diags
Signed-off-by: Zane Shelley <zshelle@us.ibm.com> Change-Id: Ie2d3a6d6183dcce60986a9e7855c71701cd24428 |
53ef1552 | 14-Oct-2020 |
Miguel Gomez <mgomez@mx1.ibm.com> |
Specify PEL callout priority and sort callouts.
Allow the priority to be passed in at creation time by calling the CALLOUT_PRIORITY keyword. When creating a PEL, callouts will always be sorted by pr
Specify PEL callout priority and sort callouts.
Allow the priority to be passed in at creation time by calling the CALLOUT_PRIORITY keyword. When creating a PEL, callouts will always be sorted by priority instead of creation time, the order is as follows: H,M,A,B,C,L.
Signed-off-by: Miguel Gomez <mgomez@mx1.ibm.com> Change-Id: I84345aaf3fad7b2e4958b698ab761966f499986b
show more ...
|
1ab6696f | 29-Oct-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Use the real system names property
There is now a 'Names' property on the new xyz.openbmc_project.Configuration.IBMCompatibleSystem interface that the DataInterface::getSystemNames function wil
PEL: Use the real system names property
There is now a 'Names' property on the new xyz.openbmc_project.Configuration.IBMCompatibleSystem interface that the DataInterface::getSystemNames function will read. The existing code was mostly a placeholder until the actual interface showed up on D-Bus.
Since the path that holds the interface is system specific, and the PEL code should only rarely need this, the code was changed to read it on demand instead of at caching it startup.
Since getSystemNames() no longer returns a cached value, the signature was changed slightly to remove the reference from the returned std::vector<std::string> value.
The UserHeader constructor used to make a call to getSystemNames every time, and that was changed to only call it when actually necessary, which is when there is a severity value defined in the message registry that depends on the system name.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I1d4f307ef38287b631f94dae2b8929307d129029
show more ...
|
80600195 | 23-Oct-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Update 2 symbolic FRUs in msg registry
Now that the code supports the UseInventoryLocCode property in the PEL message registry to specify that the location code for a symbolic FRU callout with
PEL: Update 2 symbolic FRUs in msg registry
Now that the code supports the UseInventoryLocCode property in the PEL message registry to specify that the location code for a symbolic FRU callout with a trusted location code should come from CALLOUT_INVENTORY_PATH, use this functionality in the 2 PELs that require it.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Idfcbbcab302cfe27d3f1253884bd6fc828522420
show more ...
|
f00f9d0f | 23-Oct-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Dynamic location code for registry callout
The PEL callout type 'symbolic FRU with trusted location code' previously had both the symoblic FRU name and the location code specified in the PEL me
PEL: Dynamic location code for registry callout
The PEL callout type 'symbolic FRU with trusted location code' previously had both the symoblic FRU name and the location code specified in the PEL message registry. However, there are cases where the location code is not known until runtime so it cannot be specified in the registry.
To solve this, create a boolean 'UseInventoryLocCode` key that can be used in the registry callout entry to specify that the location code to use for the callout should come from the FRU passed in using the CALLOUT_INVENTORY_PATH entry in the AdditionalData event log property. In this case, that FRU will not be added as a normal FRU callout as it would normally be otherwise. The registry that uses this must be the first one in the callout list.
For example: { "Priority": "high", "SymbolicFRUTrusted": "air_mover", "UseInventoryLocCode": true },
along with CALLOUT_INVENTORY_PATH=<processor 0 path>
would result in a symbolic FRU callout with the trusted location code being the processor 0 location code.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Iaf65c523803662313f2ad5e197262b9f4e722332
show more ...
|
7c9c07e8 | 22-Oct-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Add fan fault PEL registry entry
This error is created by phosphor-fan-monitor after a fan rotor fault.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I34445a6a8466844a916c0e11d61
PEL: Add fan fault PEL registry entry
This error is created by phosphor-fan-monitor after a fan rotor fault.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I34445a6a8466844a916c0e11d61c827b274565f6
show more ...
|
60d1c398 | 23-Sep-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Add fan missing PEL registry entry
This error is created by phosphor-fan-presence-tach after a fan has been unplugged for a certain amount of time.
It calls out the backplane as low. In the f
PEL: Add fan missing PEL registry entry
This error is created by phosphor-fan-presence-tach after a fan has been unplugged for a certain amount of time.
It calls out the backplane as low. In the future, this may be dependent on system/chassis type but that property is not available on D-bus yet.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I28738cb81d41f2f804f942d4a44f1aa125231b5e
show more ...
|
38caaf07 | 01-Sep-2020 |
Brandon Wyman <bjwyman@gmail.com> |
PEL: Add phospor-power PSU errors
Add entries to the message registry JSON file for power supply related errors that will be logged by the phosphor-psu-monitor application.
The multiple AC or input
PEL: Add phospor-power PSU errors
Add entries to the message registry JSON file for power supply related errors that will be logged by the phosphor-psu-monitor application.
The multiple AC or input voltage errors (11001510, 11001520, 11001530, 11001540) have been combined into one 0x15F0 error. The message registry does not allow for multiple uses of the same fault Name, and all of these errors result in the same PWRSPLY symbolic FRU call out.
The multiple 110015x1 errors have been combined into one 0x15F1 error. These errors should call out a specific power supply, using the CALLOUT_INVENTORY_PATH keyword.
The multiple 110015x2 errors have been combined into one 0x15F2 error. These errors will have multiple call outs. The failing part may be the power supply itself, or anything in the path from the BMC to the power supply. These errors should specify the call out via CALLOUT_DEV_PATH.
The multiple 110015x3 errors have been combined into one 0x15F3 error. These errors should also call out a specific power supply, using the CALLOUT_INVENTORY_PATH keyword.
Tested: * Ran the openpower-pels registry validation tool * Copy message_registry.json to /etc/phosphor-logging. * Use --enable-openpower-pel-extension to build binary. * Copy over phosphor-log-manager, daemon-reload, restart (prior added procedure used by new registry). * Created error logs for new message registry entries using the busctl tool to create the errors on the D-Bus interface. * Used peltool to verify correct PEL field values. NOTE: Inventory updates needed to get power supply location codes in call outs with CALLOUT_INVENTORY_PATH and CALLOUT_DEV_PATH.
Signed-off-by: Brandon Wyman <bjwyman@gmail.com> Change-Id: I4749f9e0696bea5aba4bc8480f866fc77d7db950
show more ...
|
ed32c8da | 01-Oct-2020 |
Harisuddin Mohamed Isa <harisuddin@gmail.com> |
peltool: Add option to print PEL hexdump
This adds the "-x" option to simply hexdump PELs instead of parsing and printing to JSON, for use with the --file, -i or -a options.
Signed-off-by: Harisudd
peltool: Add option to print PEL hexdump
This adds the "-x" option to simply hexdump PELs instead of parsing and printing to JSON, for use with the --file, -i or -a options.
Signed-off-by: Harisuddin Mohamed Isa <harisuddin@gmail.com> Change-Id: I13cc76ea36cca761ffa1cf3ab38a638e424bde83
show more ...
|
6853b82c | 29-Sep-2020 |
Brandon Wyman <bjwyman@gmail.com> |
PEL: PWRSPLY is a symbolic FRU not procedure
PWRSPLY was mistakenly added as a maintenance procedure when it is actually a symbolic FRU.
Signed-off-by: Brandon Wyman <bjwyman@gmail.com> Change-Id:
PEL: PWRSPLY is a symbolic FRU not procedure
PWRSPLY was mistakenly added as a maintenance procedure when it is actually a symbolic FRU.
Signed-off-by: Brandon Wyman <bjwyman@gmail.com> Change-Id: I8d8bc7223e082754ba2c9a8f960709ee693548b0
show more ...
|
58d3a988 | 17-Sep-2020 |
Harisuddin Mohamed Isa <harisuddin@gmail.com> |
PEL: peltool: Display PEL based on its BMC Log ID
This adds a new "--bmc-id" option in peltool to query PELs by their BMC Event Log ID.
Syntax:
peltool --bmc-id 123
Signed-off-by: Harisuddin Moha
PEL: peltool: Display PEL based on its BMC Log ID
This adds a new "--bmc-id" option in peltool to query PELs by their BMC Event Log ID.
Syntax:
peltool --bmc-id 123
Signed-off-by: Harisuddin Mohamed Isa <harisuddin@gmail.com> Change-Id: Ie9bced2f62804020245ad2635c4f10c65edc5a41
show more ...
|
bc1ad75e | 22-Sep-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Document CALLOUT_PRIORITY
In the README, explain how the CALLOUT_PRIORITY AdditionalData keyword can be used to dictate the priority of the callout passed in with CALLOUT_INVENTORY_PATH, and ho
PEL: Document CALLOUT_PRIORITY
In the README, explain how the CALLOUT_PRIORITY AdditionalData keyword can be used to dictate the priority of the callout passed in with CALLOUT_INVENTORY_PATH, and how callouts will be sorted by priority.
The update itself explains how this is useful.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I4a57f17891ece5eb7901f6b8ed32091378cb2505
show more ...
|
aadf28f5 | 29-Sep-2020 |
Harisuddin Mohamed Isa <harisuddin@gmail.com> |
peltool: Change getTextJSON() to split by newlines
This changes getTextJSON to split the input data using newline as separator instead of doing line breaks every 60 chars.
Input = "This is a line\n
peltool: Change getTextJSON() to split by newlines
This changes getTextJSON to split the input data using newline as separator instead of doing line breaks every 60 chars.
Input = "This is a line\nThis is another line"
Output =
"Data": [ "This is a line", "This is another line" ]
Signed-off-by: Harisuddin Mohamed Isa <harisuddin@gmail.com> Change-Id: I3caedfbb075c10da96ee39e36367d2198b76b4b6
show more ...
|
44893cc9 | 26-Aug-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Implement CreatePELWithFFDCFiles
This D-Bus method on the org.open_power.Logging.PEL interface is the same as the already existing createWithFFDCFiles method on the xyz.openbmc_project.Logging.
PEL: Implement CreatePELWithFFDCFiles
This D-Bus method on the org.open_power.Logging.PEL interface is the same as the already existing createWithFFDCFiles method on the xyz.openbmc_project.Logging.Create interface, except it also returns the IDs of the newly created OpenBMC event log and PEL.
Code was added to track the IDs of the most recently added event log and PEL so they they can be returned by the function.
Change-Id: I3a1e0d93f97aa1953ff8b10293b47e28f79edfb1
show more ...
|
44fc3168 | 09-Jul-2020 |
Andrew Geissler <geissonator@yahoo.com> |
pel-quiesce: quiesce on error pels with callout
The PEL requirement is that if a nonInfo host PEL is logged, it has a callout of any type within it, and the QuiesceOnHwError is enabled, then the boo
pel-quiesce: quiesce on error pels with callout
The PEL requirement is that if a nonInfo host PEL is logged, it has a callout of any type within it, and the QuiesceOnHwError is enabled, then the boot block / quiesce functionality should be executed.
Tested:
1) Verified nothing occurs when QuiesceOnHwError is not enabled
2) Injected info PEL with no callout and unrecoverable error with no callout with QuiesceOnHwError enabled and verified no actions were taken.
3) Injected Error PEL with callout and QuiesceOnHwError enabled and verified boot block logic was enabled.
Error inject which will create PEL with callout: busctl call xyz.openbmc_project.Logging /xyz/openbmc_project/logging xyz.openbmc_project.Logging.Create Create ssa{ss} org.open_power.Logging.Error.TestError1 xyz.openbmc_project.Logging.Entry.Level.Error 0
Journal from fail: Sep 09 14:03:30 w56 phosphor-log-manager[264]: Created PEL 0x50000266 (BMC ID 340) with SRC BD802003 Sep 09 14:03:30 w56 phosphor-log-manager[264]: QuiesceOnHwError enabled, PEL severity not nonError, and callout is present Sep 09 14:03:30 w56 phosphor-log-manager[264]: QuiesceOnError set and callout present Sep 09 14:03:30 w56 systemd[1]: Reached target Quiesce Target.
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I09e3ced608ffd2661d9cf015a24d4e0d8a6a84bd
show more ...
|
90fb77c2 | 29-Jun-2020 |
Andrew Geissler <geissonator@yahoo.com> |
pel: fail boot on host errors
Document requirement that host PELs should cause the boot to fail if the QuiesceOnHwError setting is enabled
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Cha
pel: fail boot on host errors
Document requirement that host PELs should cause the boot to fail if the QuiesceOnHwError setting is enabled
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I917dc87cce4dc0e12a6fe13d961373053d0d9a8e
show more ...
|
9cc30076 | 16-Sep-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: createPELWithFFDCFiles stub
This is a new D-Bus method to create a PEL and openbmc event log and also return the ID of the created log and PEL.
As this is coreqed with the phosphor-dbus-interf
PEL: createPELWithFFDCFiles stub
This is a new D-Bus method to create a PEL and openbmc event log and also return the ID of the created log and PEL.
As this is coreqed with the phosphor-dbus-interfaces change that added this method, just a stub is going in now so it can go in as quick as possible to not hold up the PDI commit.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I88895a7f29241a5fbbc62b1fe6a0745d8dd9f052
show more ...
|
1f93c590 | 10-Sep-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Don't fix user specified action flags
Previously, the PEL object would never trust the action flags field specified in the PEL registry and would always set some of the flags in it itself based
PEL: Don't fix user specified action flags
Previously, the PEL object would never trust the action flags field specified in the PEL registry and would always set some of the flags in it itself based on a set of rules.
It turns out there are some cases where what the user needs doesn't match the rules, so now only fix up the action flags if they weren't specified in the registry and leave the flags alone if they were.
Most PELs in the registry should be able to leave out the action flags field and let the PEL code set them.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I80263d779c842acac042023c468b7e979ec7158c
show more ...
|
9e8b49e6 | 10-Sep-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Change peltool label for a procedure
In peltool, shorten the label for a maintenance procedure name from Procedure Number to just Procedure since Procedure Number isn't usually what these are c
PEL: Change peltool label for a procedure
In peltool, shorten the label for a maintenance procedure name from Procedure Number to just Procedure since Procedure Number isn't usually what these are called.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ic5c54edb5ce39dbc262364ea3c8a856208976d64
show more ...
|
59a33f18 | 03-Sep-2020 |
Brandon Wyman <bjwyman@gmail.com> |
PEL: Add PWRSPLY maintenance procedure
Maintenance procedures are part of the PEL callout section.
This procedure is used to indicate the problem may be due to the power supply cable seating, the p
PEL: Add PWRSPLY maintenance procedure
Maintenance procedures are part of the PEL callout section.
This procedure is used to indicate the problem may be due to the power supply cable seating, the power supply cable, the power source (PDU, UPS, customer power outlet, etc.), or the power supply.
Signed-off-by: Brandon Wyman <bjwyman@gmail.com> Change-Id: I9eb0810cebd7943f9c39acd9be5ccb66be7740fb
show more ...
|
386a61e6 | 13-Aug-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: ExtendedUserData section class
This class represents the Extended User Data section. This section is similar to the UserData class in that it stores free form FFDC data, except that it is mean
PEL: ExtendedUserData section class
This class represents the Extended User Data section. This section is similar to the UserData class in that it stores free form FFDC data, except that it is meant to be added to an already existing PEL by a creator subsystem that is different than the PEL creator's subsystem. As such, it stores the section creator's creator ID value as a field within the section, which the regular UserData class doesn't do.
The same parsers that run on the UserData section can also run on this section.
Change-Id: I8562a89141f0305e397703f0cb92a06eb9f10133
show more ...
|
afa2c799 | 27-Aug-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Look for JSON Guard & Deconfig fields
There are optional 'Guarded' and 'Deconfigured' fields in the callout JSON. If these are set, there are some bits in the SRC that should be set.
Signed-o
PEL: Look for JSON Guard & Deconfig fields
There are optional 'Guarded' and 'Deconfigured' fields in the callout JSON. If these are set, there are some bits in the SRC that should be set.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I1bde74094fc596f383d683722d769615cba56975
show more ...
|
b8cb60fe | 27-Aug-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Extract MRUs from callout JSON
The callout JSON can also contain MRU (Manufacturing Replaceable Unit) IDs and priorities that should be added to a callout along with the FRU.
Extract them from
PEL: Extract MRUs from callout JSON
The callout JSON can also contain MRU (Manufacturing Replaceable Unit) IDs and priorities that should be added to a callout along with the FRU.
Extract them from the JSON and add them to the callout if they are there.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I25b801d5fd4371719d7a4f39056cdc3d2bf29dfb
show more ...
|
3bdd0110 | 27-Aug-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Parse and add JSON callouts
In the SRC class, create callout objects for the callouts that were contained in the incoming JSON array. These can be procedure, symbolic FRU, or normal hardware F
PEL: Parse and add JSON callouts
In the SRC class, create callout objects for the callouts that were contained in the incoming JSON array. These can be procedure, symbolic FRU, or normal hardware FRU callouts.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I525f0f700508693c17b9987f555c0d917cf72fa6
show more ...
|
5a90a95b | 27-Aug-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Look for callouts in an FFDC JSON file
The PEL constructor takes a list of files that should be added as UserData sections for FFDC. If one of those files has its format set to JSON, and its s
PEL: Look for callouts in an FFDC JSON file
The PEL constructor takes a list of files that should be added as UserData sections for FFDC. If one of those files has its format set to JSON, and its subtype set to 0xCA, this will mean it contains a JSON array of callouts to add to the PEL.
This commit will look for that type and subtype, and then pass the callout JSON through to the SRC class. A future commit will add the callouts from the JSON to the PEL.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Iec0ca0ad0ae11cc957b8fda880d97116f342d72d
show more ...
|