PEL.Entry - Add managementSystemAck property
Add managementSystemAck property to PEL.Entry interface to support HMC
acknowledgement of event receipt.
Tested:
1. Created a PEL log using busctl and set-property managementSystemAck
to true. Verified that the flag is set by using peltool
Result:(output of peltool)
"Host Transmission": "Not Sent",
"HMC Transmission": "Acked"
Restarted phosphor-log-manager and verified that the flag is true.
2. Generated PEL using RAWPEL and verified all the steps as in 1.
Change-Id: Ifa06cca0063c6c609317192f9c18bb2524e2f292
Signed-off-by: Vijay Lobo <vijaylobo@gmail.com>
diff --git a/extensions/openpower-pels/manager.cpp b/extensions/openpower-pels/manager.cpp
index 9ce9b98..df8e50c 100644
--- a/extensions/openpower-pels/manager.cpp
+++ b/extensions/openpower-pels/manager.cpp
@@ -18,6 +18,7 @@
#include "additional_data.hpp"
#include "json_utils.hpp"
#include "pel.hpp"
+#include "pel_entry.hpp"
#include "service_indicators.hpp"
#include <fmt/format.h>
@@ -808,11 +809,16 @@
varData.emplace(
std::string("Subsystem"),
pv::getValue(attr.subsystem, pel_values::subsystemValues));
+
+ varData.emplace(
+ std::string("ManagementSystemAck"),
+ (attr.hmcState == TransmissionState::acked ? true : false));
+
// Path to create PELEntry Interface is same as PEL
auto path = std::string(OBJ_ENTRY) + '/' + std::to_string(obmcLogID);
// Create Interface for PELEntry and set properties
- auto pelEntry = std::make_unique<PELEntry>(_logManager.getBus(),
- path.c_str(), varData);
+ auto pelEntry = std::make_unique<PELEntry>(_logManager.getBus(), path,
+ varData, obmcLogID, &_repo);
_pelEntries.emplace(std::move(path), std::move(pelEntry));
}
}