History log of /openbmc/openpower-vpd-parser/vpd-manager/include/worker.hpp (Results 1 – 8 of 8)
Revision Date Author Comments
# fa47e6c0 20-Feb-2025 Souvik Roy <souvikroyofficial10@gmail.com>

Refactor insert or merge API exception handling

This commit refactors vpd specific utility API used to insert or merge
property map in interface map ,in order to handle any exceptions thrown
by it l

Refactor insert or merge API exception handling

This commit refactors vpd specific utility API used to insert or merge
property map in interface map ,in order to handle any exceptions thrown
by it locally. All utility methods should handle exceptions locally and
log a journal log in case of failure. The caller of the utility APIs
should check the return value to detect success/failure.

This commit also removes unnecessary declaration of this API in
worker.hpp

Test:
```
- Install bitbaked image on Everest
- Clear persistent PIM data on filesystem, restart PIM and then
vpd-manager services
- Check all interfaces under PIM like
LocationCode,Item,OperationalStatus,etc. are populated properly
```

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

show more ...


# 6a9553c8 07-Feb-2025 Souvik Roy <souvikroyofficial10@gmail.com>

Fix Present property update in prime inventory

This commit adds changes in vpd-manager prime inventory flow to skip
updating Present property for FRUs for which vpd-manager doesn't
handle Present pr

Fix Present property update in prime inventory

This commit adds changes in vpd-manager prime inventory flow to skip
updating Present property for FRUs for which vpd-manager doesn't
handle Present property.

This commit also adds changes to skip updating Present property for a
FRU if vpd-manager is not supposed to handle Present property for the
FRU, in the scenario where VPD parsing fails for the FRU.

Test:
```
Tested on an Everest system.
- Reboot BMC with Chassis Off and fan3 plugged in.
After reboot, fan3 name and Present property appears properly on GUI.
- Reboot BMC with Chassis Off and fan3 plugged out.
After reboot, fan3 name and Present property appears properly on GUI.
Fan Health shows critical on GUI.
- Reboot BMC with Chassis On and fan3 plugged out.
After reboot, fan3 name and Present property appears properly on GUI.
fan3 Health shows critical on GUI.
- Reboot BMC with Chassis On and fan3 plugged in.
After reboot, fan3 name and Present property appears properly on GUI.
- Recreate genesis boot scenario and reboot BMC with fan3 plugged in.
After reboot, fan3 name and Present property appears properly on GUI.
- Recreate genesis boot scenario and reboot BMC with fan3 plugged out.
After reboot, fan3 name and Present property appears properly on GUI.
fan3 Health shows critical on GUI.
```

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

show more ...


# 43fedabc 03-Feb-2025 Patrick Williams <patrick@stwcx.xyz>

clang-format: update latest spec and reformat

Copy the latest format file from the docs repository and apply.

Change-Id: Id8301a67d945f8a3d1ceb87ae59087100338119c
Signed-off-by: Patrick Williams <p

clang-format: update latest spec and reformat

Copy the latest format file from the docs repository and apply.

Change-Id: Id8301a67d945f8a3d1ceb87ae59087100338119c
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 1f4c8f81 23-Jan-2025 Souvik Roy <souvikroyofficial10@gmail.com>

Remove redundant async call in collection threads

This commit removes the redundant std:async call in the detached thread
launched for parsing and publishing the VPD for an individual FRU. Since
we

Remove redundant async call in collection threads

This commit removes the redundant std:async call in the detached thread
launched for parsing and publishing the VPD for an individual FRU. Since
we have a dedicated detached thread for each FRU, we can do VPD parse
and publish in a synchronous manner from the detached thread itself,
instead of launching a asynchronous task which adds unnecessary
performance cost. This commit also handles any exception thrown while
launching the detached thread for a FRU. In case launching detached
thread for a FRU fails, we add the EEPROM path of the FRU to a "failed
EEPROM" list. This list can be handled by Manager later on.

Test:
```
- Install bitbaked image on Everest system.

- Check vpd-manager service status:
root@p10bmc:~# systemctl show vpd-manager -p NRestarts
NRestarts=0

- Check BMC reaches ready state:
root@p10bmc:~# obmcutil state
CurrentBMCState : xyz.openbmc_project.State.BMC.BMCState.Ready
CurrentPowerState : xyz.openbmc_project.State.Chassis.PowerState.On
CurrentHostState : xyz.openbmc_project.State.Host.HostState.Running
BootProgress : xyz.openbmc_project.State.Boot.Progress.
ProgressStages.OSRunning
OperatingSystemState: xyz.openbmc_project.State.OperatingSystem.Status.
OSStatus.Inactive

-Check CollectionStatus property of vpd-manager D-Bus service:
root@p10bmc:~# busctl get-property com.ibm.VPD.Manager /com/ibm/VPD/
Manager com.ibm.VPD.Manager CollectionStatus
s "Completed"

- Check execution time change
Measure the time between vpd-manager event loop start and
CollectionStatus = Completed on a Everest system. Following figures were
measured across 3 reboots:
- On current code, (with the extra async call) it is 61 secs.
- With the changes in this PR, it is 60.33 secs.
```

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

show more ...


# 765cf7b8 04-Feb-2025 Sunny Srivastava <sunnsr25@in.ibm.com>

Scale down threads for collection at power on

In case where BMC reboots and VPD-Manager re-triggers the collection
process for the FRUs, number of threads has been restricted to 2 for
now (Just a lo

Scale down threads for collection at power on

In case where BMC reboots and VPD-Manager re-triggers the collection
process for the FRUs, number of threads has been restricted to 2 for
now (Just a lower value).

The thread count is configurable and can be updated as required.

This is required to scale down CPU utilization at power on.

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

show more ...


# 61611751 04-Feb-2025 Sunny Srivastava <sunnsr25@in.ibm.com>

Skip PCIe cards collection at power on

Collection of PCIe card is skipped in case of BMC reboot at chassis
power on.

Since PCIe cards are CMable and not hot pluggable, any removal or
addition of ca

Skip PCIe cards collection at power on

Collection of PCIe card is skipped in case of BMC reboot at chassis
power on.

Since PCIe cards are CMable and not hot pluggable, any removal or
addition of card will be handled in the CM flow. No need to explicit
collection when BMC is coming up while chassis is on.

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

show more ...


# d159bb49 08-Jan-2025 Sunny Srivastava <sunnsr25@in.ibm.com>

API to set present property

The commit add an API into worker class to set present property
over DBus for a given FRU.

It also implements change to set present property as false in
case any failure

API to set present property

The commit add an API into worker class to set present property
over DBus for a given FRU.

It also implements change to set present property as false in
case any failure is detected in the process of collecting VPD for
the FRU.

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

show more ...


# fa5e4d32 12-Mar-2023 Sunny Srivastava <sunnsr25@in.ibm.com>

Revamped code for VPD parser

The commit removes all the pre-existing code from the branch
and pushes the revamped code.

Major modification includes:
- Movement from multi exe to single daemon model

Revamped code for VPD parser

The commit removes all the pre-existing code from the branch
and pushes the revamped code.

Major modification includes:
- Movement from multi exe to single daemon model.
- Multithreaded approach to parse FRU VPD.
- Better error handling.
- Refactored code for performance optimization.

Note: This code supports all the existing functionalities as it is.

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

show more ...