summaryrefslogtreecommitdiffstats
path: root/meta-ibm/recipes-phosphor/logging
diff options
context:
space:
mode:
Diffstat (limited to 'meta-ibm/recipes-phosphor/logging')
-rw-r--r--meta-ibm/recipes-phosphor/logging/ibm-logging.bb79
-rw-r--r--meta-ibm/recipes-phosphor/logging/ibm-logging/com.ibm.Logging.service14
-rw-r--r--meta-ibm/recipes-phosphor/logging/ibm-logging/policyTable.json5
3 files changed, 98 insertions, 0 deletions
diff --git a/meta-ibm/recipes-phosphor/logging/ibm-logging.bb b/meta-ibm/recipes-phosphor/logging/ibm-logging.bb
new file mode 100644
index 000000000..e32678708
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/logging/ibm-logging.bb
@@ -0,0 +1,79 @@
+SUMMARY = "IBM enhanced error logging"
+DESCRIPTION = "Adds additional error logging functionality for IBM systems"
+PR = "r1"
+HOMEPAGE = "https://github.com/openbmc/ibm-logging"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+SRC_URI += "git://github.com/openbmc/ibm-logging"
+SRCREV = "34af47ff623ce077670d270693f36e4c51adfa10"
+
+inherit autotools
+inherit pkgconfig
+inherit pythonnative
+inherit obmc-phosphor-dbus-service
+inherit obmc-phosphor-systemd
+inherit phosphor-dbus-yaml
+
+DEPENDS += " \
+ ibm-dbus-interfaces \
+ phosphor-logging \
+ nlohmann-json \
+ autoconf-archive-native \
+ sdbusplus \
+ "
+
+RDEPENDS_${PN} += " \
+ phosphor-logging \
+ phosphor-dbus-interfaces \
+ sdbusplus \
+ "
+
+S = "${WORKDIR}/git"
+
+SRC_URI += "file://policyTable.json"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[policy-interface] = "--enable-policy-interface, --disable-policy-interface,,"
+
+SERVICE = "com.ibm.Logging.service"
+DBUS_SERVICE_${PN} += "${SERVICE}"
+
+#The link is so that this service will restart if phosphor-logging restarts.
+#The BindsTo in the service will not do the restart, it will only do the
+#original start and a stop.
+LOG_FMT = "../${SERVICE}:xyz.openbmc_project.Logging.service.wants/${SERVICE}"
+SYSTEMD_LINK_${PN} += "${LOG_FMT}"
+
+do_install_append(){
+
+ install -d ${D}${datadir}/ibm-logging
+
+ ${S}/condense_policy.py \
+ -p ${WORKDIR}/policyTable.json \
+ -c ${D}/${datadir}/ibm-logging/policy.json
+}
+
+#An optional task to generate a report on all of the errors
+#created by OpenBMC, and compare these errors to what is
+#in the error policy table
+do_report(){
+
+ ${S}/create_error_reports.py \
+ -p ${D}/${datadir}/ibm-logging/policy.json \
+ -y ${STAGING_DIR_NATIVE}${yaml_dir} \
+ -e ${WORKDIR}/build/all_errors.json \
+ -x ${WORKDIR}/build/policy_crosscheck.txt
+
+}
+
+addtask report
+
+#Collect all of the error YAML files into our recipe-sysroot-native dir.
+do_report[depends] = " \
+ ibm-logging:do_install \
+ phosphor-logging-error-logs-native:do_populate_sysroot \
+ phosphor-dbus-interfaces-native:do_populate_sysroot \
+ openpower-dbus-interfaces-native:do_populate_sysroot \
+ openpower-occ-control-native:do_populate_sysroot \
+ openpower-debug-collector-native:do_populate_sysroot \
+ "
diff --git a/meta-ibm/recipes-phosphor/logging/ibm-logging/com.ibm.Logging.service b/meta-ibm/recipes-phosphor/logging/ibm-logging/com.ibm.Logging.service
new file mode 100644
index 000000000..57ebc9973
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/logging/ibm-logging/com.ibm.Logging.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=IBM Log Manager
+After=xyz.openbmc_project.Logging.service
+BindsTo=xyz.openbmc_project.Logging.service
+
+[Service]
+ExecStart=/usr/bin/env ibm-log-manager
+SyslogIdentifier=ibm-log-manager
+Restart=always
+Type=dbus
+BusName={BUSNAME}
+
+[Install]
+WantedBy=xyz.openbmc_project.Logging.service
diff --git a/meta-ibm/recipes-phosphor/logging/ibm-logging/policyTable.json b/meta-ibm/recipes-phosphor/logging/ibm-logging/policyTable.json
new file mode 100644
index 000000000..677c02437
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/logging/ibm-logging/policyTable.json
@@ -0,0 +1,5 @@
+{
+ "_comment": "This file should be overridden with one from the machine layer.",
+ "events": {
+ }
+}
OpenPOWER on IntegriCloud