Prime system blueprint from wait-vpd-parsers
This commit updates wait-vpd-parsers to prime system blueprint.
As part of PST VPD collection flow, priming inventory objects needs to
be triggered as a part of systemd target, instead of being triggered by
vpd-manager.
This commit only implements only stub APIs under PrimeInventory class.
Change-Id: I144b13192e9ce39461c331c51ed7d4d9e952809c
Signed-off-by: Anupama B R <anupama.b.r1@ibm.com>
diff --git a/wait-vpd-parser/src/wait_vpd_parser.cpp b/wait-vpd-parser/src/wait_vpd_parser.cpp
index 44f1da3..352f5cd 100644
--- a/wait-vpd-parser/src/wait_vpd_parser.cpp
+++ b/wait-vpd-parser/src/wait_vpd_parser.cpp
@@ -2,6 +2,7 @@
#include "constants.hpp"
#include "logger.hpp"
+#include "prime_inventory.hpp"
#include "utility/dbus_utility.hpp"
#include <CLI/CLI.hpp>
@@ -104,20 +105,34 @@
int main(int argc, char** argv)
{
- CLI::App l_app{"Wait VPD parser app"};
+ try
+ {
+ CLI::App l_app{"Wait VPD parser app"};
- // default retry limit and sleep duration values
- unsigned l_retryLimit{100};
- unsigned l_sleepDurationInSeconds{2};
+ // default retry limit and sleep duration values
+ unsigned l_retryLimit{100};
+ unsigned l_sleepDurationInSeconds{2};
- l_app.add_option("--retryLimit, -r", l_retryLimit, "Retry limit");
- l_app.add_option("--sleepDurationInSeconds, -s", l_sleepDurationInSeconds,
- "Sleep duration in seconds between each retry");
+ l_app.add_option("--retryLimit, -r", l_retryLimit, "Retry limit");
+ l_app.add_option("--sleepDurationInSeconds, -s",
+ l_sleepDurationInSeconds,
+ "Sleep duration in seconds between each retry");
- CLI11_PARSE(l_app, argc, argv);
+ CLI11_PARSE(l_app, argc, argv);
- return collectAllFruVpd()
- ? checkVpdCollectionStatus(l_retryLimit,
- l_sleepDurationInSeconds)
- : vpd::constants::VALUE_1;
+ PrimeInventory l_primeObj;
+ l_primeObj.primeSystemBlueprint();
+
+ return collectAllFruVpd()
+ ? checkVpdCollectionStatus(l_retryLimit,
+ l_sleepDurationInSeconds)
+ : vpd::constants::VALUE_1;
+ }
+ catch (const std::exception& l_ex)
+ {
+ const auto l_logger = vpd::Logger::getLoggerInstance();
+ l_logger->logMessage("Exiting from wait-vpd-parser, reason: " +
+ std::string(l_ex.what()));
+ return vpd::constants::VALUE_1;
+ }
}