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