diff options
author | Deepak Kodihalli <dkodihal@in.ibm.com> | 2017-03-16 06:32:12 -0500 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2017-03-16 14:55:10 -0400 |
commit | 1f09d4ae2aa35b469578ff284c98579d23cdac4d (patch) | |
tree | e414ee93b46a54a493a17551ae1fda2a1968c009 | |
parent | 3aa591fe9b9509fbdb0ea41ae6763448393294ac (diff) | |
download | talos-openbmc-1f09d4ae2aa35b469578ff284c98579d23cdac4d.tar.gz talos-openbmc-1f09d4ae2aa35b469578ff284c98579d23cdac4d.zip |
Add virtual/phosphor-logging-callouts
This virtual generates mappings between sysfs device paths and inventory
items.
Add a native recipe that builds the configuration from MRW. Set this
recipe as the default for OpenPOWER systems.
Resolves openbmc/openbmc#1093
Resolves openbmc/openbmc#1249
Change-Id: If67b4ef0850910a076ca212197a4bd0e704d0266
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
6 files changed, 62 insertions, 1 deletions
diff --git a/meta-phosphor/classes/phosphor-logging.bbclass b/meta-phosphor/classes/phosphor-logging.bbclass new file mode 100644 index 000000000..18f53d434 --- /dev/null +++ b/meta-phosphor/classes/phosphor-logging.bbclass @@ -0,0 +1 @@ +callouts_datadir="${datadir}/phosphor-logging/callouts" diff --git a/meta-phosphor/common/recipes-phosphor/logging/phosphor-logging-callouts-example-native.bb b/meta-phosphor/common/recipes-phosphor/logging/phosphor-logging-callouts-example-native.bb new file mode 100644 index 000000000..f76d202e1 --- /dev/null +++ b/meta-phosphor/common/recipes-phosphor/logging/phosphor-logging-callouts-example-native.bb @@ -0,0 +1,18 @@ +SUMMARY = "Generated callout information for phosphor-logging" +PR = "r1" + +inherit native +inherit obmc-phosphor-license +inherit phosphor-logging + +SRC_URI += "file://callouts.yaml" + +PROVIDES += "virtual/phosphor-logging-callouts" + +S = "${WORKDIR}" + +do_install() { + DEST=${D}${callouts_datadir} + install -d ${DEST} + install callouts.yaml ${DEST} +} diff --git a/meta-phosphor/common/recipes-phosphor/logging/phosphor-logging-callouts-example/callouts.yaml b/meta-phosphor/common/recipes-phosphor/logging/phosphor-logging-callouts-example/callouts.yaml new file mode 100644 index 000000000..5b92a04c4 --- /dev/null +++ b/meta-phosphor/common/recipes-phosphor/logging/phosphor-logging-callouts-example/callouts.yaml @@ -0,0 +1 @@ +/sys/devices/device: /system/chassis/motherboard/device diff --git a/meta-phosphor/common/recipes-phosphor/logging/phosphor-logging-callouts-mrw-native.bb b/meta-phosphor/common/recipes-phosphor/logging/phosphor-logging-callouts-mrw-native.bb new file mode 100644 index 000000000..49816260a --- /dev/null +++ b/meta-phosphor/common/recipes-phosphor/logging/phosphor-logging-callouts-mrw-native.bb @@ -0,0 +1,25 @@ +SUMMARY = "Generated callout information for phosphor-logging" +PR = "r1" + +inherit native +inherit obmc-phosphor-license +inherit phosphor-logging + +DEPENDS += " \ + mrw-native \ + mrw-perl-tools-native \ + " + +PROVIDES += "virtual/phosphor-logging-callouts" + +S = "${WORKDIR}" + +do_install() { + DEST=${D}${callouts_datadir} + install -d ${DEST} + + ${bindir}/perl-native/perl \ + ${bindir}/gen_callouts.pl \ + -m ${datadir}/obmc-mrw/${MACHINE}.xml \ + -o ${DEST}/callouts.yaml +} diff --git a/meta-phosphor/common/recipes-phosphor/logging/phosphor-logging.bb b/meta-phosphor/common/recipes-phosphor/logging/phosphor-logging.bb index 14f2e6ebb..1d059c409 100644 --- a/meta-phosphor/common/recipes-phosphor/logging/phosphor-logging.bb +++ b/meta-phosphor/common/recipes-phosphor/logging/phosphor-logging.bb @@ -8,6 +8,7 @@ inherit pythonnative inherit obmc-phosphor-license inherit obmc-phosphor-dbus-service inherit phosphor-dbus-interfaces +inherit phosphor-logging DBUS_SERVICE_${PN} += "xyz.openbmc_project.Logging.service" @@ -17,6 +18,7 @@ DEPENDS += "python-mako-native" DEPENDS += "python-pyyaml-native" DEPENDS += "sdbusplus sdbusplus-native" DEPENDS += "phosphor-dbus-interfaces" +DEPENDS += "virtual/phosphor-logging-callouts" RDEPENDS_${PN} += "sdbusplus phosphor-dbus-interfaces" PROVIDES += "virtual/obmc-logging-mgmt" RPROVIDES_${PN} += "virtual-obmc-logging-mgmt" @@ -26,4 +28,9 @@ SRCREV = "9cfe9f38d9ed2ddedea6d58040bed6bfc0831f08" S = "${WORKDIR}/git" -EXTRA_OECONF = "YAML_DIR=${STAGING_DIR_NATIVE}${yaml_dir}" +EXTRA_OECONF = " \ + YAML_DIR=${STAGING_DIR_NATIVE}${yaml_dir} \ + CALLOUTS_YAML=${STAGING_DIR_NATIVE}${callouts_datadir}/callouts.yaml \ + " + +TARGET_CXXFLAGS += "-DPROCESS_META" diff --git a/meta-phosphor/conf/distro/include/phosphor-defaults.inc b/meta-phosphor/conf/distro/include/phosphor-defaults.inc index d9d532a72..f78ea3328 100644 --- a/meta-phosphor/conf/distro/include/phosphor-defaults.inc +++ b/meta-phosphor/conf/distro/include/phosphor-defaults.inc @@ -116,6 +116,15 @@ PREFERRED_PROVIDER_virtual/phosphor-led-manager-config-native ?= \ PREFERRED_PROVIDER_virtual/phosphor-ipmi-sensor-inventory ?= \ "${@cf_enabled(d, 'obmc-mrw', 'phosphor-ipmi-sensor-inventory-mrw-native', 'phosphor-ipmi-sensor-inventory-example-native')}" +# The phosphor-logging application has a data driven plugin that adds FRU +# callout information to error logs, when applications generating error logs +# add the requisite callout metadata to the systemd journal. The plugin requires +# an input mapping of Linux sysfs devices to OpenBMC DBus objects. +# This virtual is a native recipe that provides that mapping by installing +# configuration files in the format and native sysroot location expected by +# the phosphor-logging build process in the native sysroot. +PREFERRED_PROVIDER_virtual/phosphor-logging-callouts ?= \ + "${@cf_enabled(d, 'obmc-mrw', 'phosphor-logging-callouts-mrw-native', 'phosphor-logging-callouts-example-native')}" OBMC_DBUS_PATH_ROOT ?= "/xyz/openbmc_project" OBMC_DBUS_IFACE_ROOT ?= "xyz.openbmc_project" |