Add the Logging.IPMI interface
Adding an interface for the IPMI SEL Logger which provides methods
for IPMI Sensor D-Bus objects to add System and OEM SEL events
to the journal.
Related discussion at
https://lists.ozlabs.org/pipermail/openbmc/2018-September/013129.html
Change-Id: Idd15d92b95fcd4350d4d8ca15b34d864b0c2c507
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
diff --git a/xyz/openbmc_project/Logging/IPMI.interface.yaml b/xyz/openbmc_project/Logging/IPMI.interface.yaml
new file mode 100644
index 0000000..2b2e393
--- /dev/null
+++ b/xyz/openbmc_project/Logging/IPMI.interface.yaml
@@ -0,0 +1,77 @@
+description: >
+ Implement to provide an IPMI System Event Log (SEL) logging interface
+ under the path /xyz/openbmc_project/Logging/IPMI.
+
+ SEL records store system event information and will contain a record ID
+ and type followed by type-specific information. The type-specific
+ information includes a timestamp, generator ID (used to identify the
+ component that is adding the SEL record), sensor number, event
+ direction and event-specific data for system type events; or timestamp
+ and OEM data for OEM type events.
+
+ The interface allows adding system or OEM type events. For system type
+ events it requires a generator ID (0x20 for BMC), sensor D-Bus path,
+ event direction (assertion or de-assertion), and event specific data.
+ For OEM type events, it requires the record type and OEM data.
+
+ It will assign a record ID and timestamp automatically and return the
+ assigned record ID.
+methods:
+ - name: IpmiSelAdd
+ description: >
+ Log a system event record type SEL entry.
+ parameters:
+ - name: Message
+ type: string
+ description: >
+ The text to log for the event.
+ - name: Path
+ type: path
+ description: >
+ The object path that is generating the SEL entry.
+ - name: SELData
+ type: array[byte]
+ description: >
+ An array of up to 3 bytes of SEL event data.
+ - name: Assert
+ type: boolean
+ description: >
+ An indicator if the SEL event is asserting or de-asserting.
+ - name: GeneratorID
+ type: uint16
+ description: >
+ The Generator ID of the component requesting the new SEL entry.
+ In most cases this will be 0x20 (the BMC Generator ID).
+ returns:
+ - name: RecordID
+ type: uint16
+ description: >
+ The Record ID of the new SEL entry.
+ errors:
+ - xyz.openbmc_project.Common.Error.InternalFailure
+ - xyz.openbmc_project.Common.Error.InvalidArgument
+
+ - name: IpmiSelAddOem
+ description: >
+ Log an OEM record type SEL entry requested from external to the BMC.
+ parameters:
+ - name: Message
+ type: string
+ description: >
+ The text to log for the event.
+ - name: SELData
+ type: array[byte]
+ description: >
+ An array of up to 13 bytes of SEL event data.
+ - name: RecordType
+ type: byte
+ description: >
+ The OEM record type for the SEL entry.
+ returns:
+ - name: RecordID
+ type: uint16
+ description: >
+ The Record ID of the new SEL entry.
+ errors:
+ - xyz.openbmc_project.Common.Error.InternalFailure
+ - xyz.openbmc_project.Common.Error.InvalidArgument