commit | 31d50fa794eb4a20577b629c964a6d126056a533 | [log] [tgz] |
---|---|---|
author | Santosh Puranik <santosh.puranik@in.ibm.com> | Mon Apr 04 12:04:37 2022 +0530 |
committer | Santosh Puranik <santosh.puranik@in.ibm.com> | Mon Apr 11 07:59:42 2022 +0000 |
tree | 2b5ef371784517ce32920d9401b17cb84fdd29b4 | |
parent | 2c607a988ed92603fed1c756deb53267ed4d2c30 [diff] |
Fix factory reset with power ON This commit makes sure that we do not skip the system VPD collection step after a factory reset from a powered ON state. Skipping system VPD collection when we are powered ON is needed because we in general do not want to take pre/post actions that might meddle with the host's usage of PCIe slots. However, in case there is a BMC factory reset from such a state, we lose our JSON symlink as well as all the VPD in D-Bus. Although factory reset from a powered ON state should be disallowed, it is still possible to do so from a Redfish client that is not the BMC GUI. Therefore, to restore the system VPD in such scenarios, don't skip system VPD collection if we detect a factory reset has taken place. Signed-off-by: Santosh Puranik <santosh.puranik@in.ibm.com> Change-Id: Ifa8690b763aa0835b265b7d95e52ce60a3777b59
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.