History log of /openbmc/openpower-vpd-parser/wait-vpd-parser/src/ (Results 1 – 23 of 23)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
c53c47e519-Jan-2026 Souvik Roy <souvikroyofficial10@gmail.com>

Implement API to restart inventory manager service

This commit implements API to restart inventory manager service. Once
the backup inventory data is copied to primary path, the inventory
manager se

Implement API to restart inventory manager service

This commit implements API to restart inventory manager service. Once
the backup inventory data is copied to primary path, the inventory
manager service needs to be restarted so that it publishes the fresh
data on D-Bus.

Test:
```
- Installed BMC image on PST simics
- Created directory /var/lib/phosphor-data-sync/bmc_data_bkp/var/lib/phosphor-inventory-manager/xyz/openbmc_project/inventory/system/
and copied chassis1 directory from primary PIM path to this directory
- Ran vpd-tool dump object option to see VINI:CC, VINI:FN, etc keyword
values under /system/chassis1/motherboard
- Edited above keyword values under /system/chassis1/motherboard in the backup
inventory directory
- Restarted wait-vpd-parsers service
- Ran vpd-tool dump object option to see VINI:CC, VINI:FN, etc keyword
values updated as expected under /system/chassis1/motherboard
```

Change-Id: I866b9532812cf24dab6b5f2ff0396ac06c125d80
Signed-off-by: Souvik Roy <souvikroyofficial10@gmail.com>

show more ...

a933617b19-Jan-2026 Souvik Roy <souvikroyofficial10@gmail.com>

Implement API to restore inventory backup data

This commit implements API to restore inventory backup data from the
backup path to the primary path. In order for inventory manager service
to pick up

Implement API to restore inventory backup data

This commit implements API to restore inventory backup data from the
backup path to the primary path. In order for inventory manager service
to pick up the backed up data, the data must be copied to primary
inventory data primary path.

Test:
```
- Installed BMC image on PST simics
- Created directory /var/lib/phosphor-data-sync/bmc_data_bkp/var/lib/phosphor-inventory-manager/xyz/openbmc_project/inventory/system/
and copied chassis1 directory from primary PIM path to this directory
- Edited VINI:CC value under /system/chassis1/motherboard in the backup
inventory directory
- Restarted wait-vpd-parsers service
- Observed updated VINI:CC value under /system/chassis1/motherboard in
the primary inventory directory
- Observed all sub directories under /system/chassis1 got copied from
backup inventory path to primary inventory path
- Observed /system/chassis1 path got deleted on the backup inventory
path
```

Change-Id: Ibc5a7a7701b336dab8d55d703ca92a858ce1b58d
Signed-off-by: Souvik Roy <souvikroyofficial10@gmail.com>

show more ...

893c41ca09-Feb-2026 Alpana Kumari <alpankum@in.ibm.com>

Use BUSNAME for dbus method call

This commit modified the dbus calls in wait-vpd-parser. Replaced IFACE
with BUSNAME, as BUSNAME is defined in meson as 'BUS NAME FOR THE'
'SERVICE'.

Change-Id: I5e4

Use BUSNAME for dbus method call

This commit modified the dbus calls in wait-vpd-parser. Replaced IFACE
with BUSNAME, as BUSNAME is defined in meson as 'BUS NAME FOR THE'
'SERVICE'.

Change-Id: I5e46cb7d7680ee473aaa617822cccfe62a55ff04
Signed-off-by: Alpana Kumari <alpankum@in.ibm.com>

show more ...


/openbmc/openpower-vpd-parser/configuration/configuration.hpp
/openbmc/openpower-vpd-parser/configuration/ibm/50001000.json
/openbmc/openpower-vpd-parser/configuration/ibm/50001000_v2.json
/openbmc/openpower-vpd-parser/configuration/ibm/50001001.json
/openbmc/openpower-vpd-parser/configuration/ibm/50001001_v2.json
/openbmc/openpower-vpd-parser/configuration/ibm/50001002.json
/openbmc/openpower-vpd-parser/configuration/ibm/50003000.json
/openbmc/openpower-vpd-parser/configuration/ibm/50003000_v2.json
/openbmc/openpower-vpd-parser/configuration/ibm/60001000.json
/openbmc/openpower-vpd-parser/configuration/ibm/60001000_v2.json
/openbmc/openpower-vpd-parser/configuration/ibm/60001001.json
/openbmc/openpower-vpd-parser/configuration/ibm/60001001_v2.json
/openbmc/openpower-vpd-parser/configuration/ibm/60001002.json
/openbmc/openpower-vpd-parser/configuration/ibm/60002000.json
/openbmc/openpower-vpd-parser/configuration/ibm/60002000_v2.json
/openbmc/openpower-vpd-parser/configuration/ibm/bios_map_50001001.json
/openbmc/openpower-vpd-parser/service_files/wait-vpd-parsers.service
/openbmc/openpower-vpd-parser/vpd-manager/include/bios_handler.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/constants.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/dbus_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/oem-handler/ibm_handler.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/backup_restore.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/bios_handler.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/ddimm_parser.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/ipz_parser.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/listener.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/manager.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/parser.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/single_fab.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/worker.cpp
wait_vpd_parser.cpp
f509233413-Jan-2026 Alpana Kumari <alpu8007@gmail.com>

Logger Class Update

This commit is modifying logMessage API. The argument pelTuple changed
to optional, so that caller doesn't need to create the pelInfoTuple
structure. Instead, it can be created i

Logger Class Update

This commit is modifying logMessage API. The argument pelTuple changed
to optional, so that caller doesn't need to create the pelInfoTuple
structure. Instead, it can be created inside the logMessage API with
the sent details.

Test-
- Can see the PEL on PST simics.
```
"User Data 1": {
"Section Version": "1",
"Sub-section type": "1",
"Created by": "bmc error logging",
"DESCRIPTION": "ParseAndPublish VPD failed for [reason] Standard runtime exception. Reason: DBG: Alpana's patch testing",
"FileName": "/usr/src/debug/openpower-fru-vpd/1.0+git/vpd-manager/src/worker.cpp",
"FunctionName": "std::tuple<bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > vpd::Worker::parseAndPublishVPD(const std::string&)",
"InteranlRc": "0",
"UserData1": "",
"UserData2": ""
},

```

Change-Id: I3d5e3c749e93749f0ea7a88d88531a4b3faedc80
Signed-off-by: Alpana Kumari <alpu8007@gmail.com>

show more ...

3f0d539f02-Feb-2026 Sunny Srivastava <sunnsr25@in.ibm.com>

Revert "Logger Class Update"

The commit changes the signature of API resulting in all other calls to
fail. All the related changes need to be merged in a single shot.

This reverts commit 5c484e9e5a

Revert "Logger Class Update"

The commit changes the signature of API resulting in all other calls to
fail. All the related changes need to be merged in a single shot.

This reverts commit 5c484e9e5a399075ef26d6974ed5c1c7a486e45c.

Change-Id: If92cc13048878170f6ff883767752216410cf5c0
Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>

show more ...

5c484e9e13-Jan-2026 Alpana Kumari <alpu8007@gmail.com>

Logger Class Update

This commit is modifying logMessage API. The argument pelTuple changed
to optional, so that caller doesn't need to create the pelInfoTuple
structure. Instead, it can be created i

Logger Class Update

This commit is modifying logMessage API. The argument pelTuple changed
to optional, so that caller doesn't need to create the pelInfoTuple
structure. Instead, it can be created inside the logMessage API with
the sent details.

Test-
- Can see the PEL on huygens simics.
```
"User Data 1": {
"Section Version": "1",
"Sub-section type": "1",
"Created by": "bmc error logging",
"DESCRIPTION": "ParseAndPublish VPD failed for [reason] Standard runtime exception. Reason: DBG: Alpana's patch testing",
"FileName": "/usr/src/debug/openpower-fru-vpd/1.0+git/vpd-manager/src/worker.cpp",
"FunctionName": "std::tuple<bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > vpd::Worker::parseAndPublishVPD(const std::string&)",
"InteranlRc": "0",
"UserData1": "",
"UserData2": ""
},

```

Change-Id: I1b617ca611507d15e7592bc88a2995200feee06c
Signed-off-by: Alpana Kumari <alpu8007@gmail.com>

show more ...

e262862119-Jan-2026 Souvik Roy <souvikroyofficial10@gmail.com>

Implement API to check inventory backup path

This commit implements API to check inventory backup path to see if it
has any backup FRU VPD. This API is needed by wait-vpd-parsers service
to decide w

Implement API to check inventory backup path

This commit implements API to check inventory backup path to see if it
has any backup FRU VPD. This API is needed by wait-vpd-parsers service
to decide whether to restore any backed up FRU VPD or to proceed for FRU
VPD collection.

Test:
```
- Installed BMC image on PST simics
- Created directory /var/lib/phosphor-data-sync/bmc_data_bkp/var/lib/phosphor-inventory-manager/xyz/openbmc_project/inventory/system/
with no contents
- Restart wait-vpd-parsers service
- Observe this API returns false
- Created above directory with dummy sub directories chassis0,chassis1
- Restart wait-vpd-parsers service
- Observe this API returns true
```

Change-Id: Ieaa6ee4c0bc3d577d15a73b21b88dbd05be6cafa
Signed-off-by: Souvik Roy <souvikroyofficial10@gmail.com>

show more ...

b767f56c17-Dec-2025 Souvik Roy <souvikroyofficial10@gmail.com>

Inventory backup data restoration stub

This commit implements stub changes in wait-vpd-parsers service to check
for inventory backup data and restore it if found. On systems with
redundant BMCs, inv

Inventory backup data restoration stub

This commit implements stub changes in wait-vpd-parsers service to check
for inventory backup data and restore it if found. On systems with
redundant BMCs, inventory data will be synced from Active BMC to Passive
BMC by other service at a specific file path. When the old Passive BMC
is transitioning to Active, it needs to check for the backup data,
restore it and restart the inventory manager service. This commit only
includes stub changes, and actual changes will be handled in future
commits.

Change-Id: I1d22a4069614bed441b1b31fc02bc17c5279a5c8
Signed-off-by: Souvik Roy <souvikroyofficial10@gmail.com>

show more ...

7b1f035401-Dec-2025 Rekha Aparna <vrekhaaparna@ibm.com>

clear stale data on DBus

When BMC goes for a reboot, FRU collection may fail, or the FRU may be
absent. In such cases, the DBus may still hold data from a previous
boot. This commit fixes the above

clear stale data on DBus

When BMC goes for a reboot, FRU collection may fail, or the FRU may be
absent. In such cases, the DBus may still hold data from a previous
boot. This commit fixes the above issue by clearing stale DBus data in
the above cases.

Updated the deleteFruVpd API to utilize resetObjTreeVpd API to clear
data on the FRU and sub FRUs.

Updated the resetDataUnderPIM API to clear presence state only if the
FRU presence is handled by vpd-manager.

Change-Id: I3f9057ed60527dffd8ba56add93389cfe90770dd
Signed-off-by: Rekha Aparna <vrekhaaparna@ibm.com>

show more ...


/openbmc/openpower-vpd-parser/configuration/ibm/50001001_v2.json
/openbmc/openpower-vpd-parser/configuration/ibm/bios_map_70001000.json
/openbmc/openpower-vpd-parser/configuration/ibm/correlated_properties_76002000.json
/openbmc/openpower-vpd-parser/meson.options
/openbmc/openpower-vpd-parser/service_files/vpd-manager.service
/openbmc/openpower-vpd-parser/service_files/wait-vpd-parsers.service
/openbmc/openpower-vpd-parser/vpd-manager/include/constants.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/error_codes.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/listener.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/logger.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/types.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/common_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/json_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/vpd_specific_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/worker.hpp
/openbmc/openpower-vpd-parser/vpd-manager/meson.build
/openbmc/openpower-vpd-parser/vpd-manager/oem-handler/ibm_handler.cpp
/openbmc/openpower-vpd-parser/vpd-manager/oem-handler/ibm_handler.hpp
/openbmc/openpower-vpd-parser/vpd-manager/src/bios_handler.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/listener.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/logger.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/single_fab.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/worker.cpp
/openbmc/openpower-vpd-parser/vpd-tool/include/tool_constants.hpp
/openbmc/openpower-vpd-parser/vpd-tool/include/tool_utils.hpp
/openbmc/openpower-vpd-parser/vpd-tool/src/vpd_tool.cpp
prime_inventory.cpp
a39aafa304-Nov-2025 Rekha Aparna <vrekhaaparna@ibm.com>

Move Eventlogger as an utility file

Event Logger class is used for creating PELs. With new logger class
implementation, logging API will take care of logging to journal, or
file or creating PEL base

Move Eventlogger as an utility file

Event Logger class is used for creating PELs. With new logger class
implementation, logging API will take care of logging to journal, or
file or creating PEL based on the place holder passed to logging API.

Hence moving event logger as an utility file, so logger class can call
these PEL creation APIs to log PEL.

Change-Id: I0bd59f0b5ceae01a47dcb7f31d9d5e85acbfdb3e
Signed-off-by: Rekha Aparna <vrekhaaparna@ibm.com>

show more ...

b5fab80a05-Nov-2025 Sunny Srivastava <sunnsr25@in.ibm.com>

Remove reinitialisation of error code

The commit removes re-initialization of all the error code variables
before calling the utility API as utility APIs will internally reset
the error code before

Remove reinitialisation of error code

The commit removes re-initialization of all the error code variables
before calling the utility API as utility APIs will internally reset
the error code before setting it in case of any failure.

This will remove the overhead of caller to re-init the variable before
calling any utility API hence reducing the chance of any miss and
undefined behavior.

Change-Id: I426bbb6c17484a3da12dc6ddd2bccfaefbfc0bf5
Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>

show more ...

6256db9217-Oct-2025 Rekha Aparna <vrekhaaparna@ibm.com>

Error code for getExpandedLocationCode API

This commit updates getExpnadedLocationCode API to set error code in
case of error. This helps the caller of API to take action based on the
error code ret

Error code for getExpandedLocationCode API

This commit updates getExpnadedLocationCode API to set error code in
case of error. This helps the caller of API to take action based on the
error code returned from the API.

Change-Id: I1570e13ca782f9320f1fc7e43680807d232e6310
Signed-off-by: Rekha Aparna <vrekhaaparna@ibm.com>

show more ...

0f74056327-Oct-2025 Souvik Roy <souvikroyofficial10@gmail.com>

Fix CI error in populateInterfaces API

This commit fixes occasional CI failure due to use of uninitialized
variable in PrimeInventory::populateInterfaces API.

Change-Id: I1731946c4ca2d94a96ccfd1ee5

Fix CI error in populateInterfaces API

This commit fixes occasional CI failure due to use of uninitialized
variable in PrimeInventory::populateInterfaces API.

Change-Id: I1731946c4ca2d94a96ccfd1ee53a5d700e6fee64
Signed-off-by: Souvik Roy <souvikroyofficial10@gmail.com>

show more ...

d366222614-Oct-2025 Rekha Aparna <vrekhaaparna@ibm.com>

Error code for insertorMerge API

This commit updates insertOrMerge API to set error code in case of
error. This helps the caller of API to take action based on the error
code returned from the API.

Error code for insertorMerge API

This commit updates insertOrMerge API to set error code in case of
error. This helps the caller of API to take action based on the error
code returned from the API.

Change-Id: I4bd37c226a7f2f73076d811e641e39159eadf874
Signed-off-by: Rekha Aparna <vrekhaaparna@ibm.com>

show more ...

2c04eeb222-Oct-2025 Rekha Aparna <vrekhaaparna@ibm.com>

Error handling for resetDataUnderPIM API

This commit updates resetDataUnderPIM API to set error code in case of
error. This helps the caller of API to take action based on the error
code returned fr

Error handling for resetDataUnderPIM API

This commit updates resetDataUnderPIM API to set error code in case of
error. This helps the caller of API to take action based on the error
code returned from the API.

Change-Id: I71427b473d3094d0b2ea357cdde4d6c4d2627d2b
Signed-off-by: Rekha Aparna <vrekhaaparna@ibm.com>

show more ...

17ddfb5309-Oct-2025 Rekha Aparna <vrekhaaparna@ibm.com>

Error code for encodeKeyword API

This commit updates encodeKeyword APIs to set error code in case of
error. This helps the caller of API to take action based on the error
code returned from the API.

Error code for encodeKeyword API

This commit updates encodeKeyword APIs to set error code in case of
error. This helps the caller of API to take action based on the error
code returned from the API.

Change-Id: I0cba6191d2ec6ded8e793514086f3e62218cf893
Signed-off-by: Rekha Aparna <vrekhaaparna@ibm.com>

show more ...

61741a4416-Oct-2025 Anupama B R <anupama.b.r1@ibm.com>

Prime FRUs if only required

Add missed isPrimingRequired check from the previous commit and
optimize the return statement in the same API.

Change-Id: I6cf8228a98ef4dbfc6838ae7420fda5eebb5be16
Signe

Prime FRUs if only required

Add missed isPrimingRequired check from the previous commit and
optimize the return statement in the same API.

Change-Id: I6cf8228a98ef4dbfc6838ae7420fda5eebb5be16
Signed-off-by: Anupama B R <anupama.b.r1@ibm.com>

show more ...

ca738cf119-Sep-2025 Anupama B R <anupama.b.r1@ibm.com>

Implementation of priming in wait-vpd-parsers

As part of PST priming system inventory and FRUs VPD collection will be
part of systemd target, instead of being triggered internally by
vpd-manager.

T

Implementation of priming in wait-vpd-parsers

As part of PST priming system inventory and FRUs VPD collection will be
part of systemd target, instead of being triggered internally by
vpd-manager.

This commit implements priming system blueprint in wait-vpd-parsers
application and removes the priming from vpd-manager initialization
flow.

```
Testing performed:
1. Removed PIM cache path in the system.
2. Restarted PIM service.
systemctl restart xyz.openbmc_project.Inventory.Manager
3. Observed inventory paths are removed under PIM using below command
busctl tree xyz.openbmc_project.Inventory.Manager
3. Restarted wait-vpd-parsers service
systemctl restart wait-vpd-parsers
4. Observed that system is primed again with all inventory object paths, using below command
busctl tree xyz.openbmc_project.Inventory.Manager
```

Change-Id: Ic93f54e909a247587208082830c5ebbe48f69f50
Signed-off-by: Anupama B R <anupama.b.r1@ibm.com>

show more ...

c6159a2909-Oct-2025 Rekha Aparna <vrekhaaparna@ibm.com>

Move getErrCodeMsg API to common_utility

This commit moves the getErrCodeMsg API from vpd_specific_utility to
common_utility file, to make it accessible to the other utility files.

Change-Id: Ib0ae

Move getErrCodeMsg API to common_utility

This commit moves the getErrCodeMsg API from vpd_specific_utility to
common_utility file, to make it accessible to the other utility files.

Change-Id: Ib0aeeb2386ba2c55f2447d65a3be18b76eff46f3
Signed-off-by: Rekha Aparna <vrekhaaparna@ibm.com>

show more ...

445819fc18-Sep-2025 Anupama B R <anupama.b.r1@ibm.com>

Prime system blueprint from wait-vpd-parsers

This commit updates wait-vpd-parsers to prime system blueprint.
As part of PST VPD collection flow, priming inventory objects needs to
be triggered as a

Prime system blueprint from wait-vpd-parsers

This commit updates wait-vpd-parsers to prime system blueprint.
As part of PST VPD collection flow, priming inventory objects needs to
be triggered as a part of systemd target, instead of being triggered by
vpd-manager.
This commit only implements only stub APIs under PrimeInventory class.

Change-Id: I144b13192e9ce39461c331c51ed7d4d9e952809c
Signed-off-by: Anupama B R <anupama.b.r1@ibm.com>

show more ...


/openbmc/openpower-vpd-parser/configuration/ibm/60001000.json
/openbmc/openpower-vpd-parser/configuration/ibm/60001000_v2.json
/openbmc/openpower-vpd-parser/configuration/ibm/60001001.json
/openbmc/openpower-vpd-parser/configuration/ibm/60001001_v2.json
/openbmc/openpower-vpd-parser/configuration/ibm/60001002.json
/openbmc/openpower-vpd-parser/configuration/ibm/60002000.json
/openbmc/openpower-vpd-parser/configuration/ibm/60002000_v2.json
/openbmc/openpower-vpd-parser/configuration/ibm/vpd_inventory.json
/openbmc/openpower-vpd-parser/test/utest_json_utility.cpp
/openbmc/openpower-vpd-parser/vpd-manager/include/bios_handler.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/constants.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/error_codes.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/common_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/dbus_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/json_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/vpd_specific_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/worker.hpp
/openbmc/openpower-vpd-parser/vpd-manager/oem-handler/ibm_handler.cpp
/openbmc/openpower-vpd-parser/vpd-manager/oem-handler/ibm_handler.hpp
/openbmc/openpower-vpd-parser/vpd-manager/src/backup_restore.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/bios_handler.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/gpio_monitor.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/ipz_parser.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/manager.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/manager_main.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/parser.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/worker.cpp
/openbmc/openpower-vpd-parser/wait-vpd-parser/include/prime_inventory.hpp
/openbmc/openpower-vpd-parser/wait-vpd-parser/meson.build
prime_inventory.cpp
wait_vpd_parser.cpp
c0c007de29-Aug-2025 Souvik Roy <souvikroyofficial10@gmail.com>

Trigger all FRU VPD collection from wait-vpd-parser

This commit updates wait-vpd-parser to trigger FRU VPD collection.
As part of PST VPD collection flow, FRU VPD collection needs to be
triggered as

Trigger all FRU VPD collection from wait-vpd-parser

This commit updates wait-vpd-parser to trigger FRU VPD collection.
As part of PST VPD collection flow, FRU VPD collection needs to be
triggered as a part of systemd target, instead of being triggered
internally by vpd-manager. wait-vpd-parser service is triggered by
systemd and then it uses vpd-manager's CollectAllFruVpd Dbus API to
trigger FRU VPD collection.

Test:
```
- Patch wait-vpd-parser executable and wait-vpd-parsers.service into
rainiest simics
- Restart wait-vpd-parsers.service
- Observe FRU VPD collection is triggered
- While FRU VPD collection is in progress, observe
wait-vpd-parsers.service goes into retry loop and checks VPD
CollectionStatus
- Once FRU VPD collection is successful, observe
wait-vpd-parsers.service exits with code 0
```

Change-Id: I6aa5bc302429265faa0563d5e646c3bebd2fc38b
Signed-off-by: Souvik Roy <souvikroyofficial10@gmail.com>

show more ...

480807cf29-Aug-2025 Anupama B R <anupama.b.r1@ibm.com>

Use xyz interface in wait VPD parsers service

This commit adds change to use xyz.openbmc_project.Common.Progress
interface instead of com.ibm.VPD.Manager to get system VPD collection
status in wait

Use xyz interface in wait VPD parsers service

This commit adds change to use xyz.openbmc_project.Common.Progress
interface instead of com.ibm.VPD.Manager to get system VPD collection
status in wait VPD parser service.

Change-Id: Icba3dc15cdd1e04fb58cb59789d3449e8791beef
Signed-off-by: Anupama B R <anupama.b.r1@ibm.com>

show more ...

3e1cb49d06-Aug-2025 Souvik Roy <souvikroyofficial10@gmail.com>

Refactor wait-vpd-status from script to executable

This commit implements wait-vpd-status.sh logic as an application
written in C++. Moving the logic to C++ allows better error handling and
more fle

Refactor wait-vpd-status from script to executable

This commit implements wait-vpd-status.sh logic as an application
written in C++. Moving the logic to C++ allows better error handling and
more flexibility with respect to future requirements.

Test:
```
1. Ensure vpd-manager CollectionStatus property is in "Completed" state.
2. Run wait-vpd-parser executable
3. Observe executable waits for 2s, then reads vpd-manager
CollectionStatus property and outputs a trace saying VPD collection
is completed, and then exits with return code 0
4. Using busctl change vpd-manager CollectionStatus property to
"InProgress"
5. Run wait-vpd-parser executable
6. Observe executable waits for 2s, and reads vpd-manager
CollectionStatus property for a total of 100 retries. After 100
retries, it outputs a trace saying timeout and exits with return code 1
7. Using busctl change vpd-manager CollectionStatus property to
"InProgress"
8. Run wait-vpd-parser executable
9. Observe executable waits for 2s, and reads vpd-manager with retry
count starting from 100 and counting down.
10. Now change CollectionStatus property to "Completed"
11. Observe executable reads vpd-manager CollectionStatus property and
outputs a trace saying VPD collection is completed, and then exits
with return code 0.
```

Change-Id: Ifa96a1262b73f4eacc6e13d4e05c710d6e693035
Signed-off-by: Souvik Roy <souvikroyofficial10@gmail.com>

show more ...


/openbmc/openpower-vpd-parser/.clang-format
/openbmc/openpower-vpd-parser/.gitignore
/openbmc/openpower-vpd-parser/LICENSE
/openbmc/openpower-vpd-parser/OWNERS
/openbmc/openpower-vpd-parser/README.md
/openbmc/openpower-vpd-parser/configuration/configuration.hpp
/openbmc/openpower-vpd-parser/configuration/ibm/50001000.json
/openbmc/openpower-vpd-parser/configuration/ibm/50001000_v2.json
/openbmc/openpower-vpd-parser/configuration/ibm/50001001.json
/openbmc/openpower-vpd-parser/configuration/ibm/50001001_v2.json
/openbmc/openpower-vpd-parser/configuration/ibm/50001002.json
/openbmc/openpower-vpd-parser/configuration/ibm/50001_power_vs.json
/openbmc/openpower-vpd-parser/configuration/ibm/50003000.json
/openbmc/openpower-vpd-parser/configuration/ibm/50003000_v2.json
/openbmc/openpower-vpd-parser/configuration/ibm/50003_power_vs.json
/openbmc/openpower-vpd-parser/configuration/ibm/backup_restore_50001000.json
/openbmc/openpower-vpd-parser/configuration/ibm/backup_restore_50003000.json
/openbmc/openpower-vpd-parser/configuration/ibm/backup_restore_60004000.json
/openbmc/openpower-vpd-parser/configuration/ibm/correlated_properties.json
/openbmc/openpower-vpd-parser/configuration/ibm/vpd_inventory.json
/openbmc/openpower-vpd-parser/docs/backup-restore-config-json.md
/openbmc/openpower-vpd-parser/docs/system-config-json.md
/openbmc/openpower-vpd-parser/meson.build
/openbmc/openpower-vpd-parser/meson.options
/openbmc/openpower-vpd-parser/scripts/wait-vpd-status.sh
/openbmc/openpower-vpd-parser/service_files/system-vpd.service
/openbmc/openpower-vpd-parser/service_files/vpd-manager.service
/openbmc/openpower-vpd-parser/service_files/wait-vpd-parsers.service
/openbmc/openpower-vpd-parser/test/meson.build
/openbmc/openpower-vpd-parser/test/utest_ddimm_parser.cpp
/openbmc/openpower-vpd-parser/test/utest_ipz_parser.cpp
/openbmc/openpower-vpd-parser/test/utest_json_utility.cpp
/openbmc/openpower-vpd-parser/test/utest_keyword_parser.cpp
/openbmc/openpower-vpd-parser/test/utest_utils.cpp
/openbmc/openpower-vpd-parser/test/vpd_files/ddr4_ddimm.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ddr5_ddimm.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ddr5_ddimm_corrupted_index_2.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ddr5_ddimm_corrupted_index_235.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ddr5_ddimm_corrupted_index_2_3.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ddr5_ddimm_corrupted_index_4.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ipz_system.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ipz_system_corrupted_index_17.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ipz_system_corrupted_index_61.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ipz_system_corrupted_index_74.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ipz_system_corrupted_index_78_79.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ipz_system_min_record.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ipz_system_truncated.dat
/openbmc/openpower-vpd-parser/test/vpd_files/keyword.dat
/openbmc/openpower-vpd-parser/test/vpd_files/keyword_corrupted_index_0.dat
/openbmc/openpower-vpd-parser/test/vpd_files/keyword_corrupted_index_177.dat
/openbmc/openpower-vpd-parser/test/vpd_files/keyword_corrupted_index_178.dat
/openbmc/openpower-vpd-parser/test/vpd_files/keyword_corrupted_index_179.dat
/openbmc/openpower-vpd-parser/test/vpd_files/keyword_corrupted_index_19.dat
/openbmc/openpower-vpd-parser/test/vpd_files/keyword_corrupted_index_20.dat
/openbmc/openpower-vpd-parser/test/vpd_files/keyword_corrupted_index_24_large_size.dat
/openbmc/openpower-vpd-parser/test/vpd_files/keyword_corrupted_index_24_small_size.dat
/openbmc/openpower-vpd-parser/vpd-manager/include/backup_restore.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/bios_handler.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/constants.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/ddimm_parser.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/error_codes.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/event_logger.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/exceptions.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/gpio_monitor.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/ipz_parser.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/isdimm_parser.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/keyword_vpd_parser.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/listener.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/logger.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/manager.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/parser.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/parser_factory.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/parser_interface.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/single_fab.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/types.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/common_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/dbus_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/json_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/vpd_specific_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/worker.hpp
/openbmc/openpower-vpd-parser/vpd-manager/meson.build
/openbmc/openpower-vpd-parser/vpd-manager/oem-handler/ibm_handler.cpp
/openbmc/openpower-vpd-parser/vpd-manager/oem-handler/ibm_handler.hpp
/openbmc/openpower-vpd-parser/vpd-manager/src/backup_restore.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/bios_handler.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/ddimm_parser.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/event_logger.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/gpio_monitor.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/ipz_parser.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/isdimm_parser.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/keyword_vpd_parser.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/listener.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/logger.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/manager.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/manager_main.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/parser.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/parser_factory.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/single_fab.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/vpd_parser_main.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/worker.cpp
/openbmc/openpower-vpd-parser/vpd-tool/README.md
/openbmc/openpower-vpd-parser/vpd-tool/include/tool_constants.hpp
/openbmc/openpower-vpd-parser/vpd-tool/include/tool_types.hpp
/openbmc/openpower-vpd-parser/vpd-tool/include/tool_utils.hpp
/openbmc/openpower-vpd-parser/vpd-tool/include/vpd_tool.hpp
/openbmc/openpower-vpd-parser/vpd-tool/meson.build
/openbmc/openpower-vpd-parser/vpd-tool/src/vpd_tool.cpp
/openbmc/openpower-vpd-parser/vpd-tool/src/vpd_tool_main.cpp
/openbmc/openpower-vpd-parser/vpdecc/vpdecc.c
/openbmc/openpower-vpd-parser/vpdecc/vpdecc.h
/openbmc/openpower-vpd-parser/vpdecc/vpdecc_support.c
/openbmc/openpower-vpd-parser/vpdecc/vpdecc_support.h
/openbmc/openpower-vpd-parser/wait-vpd-parser/meson.build
wait_vpd_parser.cpp