| commit | ebca7b10f6d65f7494ea1b70d8a9049a7bac25df | [log] [tgz] |
|---|---|---|
| author | Souvik Roy <souvikroyofficial10@gmail.com> | Mon Nov 10 06:27:49 2025 +0000 |
| committer | Souvik Roy <souvikroyofficial10@gmail.com> | Mon Nov 10 07:35:05 2025 +0000 |
| tree | 741344593592530638969e364c4d8c8989c0fc18 | |
| parent | 37ce6e3966d425193d6edfc3ba30352c36619ab5 [diff] |
Instantiate VPD write logger only on first use This commit moves out the VPD write logger's instantiation from the constructor of Logger. As part of VPD write logger instantiation, a log file is created, which is unnecessary until a message has to be logged. Hence, VPD write logger is now instantiated only on first use. Test: ''' - Install BMC firmware image - Delete /var/lib/vpd folder - Restart vpd-manager service - Observe vpd-manager service starts as expected, no error logs or PELs with respect to manager instantiation ''' Change-Id: I9244cd1e8b8ce09f0bae48fed0fd548445243f60 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 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.