entity-manager unexpected handling of template parameters
James Feist
james.feist at linux.intel.com
Sat Aug 10 04:22:56 AEST 2019
On 8/9/19 9:53 AM, Patrick Venture wrote:
> Given the following:
>
> busctl introspect --no-pager xyz.openbmc_project.FruDevice
> /xyz/openbmc_project/FruDevice/Altie
> NAME TYPE SIGNATURE RESULT/VALUE
> FLAGS
> org.freedesktop.DBus.Introspectable interface - -
> -
> .Introspect method - s
> -
> org.freedesktop.DBus.Peer interface - -
> -
> .GetMachineId method - s
> -
> .Ping method - -
> -
> org.freedesktop.DBus.Properties interface - -
> -
> .Get method ss v
> -
> .GetAll method s a{sv}
> -
> .Set method ssv -
> -
> .PropertiesChanged signal sa{sv}as -
> -
> xyz.openbmc_project.FruDevice interface - -
> -
> .ADDRESS property u 82
> emits-change
> .BOARD_LANGUAGE_CODE property s "25"
> emits-change
> .BOARD_MANUFACTURER property s "Inventec"
> emits-change
> .BOARD_MANUFACTURE_DATE property s "Thu Jul 11
> 17:09:00 2019" emits-change
> .BOARD_PART_NUMBER property s "1051867-01"
> emits-change
> .BOARD_PRODUCT_NAME property s "Altie"
> emits-change
> .BOARD_SERIAL_NUMBER property s
> "ALTIVT192700026" emits-change
> .BUS property u 1
> emits-change
> .Common_Format_Version property s "1"
> emits-change
>
> I expected entity-manager with this profile to populate dbus properly:
> configurations/altie.json
> {
> "Name" : "Altie",
> "Probe" : "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Altie'})",
> "Type": "Board",
> "xyz.openbmc_project.Inventory.Decorator.Asset": {
> "Manufacturer": "$BOARD_MANUFACTURER",
> "Model": "$BOARD_PRODUCT_NAME",
> "PartNumber": "$BOARD_PART_NUMBER",
> "SerialNumber": "$BOARD_SERIAL_NUMBER"
> }
> }
>
> Instead:
> root at semitruck:~# busctl introspect --no-pager
> xyz.openbmc_project.EntityManager
> /xyz/openbmc_project/inventory/system/board/Altie
> NAME TYPE SIGNATURE
> RESULT/VALUE FLAGS
> org.freedesktop.DBus.Introspectable interface - -
> -
> .Introspect method - s
> -
> org.freedesktop.DBus.Peer interface - -
> -
> .GetMachineId method - s
> -
> .Ping method - -
> -
> org.freedesktop.DBus.Properties interface - -
> -
> .Get method ss v
> -
> .GetAll method s
> a{sv} -
> .Set method ssv -
> -
> .PropertiesChanged signal sa{sv}as -
> -
> xyz.openbmc_project.AddObject interface - -
> -
> .AddObject method a{sv} -
> -
> xyz.openbmc_project.Inventory.Decorator.Asset interface - -
> -
> .Manufacturer property s
> "$BOARD_MANUFACTURER" emits-change
> .Model property s
> "$BOARD_PRODUCT_NAME" emits-change
> .PartNumber property s
> "$BOARD_PART_NUMBER" emits-change
> .SerialNumber property s
> "$BOARD_SERIAL_NUMBER" emits-change
> xyz.openbmc_project.Inventory.Item.Board interface - -
> -
> .Name property s
> "Altie" emits-change
> .Probe property s
> "xyz.openbmc_project.FruDevice({\'BOA... emits-change
> .Type property s
> "Board" emits-change
>
> I must be doing something obvious and silly. Please advise.
Entity-manager caches the result and only updates if etc/os-release
changes. There is a version file in /var/configuration/version, if you
delete this it'll rescan fresh. It looks right to me.. so I imagine this
is what is happening.
-James
>
> Thanks,
> Patrick
>
More information about the openbmc
mailing list