Implement redfish LogService
This commit implements an optional LogService endpoint for debugging
CPUs over Redish. It exposes both the ability to create a new log with
the LogImmediate action, as well as to pull a stored log using the
LogCollection schema. This feature is disabled by default, and should
be enabled in the meta-x86 layer.
Change-Id: Ied1d5e263a0857e09cd9a24fddec9c11a4066cd2
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
diff --git a/redfish-core/include/redfish.hpp b/redfish-core/include/redfish.hpp
index 76bed8b..0998634 100644
--- a/redfish-core/include/redfish.hpp
+++ b/redfish-core/include/redfish.hpp
@@ -18,6 +18,7 @@
#include "../lib/account_service.hpp"
#include "../lib/chassis.hpp"
#include "../lib/ethernet.hpp"
+#include "../lib/log_services.hpp"
#include "../lib/managers.hpp"
#include "../lib/network_protocol.hpp"
#include "../lib/redfish_sessions.hpp"
@@ -66,6 +67,18 @@
nodes.emplace_back(std::make_unique<SoftwareInventory>(app));
nodes.emplace_back(
std::make_unique<VlanNetworkInterfaceCollection>(app));
+ nodes.emplace_back(std::make_unique<LogServiceCollection>(app));
+
+#ifdef BMCWEB_ENABLE_REDFISH_CPU_LOG
+ nodes.emplace_back(std::make_unique<CpuLogService>(app));
+ nodes.emplace_back(std::make_unique<CpuLogEntryCollection>(app));
+ nodes.emplace_back(std::make_unique<CpuLogEntry>(app));
+ nodes.emplace_back(std::make_unique<ImmediateCpuLog>(app));
+#ifdef BMCWEB_ENABLE_REDFISH_RAW_PECI
+ nodes.emplace_back(std::make_unique<SendRawPeci>(app));
+#endif // BMCWEB_ENABLE_REDFISH_RAW_PECI
+#endif // BMCWEB_ENABLE_REDFISH_CPU_LOG
+
nodes.emplace_back(std::make_unique<SystemsCollection>(app));
nodes.emplace_back(std::make_unique<Systems>(app));
nodes.emplace_back(std::make_unique<SystemActionsReset>(app));