smbios-mdr: Add assoc-trim-path option and Board match

When a custom object path is being used (not the default object path
that comes from IPMI), allow the Board interface to be a valid
interface for associating the Inventory object with, not just the
System interface.

The purpose is to support large systems of the blade server style,
which have CPU and DIMM attached to a Board that is itself attached to
a System, not attached to the System directly.

Adding the assoc-trim-path option, disabled by default, to drop the
rightmost path component when setting up this association. This
bypasses the Board and associates the CPU and DIMM directly with the
underlying System.

Cleaning up the systemInfoUpdate() function, to correct a logic error
in which the match rule would not be set up for later if an exception
happened the first time. Also sleeping, to work around a race condition
with Object Mapper.

Tested: See this pastebin for run on "platform10" and "platform11"
https://paste.googleplex.com/5818376734113792

Patch Tracking Bug: b/322729266
Upstream info / review: https://gerrit.openbmc.org/c/openbmc/smbios-mdr/+/69054
Upstream-Status: Submitted
Justification: Awaiting upstream review

Google-Bug-Id: 312510295
Change-Id: Ic9ae280babae137ad916ae9cf193e5a340b95380
Signed-off-by: Josh Lehan <krellan@google.com>
2 files changed
tree: d82acd2ba0b3e9136a7f7c5af0dd416cfc1ee3fe
  1. conf/
  2. dynamic-layers/
  3. recipes-bsp/
  4. recipes-connectivity/
  5. recipes-core/
  6. recipes-devtools/
  7. recipes-extended/
  8. recipes-google/
  9. recipes-kernel/
  10. recipes-phosphor/
  11. recipes-tpm1/
  12. LICENSE
  13. README.md
README.md

meta-gbmc-staging

This repository contains additions to the openbmc/meta-google layer that are not yet ready for OpenBMC inclusion.

How to use this layer

  1. Clone openbmc/openbmc from GitHub.
  2. Clone this layer from GitHub into a subdirectory of openbmc.