PEL: Add repository to save PELs
Create the Repository class that can save PELs in (and later retrieve
them from) the filesystem. It provides an add() method that can add
a PEL object to the repository.
Now, when the Manager class sees an OpenBMC event log created with the
RAWPEL metadata in the AdditionalData property that points at a file
that contains a PEL, it can save that PEL. Before the PEL is saved, the
log ID and commit timestamp fields in the PEL will be updated - the log
ID to a unique value, and the timestamp to the current time.
Change-Id: I8dbaddf0f155bcb6d40b933294ada83feb75ce53
diff --git a/test/openpower-pels/paths.cpp b/test/openpower-pels/paths.cpp
index 464b92c..27f4bce 100644
--- a/test/openpower-pels/paths.cpp
+++ b/test/openpower-pels/paths.cpp
@@ -22,5 +22,18 @@
return idFile;
}
+std::filesystem::path getPELRepoPath()
+{
+ static std::string repoPath;
+
+ if (repoPath.empty())
+ {
+ char templ[] = "/tmp/repopathtestXXXXXX";
+ std::filesystem::path dir = mkdtemp(templ);
+ repoPath = dir;
+ }
+ return repoPath;
+}
+
} // namespace pels
} // namespace openpower