tree be8fa1001ad8309917f5d382e8db06acc698e68d
parent 69f760240e8bf0937652a39a3fd81d8fb180179c
author Priyanga Ramasamy <priyanga24@in.ibm.com> 1641359643 -0600
committer Santosh Puranik <santosh.puranik@in.ibm.com> 1641474342 +0000

Move json symlink before populating dbus interfaces

This commit reorders the flow of ibm-read-vpd app execution by
first allowing the app to create symbolink link to the respective json
and then populate dbus interfaces by having the right json.

Without this change, only those motherboard subfrus which are present
in the default inventory json will gets its interfaces populated during
genesis boot. Thus leaving machine specific motherboard's subfru's
(powersupply, pcieslots, etc.,) dbus interfaces unpopulated.

With this change, all of the motherboard subfrus which are present in
the symlink json will get its interfaces populated on dbus during
genesis boot.

Test:
Tested on simics rainier2s2u. Able to see all of the interfaces of
motherboard's
subfrus after the genesis boot.

1. motherboard's subfru - powersupply0

root@p10bmc:~# busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0
NAME                                                  TYPE      SIGNATURE RESULT/VALUE                             FLAGS
com.ibm.ipzvpd.DINF                                   interface -         -                                        -
.FL                                                   property  ay        20 69 48 32 32 32 32 32 32 32 32 32 32 … emits-change writable
.RI                                                   property  ay        4 0 3 16 0                               emits-change writable
.RT                                                   property  ay        0                                        emits-change writable
com.ibm.ipzvpd.Location                               interface -         -                                        -
.LocationCode                                         property  s         "U78DA.ND0.1234567-E0"                   emits-change writable
com.ibm.ipzvpd.VINI                                   interface -         -                                        -
.B3                                                   property  ay        0                                        emits-change writable
.B4                                                   property  ay        0                                        emits-change writable
.B7                                                   property  ay        0                                        emits-change writable
.CC                                                   property  ay        4 53 49 69 57                            emits-change writable
.CE                                                   property  ay        0                                        emits-change writable
.CT                                                   property  ay        0                                        emits-change writable
.DR                                                   property  ay        6 73 66 77 32 80 83                      emits-change writable
.FG                                                   property  ay        0                                        emits-change writable
.FN                                                   property  ay        1 99                                     emits-change writable
.HE                                                   property  ay        0                                        emits-change writable
.HW                                                   property  ay        0                                        emits-change writable
.HX                                                   property  ay        0                                        emits-change writable
.PN                                                   property  ay        8 114 101 118 105 115 105 111 110        emits-change writable
.PR                                                   property  ay        0                                        emits-change writable
.RT                                                   property  ay        0                                        emits-change writable
.SN                                                   property  ay        12 89 76 49 48 75 115 101 114 105 97 10… emits-change writable
.TS                                                   property  ay        0                                        emits-change writable
.VN                                                   property  ay        0                                        emits-change writable
.VZ                                                   property  ay        0                                        emits-change writable
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)    3 "fault_led_group" "fault_inventory_ob… emits-change writable
xyz.openbmc_project.Inventory.Decorator.Asset         interface -         -                                        -
.BuildDate                                            property  s         ""                                       emits-change writable
.Manufacturer                                         property  s         ""                                       emits-change writable
.Model                                                property  s         "51E9"                                   emits-change writable
.PartNumber                                           property  s         "revision"                               emits-change writable
.SerialNumber                                         property  s         "serial"                                 emits-change writable
.SparePartNumber                                      property  s         "c"                                      emits-change writable
.SubModel                                             property  s         ""                                       emits-change writable
xyz.openbmc_project.Inventory.Decorator.LocationCode  interface -         -                                        -
.LocationCode                                         property  s         "U78DA.ND0.1234567-E0"                   emits-change writable
xyz.openbmc_project.Inventory.Item                    interface -         -                                        -
.Present                                              property  b         true                                     emits-change writable
.PrettyName                                           property  s         "powersupply0"                           emits-change writable
xyz.openbmc_project.Inventory.Item.PowerSupply        interface -         -                                        -
xyz.openbmc_project.Object.Enable                     interface -         -                                        -
.Enabled                                              property  b         false                                    emits-change writable
xyz.openbmc_project.Software.Version                  interface -         -                                        -
.Purpose                                              property  s         "xyz.openbmc_project.Software.Version.V… emits-change writable
.Version                                              property  s         "313033323330"                           emits-change writable
xyz.openbmc_project.State.Decorator.OperationalStatus interface -         -                                        -
.Functional                                           property  b         true                                     emits-change writable
root@p10bmc:~#

===========
2. motherboard's subfru - pcieslot0

root@p10bmc:~# busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0
NAME                                                  TYPE      SIGNATURE RESULT/VALUE                             FLAGS
com.ibm.ipzvpd.Location                               interface -         -                                        -
.LocationCode                                         property  s         "U78DA.ND0.1234567-P0-C0"                emits-change writable
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)    3 "fault_led_group" "fault_inventory_ob… emits-change writable
xyz.openbmc_project.Inventory.Decorator.LocationCode  interface -         -                                        -
.LocationCode                                         property  s         "U78DA.ND0.1234567-P0-C0"                emits-change writable
xyz.openbmc_project.Inventory.Item.PCIeSlot           interface -         -                                        -
.Generation                                           property  s         "xyz.openbmc_project.Inventory.Item.PCI… emits-change writable
.HotPluggable                                         property  b         false                                    emits-change writable
.Lanes                                                property  u         0                                        emits-change writable
.SlotType                                             property  s         "xyz.openbmc_project.Inventory.Item.PCI… emits-change writable
xyz.openbmc_project.Object.Enable                     interface -         -                                        -
.Enabled                                              property  b         false                                    emits-change writable
xyz.openbmc_project.State.Decorator.OperationalStatus interface -         -                                        -
.Functional                                           property  b         true                                     emits-change writable
xyz.openbmc_project.State.Decorator.PowerState        interface -         -                                        -
.PowerState                                           property  s         "xyz.openbmc_project.State.Decorator.Po… emits-change writable
root@p10bmc:~#

Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com>
Change-Id: I7a5c6dc23ef5b09a99f013c0540ecc59913c92c6
