#
043955d2 |
| 21-Jan-2025 |
Sunny Srivastava <sunnsr25@in.ibm.com> |
Handling of PELs while collecting system VPD
The commit updates handling of PEL in the path of system VPD collection. Any error in the flow needs to be handled at worker end and should not be propag
Handling of PELs while collecting system VPD
The commit updates handling of PEL in the path of system VPD collection. Any error in the flow needs to be handled at worker end and should not be propagated to Manager preventing service from failing.
Change-Id: Ia06e5a4debe2fd3f8541d7975509449e86b23fcc Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>
show more ...
|
#
adff7880 |
| 13-Mar-2025 |
Sunny Srivastava <sunnsr25@in.ibm.com> |
Check and update JSON symlink on every reboot
Symlink can exist whereas the underneath IM value can change in some scenarios. In such cases, even when the symlink is present, the file being pointed
Check and update JSON symlink on every reboot
Symlink can exist whereas the underneath IM value can change in some scenarios. In such cases, even when the symlink is present, the file being pointed via symlink needs to be updated.
The commit, on every reboot, checks and updates the existing symlink if required.
Change-Id: I850bfaba41c28ca30443aa09263c712e3a4e4af9 Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>
show more ...
|
#
15a189a9 |
| 26-Feb-2025 |
Sunny Srivastava <sunnsr25@in.ibm.com> |
API to get error type and error msg
Error type to be set should be strictly dependent on the type of exception being caught. So that correct interface can be called from message registry while loggi
API to get error type and error msg
Error type to be set should be strictly dependent on the type of exception being caught. So that correct interface can be called from message registry while logging a PEL. Also, the error message logged should have a uniform format across different kind of errors.
The commit implements API to get the pre-defined error type and message format for a given exception. The user needs to call this API and need not set error type on wish.
Change-Id: I3aeddd2986f12ff18b3a061533490db20ebede34 Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>
show more ...
|
#
a55fcca1 |
| 19-Feb-2025 |
Souvik Roy <souvikroyofficial10@gmail.com> |
Refactor get keyword value API exception handling
This commit refactors vpd specific utility API used to read value of a keyword,in order to handle any exceptions thrown by it locally. All utility m
Refactor get keyword value API exception handling
This commit refactors vpd specific utility API used to read value of a keyword,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 changes the caller of this API throughout the repo, in order to check the return value.
Test:
``` - Install bitbaked image on Everest system - After BMC boots, BMC should reach Ready state - Check vpd-manager service status, should be active(running) - Check no restarts in vpd-manager service - Check vpd-manager "CollectionStatus" = "Completed" - Check extra interfaces are processed properly - Check backup restore working properly ```
Change-Id: I965313f512553ed5d39373dd871754e1a8fed5f3 Signed-off-by: Souvik Roy <souvikroyofficial10@gmail.com>
show more ...
|
#
c532b188 |
| 19-Feb-2025 |
RekhaAparna01 <vrekhaaparna@ibm.com> |
Refactor exception handling for writeDbusProperty API
This commit refactors dbus_utility API used to update property value on DBus to handle any exceptions thrown by it locally and return only succe
Refactor exception handling for writeDbusProperty API
This commit refactors dbus_utility API used to update property value on DBus to handle any exceptions thrown by it locally and return only success or failure as the return type.
Also updated the caller of this API to handle the return value.
Change-Id: Ia92c1b0928d02cc0130a8b4e547ba3c6069d0d2f Signed-off-by: RekhaAparna01 <vrekhaaparna@ibm.com>
show more ...
|
#
1ef21008 |
| 18-Feb-2025 |
RekhaAparna01 <vrekhaaparna@ibm.com> |
Exception handling for json_utility APIs
This commit adds code to handle exceptions for some of the json_utility APIs. Each API will have output returned in case of error based on the return type of
Exception handling for json_utility APIs
This commit adds code to handle exceptions for some of the json_utility APIs. Each API will have output returned in case of error based on the return type of the API instead of throwing an exception.
Also updated the caller of the json_utility APIs to handle the return value.
Change-Id: Ib43028974b61c18a0edae96608a8764cb440234a Signed-off-by: RekhaAparna01 <vrekhaaparna@ibm.com>
show more ...
|
#
1aad7834 |
| 12-Dec-2024 |
Priyanga Ramasamy <priyanga24@in.ibm.com> |
worker::CollectionStatus for each inventory FRU
This commit populates CollectionStatus D-bus property under com.ibm.VPD.Collection D-bus interface for each inventory D-bus object path which represen
worker::CollectionStatus for each inventory FRU
This commit populates CollectionStatus D-bus property under com.ibm.VPD.Collection D-bus interface for each inventory D-bus object path which represents a FRU.
The property tells the current status of VPD collection for a given FRU's D-bus object path.
The property takes the below enum values:
>>>com.ibm.VPD.Collection.Status.Success ------------------------------------- This value is assigned when VPD collection is successful.
>>>com.ibm.VPD.Collection.Status.Failure ------------------------------------- VPD collection failure due to VPD exceptions.
>>>com.ibm.VPD.Collection.Status.InProgress ---------------------------------------- This value is assigned when VPD collection starts for the given FRU.
>>>com.ibm.VPD.Collection.Status.NotStarted ---------------------------------------- This default value is assigned when we hit prime inventory path.
Test: 1. VPD parsing failed for /sys/bus/i2c/drivers/at24/0-0051 /eeprom due to error: Unable to determine VPD format
=>CollectionStatus property value for tpm_wilson s "com.ibm.VPD.Collection.Status.Failure"
2. FRU not found s "com.ibm.VPD.Collection.Status.Failure"
3. Successful collection of VPD s "com.ibm.VPD.Collection.Status.Success"
Change-Id: Ia5010a181f720454bb51538d6fcf308daf6b75ca Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.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 ...
|
#
12b01393 |
| 05-Feb-2025 |
Sunny Srivastava <sunnsr25@in.ibm.com> |
Add handling for json utility exception
While handling pass1 planar, handle exceltion in place.
This needs to be removed once utility methods are updated to not throw exceptions. Change-Id: I48c900
Add handling for json utility exception
While handling pass1 planar, handle exceltion in place.
This needs to be removed once utility methods are updated to not throw exceptions. Change-Id: I48c9000d6b6f7a0971e5ec21a897498c903a0a72 Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>
show more ...
|
#
78c91073 |
| 05-Feb-2025 |
Sunny Srivastava <sunnsr25@in.ibm.com> |
Skip presence detect and PEL for pass1 PCIe cards
Presence pin on pass1 planar does not reflect the true state of the slot. It does not guarantee if the card is actually present in the slot or not.
Skip presence detect and PEL for pass1 PCIe cards
Presence pin on pass1 planar does not reflect the true state of the slot. It does not guarantee if the card is actually present in the slot or not. Hence, the presence pin check is irrelevant in these scenarios and is being skipped before enabling the line for VPD collection.
Availability of EEPROM after enabling the line should confirm if the card needs to be collected or not.
Also, PCIe cards on pass1 is expected to have invalid VPD, avoiding logging of PELs for those error scenarios.
Change-Id: Ia646b7d442a94fadea6b4c78d1d97c5a214579cb Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.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 ...
|
#
4c164381 |
| 28-Jan-2025 |
Sunny Srivastava <sunnsr25@in.ibm.com> |
Update JSON tag to follow camel case
JSON tag for post fail action has been modified to follow camel case. Worker code has been modified accordingly.
Change-Id: I20960a2bdac13cca9f426d04e37247c5ebb
Update JSON tag to follow camel case
JSON tag for post fail action has been modified to follow camel case. Worker code has been modified accordingly.
Change-Id: I20960a2bdac13cca9f426d04e37247c5ebb62ddb 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 ...
|