commit | 4c65fcd0a0774644baf7712b8c5bee560c55188e | [log] [tgz] |
---|---|---|
author | Anupama B R <anupama.b.r1@ibm.com> | Mon Sep 01 08:09:00 2025 -0500 |
committer | SunnySrivastava <sunnsr25@in.ibm.com> | Fri Sep 05 06:19:01 2025 +0000 |
tree | 15c256a8cbbaf4e5fe0f3abd28640e31f04477fd | |
parent | ad7e25e99a267677f087fe145b588eb10d68d67c [diff] |
Update time stamp on VPD collection status update StartTime and CompletedTime indicates time duration for VPD collection, which is useful information to analyze how much time is taken to collect VPD for any FRU. This commits handles updating time stamp during VPD collection. Output: ``` Time stamps reset to zero, when FRU is deleted : Before Delete method: root@p11bmc:/tmp/images# busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/lcd_op_panel_hill xyz.openbmc_project.Common.Progress Status; busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/lcd_op_panel_hill xyz.openbmc_project.Common.Progress s "xyz.openbmc_project.Common.Progress.OperationStatus.Completed" NAME TYPE SIGNATURE RESULT/VALUE FLAGS .CompletedTime property t 1756486364 emits-change writable .StartTime property t 1756486363 emits-change writable .Status property s "xyz.openbmc_project.Common.Progress.Op… emits-change writable Call Delete FRU VPD method: root@p11bmc:/tmp/images# busctl call com.ibm.VPD.Manager /com/ibm/VPD/Manager com.ibm.VPD.Manager deleteFRUVPD o "/xyz/openbmc_project/inventory/system/chassis/motherboard/lcd_op_panel_hill" After Delete FRU VPD: root@p11bmc:/tmp/images# busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/lcd_op_panel_hill xyz.openbmc_project.Common.Progress Status; busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/lcd_op_panel_hill xyz.openbmc_project.Common.Progress s "xyz.openbmc_project.Common.Progress.OperationStatus.NotStarted" NAME TYPE SIGNATURE RESULT/VALUE FLAGS .CompletedTime property t 0 emits-change writable .StartTime property t 0 emits-change writable .Status property s "xyz.openbmc_project.Common.Progress.Op… emits-change writable Time stamp updated to all Sub FRUs, ex for failed VPD collection scenario: Before: busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_bot xyz.openbmc_project.Common.Progress Status; busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0 xyz.openbmc_project.Common.Progress Status; busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_top xyz.openbmc_project.Common.Progress Status s "xyz.openbmc_project.Common.Progress.OperationStatus.NotStarted" s "xyz.openbmc_project.Common.Progress.OperationStatus.NotStarted" s "xyz.openbmc_project.Common.Progress.OperationStatus.NotStarted" root@p11bmc:/tmp/images# busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0 xyz.openbmc_project.Common.Progress; busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_top xyz.openbmc_project.Common.Progress; busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_bot xyz.openbmc_project.Common.Progress NAME TYPE SIGNATURE RESULT/VALUE FLAGS .CompletedTime property t 0 emits-change writable .StartTime property t 0 emits-change writable .Status property s "xyz.openbmc_project.Common.Progress.Op… emits-change writable NAME TYPE SIGNATURE RESULT/VALUE FLAGS .CompletedTime property t 0 emits-change writable .StartTime property t 0 emits-change writable .Status property s "xyz.openbmc_project.Common.Progress.Op… emits-change writable NAME TYPE SIGNATURE RESULT/VALUE FLAGS .CompletedTime property t 0 emits-change writable .StartTime property t 0 emits-change writable .Status property s "xyz.openbmc_project.Common.Progress.Op… emits-change writable Call Collect FRU VPD method: root@p11bmc:/tmp/images# busctl call com.ibm.VPD.Manager /com/ibm/VPD/Manager com.ibm.VPD.Manager CollectFRUVPD o "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0" After Collect FRU VPD Failed: root@p11bmc:/tmp/images# busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0 xyz.openbmc_project.Common.Progress; busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_top xyz.openbmc_project.Common.Progress; busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_bot xyz.openbmc_project.Common.Progress NAME TYPE SIGNATURE RESULT/VALUE FLAGS .CompletedTime property t 1756486110 emits-change writable .StartTime property t 1756486110 emits-change writable .Status property s "xyz.openbmc_project.Common.Progress.Op… emits-change writable NAME TYPE SIGNATURE RESULT/VALUE FLAGS .CompletedTime property t 1756486110 emits-change writable .StartTime property t 1756486110 emits-change writable .Status property s "xyz.openbmc_project.Common.Progress.Op… emits-change writable NAME TYPE SIGNATURE RESULT/VALUE FLAGS .CompletedTime property t 1756486110 emits-change writable .StartTime property t 1756486110 emits-change writable .Status property s "xyz.openbmc_project.Common.Progress.Op… emits-change writable root@p11bmc:/tmp/images# busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_bot xyz.openbmc_project.Common.Progress Status; busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0 xyz.openbmc_project.Common.Progress Status; busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_top xyz.openbmc_project.Common.Progress Status s "xyz.openbmc_project.Common.Progress.OperationStatus.Failed" s "xyz.openbmc_project.Common.Progress.OperationStatus.Failed" s "xyz.openbmc_project.Common.Progress.OperationStatus.Failed" ``` Output: Change-Id: I835c1cc9082b8be411c4460aac3845fba249a120 Signed-off-by: Anupama B R <anupama.b.r1@ibm.com>
This repository hosts code for OpenPower and IBM IPZ format VPD parsers. Both OpenPower VPD and IPZ VPD formats are structured binaries that consist of records and keywords. A record is a collection of multiple keywords. More information about the format can be found at a broken link.
The repository consists of two distinct applications, which are:
This is a build-time YAML driven application that parses the OpenPower VPD format and uses the YAML configuration (see extra-properties-example.yaml and writefru.yaml) to determine:
The application instance must be passed in the file path to the VPD (this can, for example, be a sysfs path exposed by the EEPROM device driver) and also the D-Bus object path(s) that EEPROM data needs to be published under.
This parser is can be built by passing in the --enable-ibm-parser
configure option. This parser differs from the OpenPower VPD parser in the following ways:
#
and are > 255 bytes in length).Making the application runtime JSON driven allows us to support multiple systems (with different FRU configurations) to be supported in a single code image as well as making the application more flexible for future improvements.