openpower: Add CreatePELWithFFDCFiles method
This method will create a PEL and a corresponding OpenBMC event log.
It is similar to the CreateWithFFDCFiles method on the
xyz.openbmc_project.Logging.Create interface, except it returns the two
IDs that represent the created PEL and OpenBMC event log:
1. The OpenBMC event log ID
2. The PEL log ID
The event log creator may need one of these fields, for example to save
one of the IDs in a guard record related to the event log.
Change-Id: Iaab7042ebf8e922fae4aab46299b81f5e4f86caa
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
diff --git a/org/open_power/Logging/PEL.interface.yaml b/org/open_power/Logging/PEL.interface.yaml
index fd3be1c..c27934b 100644
--- a/org/open_power/Logging/PEL.interface.yaml
+++ b/org/open_power/Logging/PEL.interface.yaml
@@ -60,6 +60,60 @@
errors:
- xyz.openbmc_project.Common.Error.InvalidArgument
+ - name: CreatePELWithFFDCFiles
+ description: >
+ Creates an OpenBMC event log and a corresponding PEL. This method
+ returns the IDs of the created PEL and OpenBMC event log, unlike the
+ 'xyz.openbmc_project.Logging.Create.CreateWithFFDCFiles' method which
+ doesn't return anything.
+ parameters:
+ - name: Message
+ type: string
+ description: >
+ The Message property of the OpenBMC event log entry.
+ This is also the key into the PEL message registry.
+ - name: Severity
+ type: enum[xyz.openbmc_project.Logging.Entry.Level]
+ description: >
+ The Severity property of the event entry.
+ - name: AdditionalData
+ type: dict[string, string]
+ description: >
+ The AdditionalData property of the event entry.
+ e.g.:
+ {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ ends up in AdditionaData like:
+ ["KEY1=value1", "KEY2=value2"]
+ - name: FFDC
+ type: array[struct[enum[xyz.openbmc_project.Logging.Create.FFDCFormat], byte, byte, unixfd]]
+ description: >
+ File descriptors for any files containing FFDC, along with metadata
+ about the contents:
+
+ FFDCFormat- The format type of the contained data.
+ subType - The format subtype, used for the 'Custom' type.
+ version - The version of the data format, used for the 'Custom'
+ type.
+ unixfd - The file descriptor to the data file.
+
+ e.g.:
+ [
+ {"xyz.openbmc_project.Logging.Create.FFDCFormat.JSON", 0, 0, 5},
+ {"xyz.openbmc_project.Logging.Create.FFDCFormat.Custom", 1, 2, 6}
+ ]
+ returns:
+ - name: IDs
+ type: struct[uint32, uint32]
+ description: >
+ The IDs of the 2 created logs:
+ - OpenBMC event log ID
+ - PEL log ID: The unique ID of the PEL
+ Note that the PEL's platform log ID (PLID) field is always
+ equal to the PEL log ID for BMC created PELs.
+
enumerations:
- name: RejectionReason
description: >