commit | e912015a45a41b641e6b8cf2f0378b4d79a8970b | [log] [tgz] |
---|---|---|
author | Souvik Roy <souvikroyofficial10@gmail.com> | Wed Jul 02 08:24:38 2025 -0500 |
committer | Souvik Roy <souvikroyofficial10@gmail.com> | Thu Jul 03 03:27:35 2025 -0500 |
tree | 0c2158c79c3a52410390b555e195565bf61efd3a | |
parent | 495eedd1776d488ed871e19e1f4d52fc794de28f [diff] |
DeleteFruVpd:Conditional FRU deletion This commit adds a check in deleteFruVpd API to prevent deletion of FRUs which are present and whose presence is handled by external service. ``` Test: - On Everest system, see fan0 VPD is present on PIM - Set "Present" property of fan0 to false using busctl - See fan0 VPD is cleared from PIM - Set "Present" property of fan0 to true using busctl - Execute DeleteFruVpd API from vpd-manager D-Bus interface - DeleteFruVpd fails - Check VPD of pcie_card2 using vpd-tool and see it is present - Execute deleteFruVpd on pcie_card2 and see it is successful ``` Change-Id: I69e3f805e3170d86befd95b2efc1a59069d762d6 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.