commit | 6c7a84e4e1e8e087da8df9daa23496dbd5d11721 | [log] [tgz] |
---|---|---|
author | Santosh Puranik <santosh.puranik@in.ibm.com> | Wed Mar 09 13:42:18 2022 +0530 |
committer | Santosh Puranik <santosh.puranik@in.ibm.com> | Thu Mar 10 08:33:01 2022 +0000 |
tree | 359ee0417064adf344ad003236bd4e915e9ef542 | |
parent | aa8a893e51c5ebae9c6b19aabbeb06242c8930e0 [diff] |
Fix Force Collect Bug Force collection option in VPD tool needs to restart the system vpd service in order to recollect system VPD. This commit fixes a bug where the tool would call `systemctl stop system-vpd.service` and replaces it with `systemctl restart system-vpd.service`. A stop is problematic because it also stops the services that "Require" system vpd service. A restart ensures that system vpd service and all services that require it are also restarted. Also ensure that any exception thrown when executing the underlying VPD tool impl. results in a non-zero rc to the shell. Signed-off-by: Santosh Puranik <santosh.puranik@in.ibm.com> Change-Id: Iacc364f29a3d8848dc5e43992f5a46e30a58af2f
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.