commit | 96ebe968e520b95701dc0f2a49ffa0b97c9bcb32 | [log] [tgz] |
---|---|---|
author | Souvik Roy <souvikroyofficial10@gmail.com> | Tue Apr 29 04:01:07 2025 -0500 |
committer | Souvik Roy <souvikroyofficial10@gmail.com> | Wed Apr 30 08:20:57 2025 -0500 |
tree | 8e05c710ffd50dc194f167e7220ca8d8d39ea46b | |
parent | 2ee8a21910258b4bba1731e79f2df3a336f4e38e [diff] |
Sync common interface property if keyword updated This commit implements changes for updating common interface property(if any) for a given FRU. When a keyword value is updated either from vpd-tool or from vpd-manager WriteKeyword API, the corresponding common interface property should also be updated on PIM for the FRU as well as for all inherited FRUs. Test: ``` Tested on rainier 2s2u simics setup 1. Ensure BMC is in Ready state 2. Read VINI PN of /system/chassis/motherboard using vpd-tool 3. Read Decorator.Asset PartNumber property of /system/chassis/ motherboard using busctl 4. Change VINI PN of /system/chassis/motherboard using vpd-tool 5. Read VINI PN of /system/chassis/motherboard using vpd-tool and observe that the PN value is updated. Also check the same for inherited FRUs /system/chassis and /system/chassis/motherboard/tod_battery 6. Read Decorator.Asset PartNumber property of /system/chassis/motherboard and its inherited FRUs using busctl and observe the property got updated with the expected value. 7. Read Decorator.Asset PartNumber property of some non-inherited FRUs like /system and observe their PartNumber did not get updated. ``` Change-Id: I51955b842640f66a129453bda6cb28ffd478eea4 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.