| commit | d90aadbf53587ff24837e26e69431fd0eed543a7 | [log] [tgz] |
|---|---|---|
| author | Priyanga Ramasamy <priyanga24@in.ibm.com> | Tue Mar 28 12:25:14 2023 -0500 |
| committer | priyanga24 <priyanga24@in.ibm.com> | Tue Apr 18 09:10:44 2023 +0000 |
| tree | 6b446999159bdd8e616c723a9c0ec8e140409012 | |
| parent | c68829ad97f8de8e2b58eecc1c0011a2a2f82df9 [diff] |
Remove adding parent's presence for child FRUs
In the existing code, vpd-tool emplaces the parent FRU's presence for
child FRU whose "Present" property is not available on d-bus. This
gives a misleading information on presence state of non embedded FRU's,
which can either be present or absent on a machine.
Fix:
This commit modifies the vpd-tool code to print "Unknown" if the FRU's
Present property is not available on d-bus.
Test:
1. When Present property is not published on d-bus
vpd-tool -o -O /system/chassis/motherboard/powersupply0
[
{
"/system/chassis/motherboard/powersupply0": {
"LocationCode": "U78DA.ND0.WZS0065-E0",
"Present": "Unknown",
"TYPE": "FRU",
"type": "xyz.openbmc_project.Inventory.Item.PowerSupply"
}
}
]
2. When Present property is set to true on dbus
:~# vpd-tool -o -O /system/chassis/motherboard/powersupply0
[
{
"/system/chassis/motherboard/powersupply0": {
"CC": "51DA",
"DR": "IBM PS",
"FN": "03FP221",
"LocationCode": "U780C.ND0.RCH0014-E0",
"PN": "03FP207",
"Present": "true",
"SN": "YL31KY12K0CX",
"TYPE": "FRU",
"type": "xyz.openbmc_project.Inventory.Item.PowerSupply"
}
}
]
3. When Present property is set to false on dbus
:~# vpd-tool -o -O /system/chassis/motherboard/powersupply0
[
{
"/system/chassis/motherboard/powersupply0": {
"CC": "51DA",
"DR": "IBM PS",
"FN": "03FP221",
"LocationCode": "U780C.ND0.RCH0014-E0",
"PN": "03FP207",
"Present": "false",
"SN": "YL31KY12K0CX",
"TYPE": "FRU",
"type": "xyz.openbmc_project.Inventory.Item.PowerSupply"
}
}
]
Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com>
Change-Id: I4c8ce2141b9ae7c46f1421c59de5d627b8aad429
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.