From 1adb0912d805b0da1504a00aa8cd6b2d5902104a Mon Sep 17 00:00:00 2001 From: Mykhailo Lohvynenko Date: Wed, 25 Jun 2025 13:56:01 +0300 Subject: [PATCH 1/3] common: logprovider: use core lib logprovider config This patch replaces logprovider config header file with the one provided by the core library. Signed-off-by: Mykhailo Lohvynenko Reviewed-by: Mykola Solianko Reviewed-by: Oleksandr Grytsov --- src/common/logprovider/archivator.cpp | 2 +- src/common/logprovider/archivator.hpp | 7 +++--- src/common/logprovider/config.hpp | 28 --------------------- src/common/logprovider/tests/archivator.cpp | 4 +-- 4 files changed, 6 insertions(+), 35 deletions(-) delete mode 100644 src/common/logprovider/config.hpp diff --git a/src/common/logprovider/archivator.cpp b/src/common/logprovider/archivator.cpp index 5a61b70e6..901a8b010 100644 --- a/src/common/logprovider/archivator.cpp +++ b/src/common/logprovider/archivator.cpp @@ -13,7 +13,7 @@ namespace aos::common::logprovider { -Archivator::Archivator(sm::logprovider::LogObserverItf& logReceiver, const Config& config) +Archivator::Archivator(sm::logprovider::LogObserverItf& logReceiver, const aos::logprovider::Config& config) : mLogReceiver(logReceiver) , mConfig(config) { diff --git a/src/common/logprovider/archivator.hpp b/src/common/logprovider/archivator.hpp index 49572660b..bd2cc21c6 100644 --- a/src/common/logprovider/archivator.hpp +++ b/src/common/logprovider/archivator.hpp @@ -16,10 +16,9 @@ #include #include +#include #include -#include "config.hpp" - namespace aos::common::logprovider { /** @@ -33,7 +32,7 @@ class Archivator { * @param logReceiver log receiver. * @param config logprovider config. */ - Archivator(sm::logprovider::LogObserverItf& logReceiver, const Config& config); + Archivator(sm::logprovider::LogObserverItf& logReceiver, const aos::logprovider::Config& config); /** * Adds log message to the archivator. @@ -56,7 +55,7 @@ class Archivator { Error AddLogPart(); sm::logprovider::LogObserverItf& mLogReceiver; - Config mConfig; + aos::logprovider::Config mConfig; uint64_t mPartCount = {}; uint64_t mPartSize = {}; diff --git a/src/common/logprovider/config.hpp b/src/common/logprovider/config.hpp deleted file mode 100644 index 55c1eaca2..000000000 --- a/src/common/logprovider/config.hpp +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (C) 2025 EPAM Systems, Inc. - * - * SPDX-License-Identifier: Apache-2.0 - */ - -#ifndef AOS_COMMON_LOGPROVIDER_CONFIG_HPP_ -#define AOS_COMMON_LOGPROVIDER_CONFIG_HPP_ - -#include - -namespace aos::common::logprovider { - -/*********************************************************************************************************************** - * Types - **********************************************************************************************************************/ - -/* - * Logging configuration. - */ -struct Config { - uint64_t mMaxPartSize; - uint64_t mMaxPartCount; -}; - -} // namespace aos::common::logprovider - -#endif diff --git a/src/common/logprovider/tests/archivator.cpp b/src/common/logprovider/tests/archivator.cpp index dcbe62ec8..07cd495ad 100644 --- a/src/common/logprovider/tests/archivator.cpp +++ b/src/common/logprovider/tests/archivator.cpp @@ -47,8 +47,8 @@ class LogObserverMock : public sm::logprovider::LogObserverItf { class ArchivatorTest : public Test { public: - LogObserverMock mLogObserver; - Config mConfig {1024, 5}; + LogObserverMock mLogObserver; + aos::logprovider::Config mConfig {1024, 5}; }; /*********************************************************************************************************************** From 3b5ff35e141bd67f6f6dfb3b408d5333be0c2993 Mon Sep 17 00:00:00 2001 From: Mykhailo Lohvynenko Date: Wed, 25 Jun 2025 13:57:21 +0300 Subject: [PATCH 2/3] mp: use core lib log provider config structure Signed-off-by: Mykhailo Lohvynenko Reviewed-by: Mykola Solianko Reviewed-by: Oleksandr Grytsov --- src/mp/config/config.cpp | 6 +++--- src/mp/config/config.hpp | 20 ++++++++++---------- src/mp/logprovider/archivemanager.cpp | 2 +- src/mp/logprovider/archivemanager.hpp | 6 +++--- src/mp/logprovider/tests/archivemanager.cpp | 6 +++--- 5 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/mp/config/config.cpp b/src/mp/config/config.cpp index 5a19d5c56..bcbe3c150 100644 --- a/src/mp/config/config.cpp +++ b/src/mp/config/config.cpp @@ -70,10 +70,10 @@ IAMConfig ParseIAMConfig(const common::utils::CaseInsensitiveObjectWrapper& obje }; } -common::logprovider::Config ParseLogProviderConfig(const common::utils::CaseInsensitiveObjectWrapper& object) +aos::logprovider::Config ParseLogProviderConfig(const common::utils::CaseInsensitiveObjectWrapper& object) { if (!object.Has("LogProvider")) { - return common::logprovider::Config { + return aos::logprovider::Config { cDefaultMaxLogPartSize, cDefaultMaxLogPartCount, }; @@ -81,7 +81,7 @@ common::logprovider::Config ParseLogProviderConfig(const common::utils::CaseInse auto logProviderObject = object.GetObject("LogProvider"); - return common::logprovider::Config { + return aos::logprovider::Config { logProviderObject.GetValue("MaxPartSize", cDefaultMaxLogPartSize), logProviderObject.GetValue("MaxPartCount", cDefaultMaxLogPartCount), }; diff --git a/src/mp/config/config.hpp b/src/mp/config/config.hpp index 3802165c3..0e629cc69 100644 --- a/src/mp/config/config.hpp +++ b/src/mp/config/config.hpp @@ -9,9 +9,9 @@ #include +#include #include -#include #include namespace aos::mp::config { @@ -65,15 +65,15 @@ struct CMConfig { * Configuration. */ struct Config { - std::string mWorkingDir; - VChanConfig mVChan; - CMConfig mCMConfig; - std::string mCertStorage; - std::string mCACert; - std::string mImageStoreDir; - Download mDownload; - IAMConfig mIAMConfig; - common::logprovider::Config mLogProviderConfig; + std::string mWorkingDir; + VChanConfig mVChan; + CMConfig mCMConfig; + std::string mCertStorage; + std::string mCACert; + std::string mImageStoreDir; + Download mDownload; + IAMConfig mIAMConfig; + aos::logprovider::Config mLogProviderConfig; }; /*********************************************************************************************************************** diff --git a/src/mp/logprovider/archivemanager.cpp b/src/mp/logprovider/archivemanager.cpp index fbf556982..97363e5fc 100644 --- a/src/mp/logprovider/archivemanager.cpp +++ b/src/mp/logprovider/archivemanager.cpp @@ -20,7 +20,7 @@ namespace aos::mp::logprovider { * Public **********************************************************************************************************************/ -Error ArchiveManager::Init(sm::logprovider::LogObserverItf& logReceiver, const common::logprovider::Config& config) +Error ArchiveManager::Init(sm::logprovider::LogObserverItf& logReceiver, const aos::logprovider::Config& config) { LOG_DBG() << "Init archive manager"; diff --git a/src/mp/logprovider/archivemanager.hpp b/src/mp/logprovider/archivemanager.hpp index 5c683f2f0..2cd83e875 100644 --- a/src/mp/logprovider/archivemanager.hpp +++ b/src/mp/logprovider/archivemanager.hpp @@ -36,7 +36,7 @@ class ArchiveManager { * @param config configuration. * @return Error. */ - Error Init(sm::logprovider::LogObserverItf& logReceiver, const common::logprovider::Config& config); + Error Init(sm::logprovider::LogObserverItf& logReceiver, const aos::logprovider::Config& config); /** * Starts archive manager. @@ -66,7 +66,7 @@ class ArchiveManager { struct ArchiveContext { ArchiveContext(const std::string& logID, sm::logprovider::LogObserverItf& logReceiver, - const common::logprovider::Config& config) + const aos::logprovider::Config& config) : mLogID(logID) , mUpdated(Time::Now()) , mArchivator(logReceiver, config) @@ -89,7 +89,7 @@ class ArchiveManager { std::thread mThread; std::condition_variable mCondVar; std::mutex mMutex; - common::logprovider::Config mConfig = {}; + aos::logprovider::Config mConfig = {}; sm::logprovider::LogObserverItf* mLogReceiver = {}; std::vector> mArchiveContexts; std::queue> mLogQueue; diff --git a/src/mp/logprovider/tests/archivemanager.cpp b/src/mp/logprovider/tests/archivemanager.cpp index 6ac912e6a..799636ac3 100644 --- a/src/mp/logprovider/tests/archivemanager.cpp +++ b/src/mp/logprovider/tests/archivemanager.cpp @@ -140,9 +140,9 @@ class ArchiveManagerTest : public ::testing::Test { void TearDown() override { } - common::logprovider::Config mConfig; - LogObserverStub mLogObserver; - ArchiveManager mArchiveManager; + aos::logprovider::Config mConfig; + LogObserverStub mLogObserver; + ArchiveManager mArchiveManager; }; /*********************************************************************************************************************** From abd00fba897687e148208114fe9235abcd7244a1 Mon Sep 17 00:00:00 2001 From: Mykhailo Lohvynenko Date: Wed, 25 Jun 2025 13:58:39 +0300 Subject: [PATCH 3/3] sm: use core lib log provider config structure Signed-off-by: Mykhailo Lohvynenko Reviewed-by: Mykola Solianko Reviewed-by: Oleksandr Grytsov --- src/sm/config/config.cpp | 2 +- src/sm/config/config.hpp | 32 ++++++++++++------------ src/sm/logprovider/logprovider.cpp | 2 +- src/sm/logprovider/logprovider.hpp | 8 +++--- src/sm/logprovider/tests/logprovider.cpp | 2 +- 5 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/sm/config/config.cpp b/src/sm/config/config.cpp index 4afea8f7c..d43f83430 100644 --- a/src/sm/config/config.cpp +++ b/src/sm/config/config.cpp @@ -69,7 +69,7 @@ void ParseMonitoringConfig(const common::utils::CaseInsensitiveObjectWrapper& ob AOS_ERROR_CHECK_AND_THROW(err, "error parsing averageWindow tag"); } -void ParseLoggingConfig(const common::utils::CaseInsensitiveObjectWrapper& object, common::logprovider::Config& config) +void ParseLoggingConfig(const common::utils::CaseInsensitiveObjectWrapper& object, aos::logprovider::Config& config) { config.mMaxPartSize = object.GetValue("maxPartSize", cloudprotocol::cLogContentLen); config.mMaxPartCount = object.GetValue("maxPartCount", 80); diff --git a/src/sm/config/config.hpp b/src/sm/config/config.hpp index f1e17b522..a255a556f 100644 --- a/src/sm/config/config.hpp +++ b/src/sm/config/config.hpp @@ -12,6 +12,7 @@ #include +#include #include #include #include @@ -19,7 +20,6 @@ #include #include -#include #include #include @@ -50,21 +50,21 @@ struct MigrationConfig { * Config instance. */ struct Config { - common::iamclient::Config mIAMClientConfig; - sm::layermanager::Config mLayerManagerConfig; - sm::servicemanager::Config mServiceManagerConfig; - sm::launcher::Config mLauncherConfig; - smclient::Config mSMClientConfig; - std::string mCertStorage; - std::string mIAMProtectedServerURL; - std::string mWorkingDir; - uint32_t mServicesPartLimit; - uint32_t mLayersPartLimit; - std::string mNodeConfigFile; - monitoring::Config mMonitoring; - common::logprovider::Config mLogging; - JournalAlertsConfig mJournalAlerts; - MigrationConfig mMigration; + common::iamclient::Config mIAMClientConfig; + sm::layermanager::Config mLayerManagerConfig; + sm::servicemanager::Config mServiceManagerConfig; + sm::launcher::Config mLauncherConfig; + smclient::Config mSMClientConfig; + std::string mCertStorage; + std::string mIAMProtectedServerURL; + std::string mWorkingDir; + uint32_t mServicesPartLimit; + uint32_t mLayersPartLimit; + std::string mNodeConfigFile; + monitoring::Config mMonitoring; + logprovider::Config mLogging; + JournalAlertsConfig mJournalAlerts; + MigrationConfig mMigration; }; /******************************************************************************* diff --git a/src/sm/logprovider/logprovider.cpp b/src/sm/logprovider/logprovider.cpp index 370674fa6..b100f9246 100644 --- a/src/sm/logprovider/logprovider.cpp +++ b/src/sm/logprovider/logprovider.cpp @@ -22,7 +22,7 @@ namespace aos::sm::logprovider { * Public **********************************************************************************************************************/ -Error LogProvider::Init(const common::logprovider::Config& config, InstanceIDProviderItf& instanceProvider) +Error LogProvider::Init(const aos::logprovider::Config& config, InstanceIDProviderItf& instanceProvider) { LOG_DBG() << "Init log provider"; diff --git a/src/sm/logprovider/logprovider.hpp b/src/sm/logprovider/logprovider.hpp index c6a16ac2c..00c7bead7 100644 --- a/src/sm/logprovider/logprovider.hpp +++ b/src/sm/logprovider/logprovider.hpp @@ -51,7 +51,7 @@ class LogProvider : public LogProviderItf { * @param config log provider config. * @return Error. */ - Error Init(const common::logprovider::Config& config, InstanceIDProviderItf& instanceProvider); + Error Init(const aos::logprovider::Config& config, InstanceIDProviderItf& instanceProvider); /** * Starts requests processing thread. @@ -158,9 +158,9 @@ class LogProvider : public LogProviderItf { std::string GetUnitNameFromLog(const utils::JournalEntry& entry); std::string MakeUnitNameFromInstanceID(const std::string& instanceID); - InstanceIDProviderItf* mInstanceProvider = nullptr; - common::logprovider::Config mConfig = {}; - LogObserverItf* mLogReceiver = nullptr; + InstanceIDProviderItf* mInstanceProvider = nullptr; + aos::logprovider::Config mConfig = {}; + LogObserverItf* mLogReceiver = nullptr; std::thread mWorkerThread; std::queue mLogRequests; diff --git a/src/sm/logprovider/tests/logprovider.cpp b/src/sm/logprovider/tests/logprovider.cpp index a2dd4d7ea..7ac286e9d 100644 --- a/src/sm/logprovider/tests/logprovider.cpp +++ b/src/sm/logprovider/tests/logprovider.cpp @@ -42,7 +42,7 @@ class LogProviderTest : public Test { { aos::test::InitLog(); - auto config = common::logprovider::Config {200, 10}; + auto config = aos::logprovider::Config {200, 10}; mLogProvider.Init(config, mInstanceIDProvider); mLogProvider.Subscribe(mLogObserver);