Skip to content

Instantly share code, notes, and snippets.

@Krellan
Last active September 22, 2023 04:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Krellan/6930bc2ed1ac16b93afcc3a12c02e545 to your computer and use it in GitHub Desktop.
Save Krellan/6930bc2ed1ac16b93afcc3a12c02e545 to your computer and use it in GitHub Desktop.
Testing MDRV2 with more than one instance at the same time
# 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!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment