Skip to content

Instantly share code, notes, and snippets.

@Krellan
Last active September 22, 2023 04:03
Show Gist options
  • Select an option

  • Save Krellan/6930bc2ed1ac16b93afcc3a12c02e545 to your computer and use it in GitHub Desktop.

Select an option

Save Krellan/6930bc2ed1ac16b93afcc3a12c02e545 to your computer and use it in GitHub Desktop.

Revisions

  1. Krellan revised this gist Sep 22, 2023. 1 changed file with 295 additions and 1 deletion.
    296 changes: 295 additions & 1 deletion gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -1 +1,295 @@
    TODO
    # Testing
    # https://gerrit.openbmc.org/c/openbmc/smbios-mdr/+/66559

    Sep 21 15:52:32 mymachine.example.com smbiosmdrv2app[14561]: SMBIOS data file path: /var/lib/smbios/smbios2
    Sep 21 15:52:32 mymachine.example.com smbiosmdrv2app[14561]: SMBIOS control object: /xyz/openbmc_project/Smbios/MDR_V2
    Sep 21 15:52:32 mymachine.example.com smbiosmdrv2app[14561]: SMBIOS inventory path: /xyz/openbmc_project/inventory/system

    Sep 21 15:52:35 mymachine.example.com smbiosmdrv2app[14561]: SMBIOS data file path: /var/lib/smbios/smbios-remote-host-1
    Sep 21 15:52:35 mymachine.example.com smbiosmdrv2app[14561]: SMBIOS control object: /xyz/openbmc_project/Smbios/system1
    Sep 21 15:52:35 mymachine.example.com smbiosmdrv2app[14561]: SMBIOS inventory path: /xyz/openbmc_project/inventory/system/board/myplatform/system1

    Sep 21 15:52:36 mymachine.example.com smbiosmdrv2app[14561]: SMBIOS data file path: /var/lib/smbios/smbios-remote-host-2
    Sep 21 15:52:36 mymachine.example.com smbiosmdrv2app[14561]: SMBIOS control object: /xyz/openbmc_project/Smbios/system2
    Sep 21 15:52:36 mymachine.example.com smbiosmdrv2app[14561]: SMBIOS inventory path: /xyz/openbmc_project/inventory/system/board/myplatform/system2

    root@mymachine:~# busctl --no-pager tree xyz.openbmc_project.Smbios.MDR_V2
    └─/xyz
    └─/xyz/openbmc_project
    ├─/xyz/openbmc_project/Smbios
    │ ├─/xyz/openbmc_project/Smbios/MDR_V2
    │ ├─/xyz/openbmc_project/Smbios/system1
    │ └─/xyz/openbmc_project/Smbios/system2
    └─/xyz/openbmc_project/inventory
    └─/xyz/openbmc_project/inventory/system
    └─/xyz/openbmc_project/inventory/system/board
    └─/xyz/openbmc_project/inventory/system/board/myplatform
    ├─/xyz/openbmc_project/inventory/system/board/myplatform/system1
    │ └─/xyz/openbmc_project/inventory/system/board/myplatform/system1/chassis
    │ └─/xyz/openbmc_project/inventory/system/board/myplatform/system1/chassis/motherboard
    │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system1/chassis/motherboard/bios
    │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system1/chassis/motherboard/cpu0
    │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system1/chassis/motherboard/dimm0
    │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system1/chassis/motherboard/dimm1
    │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system1/chassis/motherboard/pcieslot0
    │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system1/chassis/motherboard/pcieslot1
    └─/xyz/openbmc_project/inventory/system/board/myplatform/system2
    └─/xyz/openbmc_project/inventory/system/board/myplatform/system2/chassis
    └─/xyz/openbmc_project/inventory/system/board/myplatform/system2/chassis/motherboard
    ├─/xyz/openbmc_project/inventory/system/board/myplatform/system2/chassis/motherboard/bios
    ├─/xyz/openbmc_project/inventory/system/board/myplatform/system2/chassis/motherboard/cpu0
    ├─/xyz/openbmc_project/inventory/system/board/myplatform/system2/chassis/motherboard/dimm0
    ├─/xyz/openbmc_project/inventory/system/board/myplatform/system2/chassis/motherboard/dimm1
    ├─/xyz/openbmc_project/inventory/system/board/myplatform/system2/chassis/motherboard/pcieslot0
    ├─/xyz/openbmc_project/inventory/system/board/myplatform/system2/chassis/motherboard/pcieslot1
    root@mymachine:~#

    root@mymachine:~# busctl --no-pager introspect xyz.openbmc_project.Smbios.MDR_V2 /xyz/openbmc_project/Smbios
    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.Smbios.GetRecordType interface - - -
    .GetRecordType method u aa{sv} -
    root@mymachine:~#

    root@mymachine:~# busctl --no-pager introspect xyz.openbmc_project.Smbios.MDR_V2 /xyz/openbmc_project/Smbios/MDR_V2
    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.Smbios.MDR_V2 interface - - -
    .AgentSynchronizeData method - b -
    .FindIdIndex method ay i -
    .GetDataInformation method y ay -
    .GetDataOffer method - ay -
    .GetDirectoryInformation method y ay -
    .SendDataInformation method yyuuu b -
    .SendDirectoryInformation method yyyyay b -
    .SynchronizeDirectoryCommonData method yu au -
    .DirectoryEntries property y 0 emits-change writable
    root@mymachine:~#

    root@mymachine:~# busctl --no-pager introspect xyz.openbmc_project.Smbios.MDR_V2 /xyz/openbmc_project/Smbios/system1
    '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.Smbios.GetRecordType interface - - -
    .GetRecordType method u aa{sv} -
    xyz.openbmc_project.Smbios.MDR_V2 interface - - -
    .AgentSynchronizeData method - b -
    .FindIdIndex method ay i -
    .GetDataInformation method y ay -
    .GetDataOffer method - ay -
    .GetDirectoryInformation method y ay -
    .SendDataInformation method yyuuu b -
    .SendDirectoryInformation method yyyyay b -
    .SynchronizeDirectoryCommonData method yu au -
    .DirectoryEntries property y 1 emits-change writable
    root@mymachine:~#

    root@mymachine:~# busctl --no-pager introspect xyz.openbmc_project.Smbios.MDR_V2 /xyz/openbmc_project/Smbios/system2
    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.Smbios.GetRecordType interface - - -
    .GetRecordType method u aa{sv} -
    xyz.openbmc_project.Smbios.MDR_V2 interface - - -
    .AgentSynchronizeData method - b -
    .FindIdIndex method ay i -
    .GetDataInformation method y ay -
    .GetDataOffer method - ay -
    .GetDirectoryInformation method y ay -
    .SendDataInformation method yyuuu b -
    .SendDirectoryInformation method yyyyay b -
    .SynchronizeDirectoryCommonData method yu au -
    .DirectoryEntries property y 1 emits-change writable
    root@mymachine:~#

    root@mymachine:~# busctl --no-pager introspect xyz.openbmc_project.EntityManager /xyz/openbmc_project/inventory/system/board/myplatform/system2
    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.Association.Definitions interface - - -
    .Associations property a(sss) 2 "host_power" "system" "/xyz/openbmc_p… emits-change
    xyz.openbmc_project.Configuration.System interface - - -
    .Name property s "system2" emits-change
    .Type property s "System" emits-change
    xyz.openbmc_project.Configuration.System.Associations0 interface - - -
    .Forward property s "host_power" emits-change
    .Path property s "/xyz/openbmc_project/state/host2" emits-change
    .Reverse property s "system" emits-change
    xyz.openbmc_project.Configuration.System.Associations1 interface - - -
    .Forward property s "chassis_power" emits-change
    .Path property s "/xyz/openbmc_project/state/chassis2" emits-change
    .Reverse property s "system" emits-change
    xyz.openbmc_project.Inventory.Item.System interface - - -
    .Name property s "system2" emits-change
    .Type property s "System" emits-change
    root@mymachine:~#

    root@mymachine:~# busctl --no-pager introspect xyz.openbmc_project.Smbios.MDR_V2 /xyz/openbmc_project/inventory/system/board/myplatform/system1/chassis/motherboard/cpu0
    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.Association.Definitions interface - - -
    .Associations property a(sss) 1 "chassis" "processors" "/xyz/openbmc_… emits-change writable
    xyz.openbmc_project.Inventory.Connector.Slot interface - - -
    xyz.openbmc_project.Inventory.Decorator.Asset interface - - -
    .BuildDate property s "" emits-change writable
    .Manufacturer property s "MyVendor" emits-change writable
    .Model property s "" emits-change writable
    .PartNumber property s "867-5309" emits-change writable
    .SerialNumber property s "5" emits-change writable
    .SparePartNumber property s "" emits-change writable
    .SubModel property s "" emits-change writable
    xyz.openbmc_project.Inventory.Decorator.LocationCode interface - - -
    .LocationCode property s "CPU0" emits-change writable
    xyz.openbmc_project.Inventory.Decorator.Revision interface - - -
    .Version property s "MyVendor 1.0" emits-change writable
    xyz.openbmc_project.Inventory.Item interface - - -
    .Present property b true emits-change writable
    .PrettyName property s "" emits-change writable
    xyz.openbmc_project.Inventory.Item.Cpu interface - - -
    .Characteristics property as 5 "xyz.openbmc_project.Inventory.Item.C… emits-change writable
    .CoreCount property q 69 emits-change writable
    .EffectiveFamily property q 12345 emits-change writable
    .EffectiveModel property q 0 emits-change writable
    .Family property s "MyVendor Family" emits-change writable
    .Id property t 0 emits-change writable
    .MaxSpeedInMhz property u 1210000000 emits-change writable
    .Microcode property u 0 emits-change writable
    .Socket property s "CPU0" emits-change writable
    .Step property q 65535 emits-change writable
    .ThreadCount property q 42 emits-change writable

    root@mymachine:~# busctl --no-pager get-property xyz.openbmc_project.Smbios.MDR_V2 /xyz/openbmc_project/inventory/system/board/myplatform/system1/chassis/motherboard/cpu0 xyz.openbmc_project.Association.Definitions Associations
    a(sss) 1 "chassis" "processors" "/xyz/openbmc_project/inventory/system/board/myplatform/system1"
    root@mymachine:~# busctl --no-pager get-property xyz.openbmc_project.Smbios.MDR_V2 /xyz/openbmc_project/inventory/system/board/myplatform/system2/chassis/motherboard/cpu0 xyz.openbmc_project.Association.Definitions Associations
    a(sss) 1 "chassis" "processors" "/xyz/openbmc_project/inventory/system/board/myplatform/system2"
    root@mymachine:~#

    # Another run on a different machine configured differently

    Sep 21 16:33:15 anothermachine.example.com smbiosmdrv2app[5593]: SMBIOS data file path: /var/lib/smbios/smbios2
    Sep 21 16:33:15 anothermachine.example.com smbiosmdrv2app[5593]: SMBIOS control object: /xyz/openbmc_project/Smbios/MDR_V2
    Sep 21 16:33:15 anothermachine.example.com smbiosmdrv2app[5593]: SMBIOS inventory path: /xyz/openbmc_project/inventory/system

    Sep 21 16:33:23 anothermachine.example.com smbiosmdrv2app[5593]: SMBIOS data file path: /var/lib/smbios/smbios-remote-host-1
    Sep 21 16:33:23 anothermachine.example.com smbiosmdrv2app[5593]: SMBIOS control object: /xyz/openbmc_project/Smbios/system1
    Sep 21 16:33:23 anothermachine.example.com smbiosmdrv2app[5593]: SMBIOS inventory path: /xyz/openbmc_project/inventory/system/board/myplatform/system1

    Sep 21 16:33:30 anothermachine.example.com smbiosmdrv2app[5593]: Using data file path: /var/lib/smbios/smbios-remote-host-2
    Sep 21 16:33:30 anothermachine.example.com smbiosmdrv2app[5593]: Using V2 object path: /xyz/openbmc_project/Smbios/system2
    Sep 21 16:33:30 anothermachine.example.com smbiosmdrv2app[5593]: Using inventory path: /xyz/openbmc_project/inventory/system/board/myplatform/system2

    Sep 21 16:33:38 anothermachine.example.com smbiosmdrv2app[5593]: Using data file path: /var/lib/smbios/smbios-remote-host-3
    Sep 21 16:33:38 anothermachine.example.com smbiosmdrv2app[5593]: Using V2 object path: /xyz/openbmc_project/Smbios/system3
    Sep 21 16:33:38 anothermachine.example.com smbiosmdrv2app[5593]: Using inventory path: /xyz/openbmc_project/inventory/system/board/myplatform/system3

    root@anothermachine:~# busctl --no-pager tree xyz.openbmc_project.Smbios.MDR_V2
    └─/xyz
    └─/xyz/openbmc_project
    ├─/xyz/openbmc_project/Smbios
    │ ├─/xyz/openbmc_project/Smbios/MDR_V2
    │ ├─/xyz/openbmc_project/Smbios/system1
    │ ├─/xyz/openbmc_project/Smbios/system2
    │ └─/xyz/openbmc_project/Smbios/system3
    └─/xyz/openbmc_project/inventory
    └─/xyz/openbmc_project/inventory/system
    ├─/xyz/openbmc_project/inventory/system/board
    │ └─/xyz/openbmc_project/inventory/system/board/myplatform
    │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system1
    │ │ └─/xyz/openbmc_project/inventory/system/board/myplatform/system1/chassis
    │ │ └─/xyz/openbmc_project/inventory/system/board/myplatform/system1/chassis/motherboard
    │ │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system1/chassis/motherboard/bios
    │ │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system1/chassis/motherboard/cpu0
    │ │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system1/chassis/motherboard/cpu1
    │ │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system1/chassis/motherboard/dimm0
    │ │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system1/chassis/motherboard/dimm1
    │ │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system1/chassis/motherboard/pcieslot0
    │ │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system1/chassis/motherboard/pcieslot1
    │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system2
    │ │ └─/xyz/openbmc_project/inventory/system/board/myplatform/system2/chassis
    │ │ └─/xyz/openbmc_project/inventory/system/board/myplatform/system2/chassis/motherboard
    │ │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system2/chassis/motherboard/bios
    │ │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system2/chassis/motherboard/cpu0
    │ │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system2/chassis/motherboard/cpu1
    │ │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system2/chassis/motherboard/dimm0
    │ │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system2/chassis/motherboard/dimm1
    │ │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system2/chassis/motherboard/pcieslot0
    │ │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system2/chassis/motherboard/pcieslot1
    │ └─/xyz/openbmc_project/inventory/system/board/myplatform/system3
    │ └─/xyz/openbmc_project/inventory/system/board/myplatform/system3/chassis
    │ └─/xyz/openbmc_project/inventory/system/board/myplatform/system3/chassis/motherboard
    │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system3/chassis/motherboard/bios
    │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system3/chassis/motherboard/cpu0
    │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system3/chassis/motherboard/cpu1
    │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system3/chassis/motherboard/dimm0
    │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system3/chassis/motherboard/dimm1
    │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system3/chassis/motherboard/pcieslot0
    │ ├─/xyz/openbmc_project/inventory/system/board/myplatform/system3/chassis/motherboard/pcieslot1
    └─/xyz/openbmc_project/inventory/system/chassis
    └─/xyz/openbmc_project/inventory/system/chassis/motherboard
    ├─/xyz/openbmc_project/inventory/system/chassis/motherboard/bios
    ├─/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0
    ├─/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1
    ├─/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0
    ├─/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1
    ├─/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0
    ├─/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot1
    root@anothermachine:~#

    root@anothermachine:~# busctl --no-pager get-property xyz.openbmc_project.Smbios.MDR_V2 /xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0 xyz.openbmc_project.Association.Definitions Associations
    a(sss) 1 "chassis" "processors" "/xyz/openbmc_project/inventory/system/board/anotherplatform"
    root@anothermachine:~# busctl --no-pager get-property xyz.openbmc_project.Smbios.MDR_V2 /xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1 xyz.openbmc_project.Association.Definitions Associations
    a(sss) 1 "chassis" "processors" "/xyz/openbmc_project/inventory/system/board/anotherplatform"
    root@anothermachine:~#

    # Nice, it works!
  2. Krellan created this gist Sep 22, 2023.
    1 change: 1 addition & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1 @@
    TODO