#
fa2d962b |
| 30-Sep-2024 |
Patrick Williams <patrick@stwcx.xyz> |
log-manager: enable non-standard path for local tests
Enable the log-manager to be launched with a path other than `/var/phosphor-logging` to allow it to be ran on a development system for test purp
log-manager: enable non-standard path for local tests
Enable the log-manager to be launched with a path other than `/var/phosphor-logging` to allow it to be ran on a development system for test purposes. This required some refactoring throughout as to how paths were handled.
Tested:
After running tests, `/tmp/phosphor-logging` is populated with entries. Launching `./builddir/phosphor-log-manager /tmp/phosphor-logging`, the log-manager will have the entries on dbus:
``` $ busctl --user tree xyz.openbmc_project.Logging └─ /xyz └─ /xyz/openbmc_project └─ /xyz/openbmc_project/logging ├─ /xyz/openbmc_project/logging/entry │ ├─ /xyz/openbmc_project/logging/entry/100 │ ├─ /xyz/openbmc_project/logging/entry/101 │ ├─ /xyz/openbmc_project/logging/entry/102 │ ├─ /xyz/openbmc_project/logging/entry/103 ```
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I84968edeed0dcf73aaf8bb653060b6d3400b9b7b
show more ...
|
#
8d5f3a2b |
| 07-Jul-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Add PEL repository capping related fields
If not capped, the PEL repository would keep taking up more and more space as more PELs are added. In preparation for handling this, add a field to th
PEL: Add PEL repository capping related fields
If not capped, the PEL repository would keep taking up more and more space as more PELs are added. In preparation for handling this, add a field to the Repository class to track the total size that all PELs can take up and a field to track the maximum number of PELs that can be stored.
The size value is hardcoded to be 20MB (and 100KB in unit test), though a Repository class constructor allows the number to use to be passed in. The max number of PELs field is hardcoded to 3000 (100 in test) and this can also be changed in the constructor.
In the future if different systems or configurations require different values, then this could be set at configure time. This isn't done now because I want to only add PEL options to the common phosphor-logging configure.ac if absolutely necessary as the majority of phosphor-logging users don't use PELs.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I72609a727229f96bd8ac23a630f25fd8b5c73427
show more ...
|
#
0d804ef5 |
| 12-May-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Rename function that gets RO data path
It was just named after the message registry path, but soon other files will be in that same directory so make it more generic.
Signed-off-by: Matt Spinl
PEL: Rename function that gets RO data path
It was just named after the message registry path, but soon other files will be in that same directory so make it more generic.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I91117d685aec43f26b9fc6baa2955de3d1affde4
show more ...
|
#
367144cf |
| 19-Sep-2019 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Find an entry in the message registry JSON
The message registry is a JSON file that holds data required to create a PEL out of an OpenBMC event log. It includes fields like 'subsystem', 'event
PEL: Find an entry in the message registry JSON
The message registry is a JSON file that holds data required to create a PEL out of an OpenBMC event log. It includes fields like 'subsystem', 'event type', 'action flags', 'SRC reason code', etc.
Many fields in the message registry are optional, and a very minimal entry make look like:
{ "Name": "xyz.openbmc_project.Power.Error.Fault", "Subsystem": "power_supply", "ActionFlags": ["service_action", "report"],
"SRC": { "ReasonCode": "0x2030" } }
This commit adds support to look up a message registry entry based on an OpenBMC event log's 'Message' property (i.e. xyz.openbmc_project.Power.Error.Fault) and then fill in a structure with the fields found. Future commits will fill in the SRC related fields, as well as actually create the PEL.
The message registry file can be found on the BMC at: /usr/share/phosphor-logging/pels/message_registry.json.
For testing, users can put their own message_registry.json in /etc/phosphor-logging, and that will take precedence.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ie4195ed7e58ab6a231271f6b295e63b1d0a4cd78
show more ...
|
#
89fa082a |
| 17-Jul-2019 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Add repository to save PELs
Create the Repository class that can save PELs in (and later retrieve them from) the filesystem. It provides an add() method that can add a PEL object to the reposi
PEL: Add repository to save PELs
Create the Repository class that can save PELs in (and later retrieve them from) the filesystem. It provides an add() method that can add a PEL object to the repository.
Now, when the Manager class sees an OpenBMC event log created with the RAWPEL metadata in the AdditionalData property that points at a file that contains a PEL, it can save that PEL. Before the PEL is saved, the log ID and commit timestamp fields in the PEL will be updated - the log ID to a unique value, and the timestamp to the current time.
Change-Id: I8dbaddf0f155bcb6d40b933294ada83feb75ce53
show more ...
|
#
df13bdb6 |
| 10-Jul-2019 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Add function to generate unique PEL IDs
Create generatePELID() to return a unique 4B PEL ID every time it is called. It will start at a base value, and then increment by 1 each time. It uses a
PEL: Add function to generate unique PEL IDs
Create generatePELID() to return a unique 4B PEL ID every time it is called. It will start at a base value, and then increment by 1 each time. It uses a file to save the next value to use.
This will be used by the PEL handling code to create unique values for the error log ID field in the Private Header section.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I841a8dcc5dc48e2b663004be3dccfb114ba366f2
show more ...
|