Update FRU part number for PowerVS systems
Error log makes use of FRU part number instead of part number in the
call outs.
Hence the code is updated to change FRU part number instead of part
number in case of PowerVS systems.
Similarly, spare part number of Decorator.Asset interface is updated
instead of part number.
Change-Id: I31b57e23863b250f7fb036b23c7a192fc1bbec5c
Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>
diff --git a/vpd-manager/include/constants.hpp b/vpd-manager/include/constants.hpp
index f71b18e..e605cd1 100644
--- a/vpd-manager/include/constants.hpp
+++ b/vpd-manager/include/constants.hpp
@@ -139,6 +139,7 @@
constexpr auto kwdHW = "HW";
constexpr auto kwdIM = "IM";
constexpr auto kwdPN = "PN";
+constexpr auto kwdFN = "FN";
constexpr auto recVSYS = "VSYS";
constexpr auto recVCEN = "VCEN";
constexpr auto locationCodeInf = "com.ibm.ipzvpd.Location";
diff --git a/vpd-manager/src/manager.cpp b/vpd-manager/src/manager.cpp
index fdc0463..1983029 100644
--- a/vpd-manager/src/manager.cpp
+++ b/vpd-manager/src/manager.cpp
@@ -397,14 +397,14 @@
continue;
}
- // Get current Part number.
+ // Get current FRU Part number.
auto l_retVal = dbusUtility::readDbusProperty(
constants::pimServiceName, l_inventoryPath,
- constants::viniInf, constants::kwdPN);
+ constants::viniInf, constants::kwdFN);
- auto l_ptrToPn = std::get_if<types::BinaryVector>(&l_retVal);
+ auto l_ptrToFn = std::get_if<types::BinaryVector>(&l_retVal);
- if (!l_ptrToPn)
+ if (!l_ptrToFn)
{
o_failedPathList.push_back(l_fruPath);
continue;
@@ -412,7 +412,7 @@
types::BinaryVector l_binaryKwdValue =
l_kwdValue.get<types::BinaryVector>();
- if (l_binaryKwdValue == (*l_ptrToPn))
+ if (l_binaryKwdValue == (*l_ptrToFn))
{
continue;
}
@@ -427,27 +427,27 @@
continue;
}
- // update the Asset interface PN explicitly
+ // update the Asset interface Spare part number explicitly.
if (!dbusUtility::callPIM(types::ObjectMap{
{l_inventoryPath,
- {{constants::viniInf,
- {{"PartNumber",
+ {{constants::assetInf,
+ {{"SparePartNumber",
std::string(l_binaryKwdValue.begin(),
l_binaryKwdValue.end())}}}}}}))
{
logging::logMessage(
- "Updating PN under Asset interface failed for path [" +
+ "Updating Spare Part Number under Asset interface failed for path [" +
l_inventoryPath + "]");
}
// Just needed for logging.
- std::string l_initialPartNum((*l_ptrToPn).begin(),
- (*l_ptrToPn).end());
+ std::string l_initialPartNum((*l_ptrToFn).begin(),
+ (*l_ptrToFn).end());
std::string l_finalPartNum(l_binaryKwdValue.begin(),
l_binaryKwdValue.end());
logging::logMessage(
- "Part number updated for path [" + l_inventoryPath + "]" +
- "From [" + l_initialPartNum + "]" + " to [" +
+ "FRU Part number updated for path [" + l_inventoryPath +
+ "]" + "From [" + l_initialPartNum + "]" + " to [" +
l_finalPartNum + "]");
}
}