diff options
| author | Deepak Kodihalli <dkodihal@in.ibm.com> | 2017-08-09 04:39:43 -0500 |
|---|---|---|
| committer | Deepak Kodihalli <dkodihal@in.ibm.com> | 2017-08-23 22:35:31 -0500 |
| commit | 0b6ca10033b4656661778742b48d06d7c2d7c990 (patch) | |
| tree | 6729ab22aa666186bb48c7e2f2e98defd9b7c6ad | |
| parent | b28990f35e1b9d932a1df83b1606f411ba70c637 (diff) | |
| download | phosphor-inventory-manager-0b6ca10033b4656661778742b48d06d7c2d7c990.tar.gz phosphor-inventory-manager-0b6ca10033b4656661778742b48d06d7c2d7c990.zip | |
pimgen: ignore sdbusplus::object_path
pimgen.py processes all d-bus interfaces defined by
phosphor-dbus-interfaces, not just the ones under the Inventory/
namespace, because the inventory objects can implement any d-bus
interface.
The interface xyz.openbmc_project.Association has a property of type
sdbusplus::object_path (a wrapper around std::string), which Cereal
can't understand (and asserts at compile time). As a temporary solution,
ignore this property type. It's safe to do that because
xyz.openbmc_project.Association is un-implemented interface.
Resolves openbmc/openbmc#957.
Change-Id: I85dcd7a5d0885b29718c60b5062c8b5c7770a1ec
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
| -rwxr-xr-x | pimgen.py | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -543,6 +543,16 @@ class Everything(Renderer): properties = parsed.get('properties', None) if not properties: continue + # Cereal can't understand the type sdbusplus::object_path. This + # type is a wrapper around std::string. Ignore interfaces having + # a property of this type for now. The only interface that has a + # property of this type now is xyz.openbmc_project.Association, + # which is an unused interface. No inventory objects implement + # this interface. + # TODO via openbmc/openbmc#2123 : figure out how to make Cereal + # understand sdbusplus::object_path. + if any('path' in p['type'] for p in properties): + continue interface_composite[i] = properties interfaces.append(i) |

