tree 5069410cbd8d18ce71d6f5133027a29b886ba7f1
parent f64d4397f8a56034615041c06e4e6e7cb6713742
author Matt Spinler <spinler@us.ibm.com> 1614191581 -0600
committer Ed Tanous <ed@tanous.net> 1615497974 +0000

Do tmpl substitutions using all properties on path

The current code would substitute the template arguments in the JSON
files, such as $bus, by only looking at the properties of the interface
that passed the probe.

This commit will try to find a substitution using the properties of all
of the interfaces on the same object path as the interface that passed
the probe.  It does this by reading and storing the properties of all
interfaces that came back from the existing GetSubTree call that finds
the paths of the probed interfaces, instead of just limiting it to the
interfaces that were probed.  The template substitutions are then tried
on the properties of all interfaces until one is successful.

This change is being made so that the interface used in the probe
doesn't also need to contain properties for the device details, such as
the bus property, that otherwise wouldn't belong there.  For example,
the com.ibm.ipzvpd.VINI interface, which models EEPROM contents, is
currently used in probes on IBM systems, and with this change the bus
and address properties can now be on a separate interface, such as the
recently proposed xyz.openbmc_project.Inventory.Decorator.I2CDevice.

Tested:  Tested that the $bus template can be successfully filled in
with the Bus property from an interface other than the one the probe was
matched on.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Ic6f1539b38f6a4098f131d7f14cad6b6ddff041f
