commit | a55fcca1879010cad2279c429b24117ab220ef4f | [log] [tgz] |
---|---|---|
author | Souvik Roy <souvikroyofficial10@gmail.com> | Wed Feb 19 01:33:58 2025 -0600 |
committer | Souvik Roy <souvikroyofficial10@gmail.com> | Wed Mar 05 04:15:04 2025 +0000 |
tree | b57a897f5f2d40df8f082a28f9e3a8dba078d8ff | |
parent | b53d97c9b60773f7482c8a85ec39df2aafa31338 [diff] |
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>
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 here.
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.