psu-ng: IBM FN goes to SparePartNumber
When reading the IBM FN (FRU_NUMBER), add it to the SparePartNumber
asset properties in the D-Bus inventory.
Tested:
root@p10bmc:~# busctl get-property xyz.openbmc_project.Inventory.Manager \
> /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0 \
> xyz.openbmc_project.Inventory.Decorator.Asset \
> PartNumber
s "3FP210"
root@p10bmc:~#
root@p10bmc:~# busctl get-property xyz.openbmc_project.Inventory.Manager \
> /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1 \
> xyz.openbmc_project.Inventory.Decorator.Asset \
> PartNumber
s "3FP210"
root@p10bmc:~#
root@p10bmc:~# busctl get-property xyz.openbmc_project.Inventory.Manager \
> /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0 \
> xyz.openbmc_project.Inventory.Decorator.Asset \
> SparePartNumber
s ""
root@p10bmc:~#
root@p10bmc:~# busctl get-property xyz.openbmc_project.Inventory.Manager \
> /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1 \
> xyz.openbmc_project.Inventory.Decorator.Asset \
> SparePartNumber
s ""
root@p10bmc:~#
root@p10bmc:~# # patch needed in /usr
root@p10bmc:~# mkdir -p /tmp/persist/usr
root@p10bmc:~# mkdir -p /tmp/persist/work/usr
root@p10bmc:~# mount -t overlay -o
lowerdir=/usr,upperdir=/tmp/persist/usr,workdir=/tmp/persist/work/usr
overlay /usr
root@p10bmc:~# md5sum /usr/bin/phosphor-psu-monitor
/tmp/phosphor-psu-monitor
ac1a50698a63e53dd3819b9f3c78c378 /usr/bin/phosphor-psu-monitor
4a2806d1a3494d1dd7176cd7b9dadf1a /tmp/phosphor-psu-monitor
root@p10bmc:~# mv /tmp/phosphor-psu-monitor
/usr/bin/phosphor-psu-monitor
root@p10bmc:~# md5sum /usr/bin/phosphor-psu-monitor
/tmp/phosphor-psu-monitor
4a2806d1a3494d1dd7176cd7b9dadf1a /usr/bin/phosphor-psu-monitor
md5sum: can't open '/tmp/phosphor-psu-monitor': No such file or
directory
root@p10bmc:~# systemctl daemon-reload
root@p10bmc:~# systemctl restart phosphor-psu-monitor.service
root@p10bmc:~# busctl get-property xyz.openbmc_project.Inventory.Manager \
> /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0 \
> xyz.openbmc_project.Inventory.Decorator.Asset \
> PartNumber
s "3FP210"
root@p10bmc:~#
root@p10bmc:~# busctl get-property xyz.openbmc_project.Inventory.Manager \
> /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1 \
> xyz.openbmc_project.Inventory.Decorator.Asset \
> PartNumber
s "3FP210"
root@p10bmc:~#
root@p10bmc:~# busctl get-property xyz.openbmc_project.Inventory.Manager \
> /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0 \
> xyz.openbmc_project.Inventory.Decorator.Asset \
> SparePartNumber
s "3FP211"
root@p10bmc:~#
root@p10bmc:~# busctl get-property xyz.openbmc_project.Inventory.Manager \
> /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1 \
> xyz.openbmc_project.Inventory.Decorator.Asset \
> SparePartNumber
s "3FP211"
root@p10bmc:~#
Change-Id: I4aaa906f576894f62fa36083c40c89d935d646a8
Signed-off-by: Brandon Wyman <bjwyman@gmail.com>
diff --git a/phosphor-power-supply/power_supply.cpp b/phosphor-power-supply/power_supply.cpp
index ea0d172..908f04f 100644
--- a/phosphor-power-supply/power_supply.cpp
+++ b/phosphor-power-supply/power_supply.cpp
@@ -592,6 +592,7 @@
try
{
fn = pmbusIntf->readString(FRU_NUMBER, Type::HwmonDeviceDebug);
+ assetProps.emplace(SPARE_PN_PROP, fn);
}
catch (const ReadFailure& e)
{
diff --git a/phosphor-power-supply/power_supply.hpp b/phosphor-power-supply/power_supply.hpp
index 320fb65..ec523ae 100644
--- a/phosphor-power-supply/power_supply.hpp
+++ b/phosphor-power-supply/power_supply.hpp
@@ -26,6 +26,7 @@
// The D-Bus property name to update with the CCIN value.
constexpr auto MODEL_PROP = "Model";
constexpr auto PN_PROP = "PartNumber";
+constexpr auto SPARE_PN_PROP = "SparePartNumber";
constexpr auto SN_PROP = "SerialNumber";
constexpr auto VERSION_PROP = "Version";