mirror of
https://github.com/Telecominfraproject/wlan-cloud-ucentralfms.git
synced 2026-01-27 10:23:12 +00:00
Merge pull request #56 from Telecominfraproject/WIFI-10900
https://telecominfraproject.atlassian.net/browse/WIFI-10900
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
namespace OpenWifi {
|
||||
|
||||
int AutoUpdater::Start() {
|
||||
poco_information(Logger(),"Starting...");
|
||||
AutoUpdaterEnabled_ = MicroService::instance().ConfigGetBool("autoupdater.enabled", false);
|
||||
if(AutoUpdaterEnabled_) {
|
||||
Running_ = false;
|
||||
@@ -24,10 +25,12 @@ namespace OpenWifi {
|
||||
}
|
||||
|
||||
void AutoUpdater::Stop() {
|
||||
poco_information(Logger(),"Stopping...");
|
||||
Running_ = false;
|
||||
if(AutoUpdaterEnabled_) {
|
||||
Timer_.stop();
|
||||
}
|
||||
poco_information(Logger(),"Stopped...");
|
||||
}
|
||||
|
||||
void AutoUpdater::ToBeUpgraded(std::string serialNumber, std::string DeviceType) {
|
||||
@@ -45,7 +48,7 @@ namespace OpenWifi {
|
||||
auto Entry = Queue_.front();
|
||||
Queue_.pop_front();
|
||||
try {
|
||||
Logger().debug(fmt::format("Preparing to upgrade {}",Entry.first));
|
||||
poco_debug(Logger(),fmt::format("Preparing to upgrade {}",Entry.first));
|
||||
auto CacheEntry = Cache_.find(Entry.first);
|
||||
uint64_t now = OpenWifi::Now();
|
||||
std::string firmwareUpgrade;
|
||||
@@ -55,11 +58,11 @@ namespace OpenWifi {
|
||||
C.LastCheck = now;
|
||||
bool firmwareRCOnly;
|
||||
if(OpenWifi::SDK::Prov::GetFirmwareOptions(Entry.first, firmwareUpgrade, firmwareRCOnly)) {
|
||||
Logger().debug(fmt::format("Found firmware options for {}",Entry.first));
|
||||
poco_debug(Logger(),fmt::format("Found firmware options for {}",Entry.first));
|
||||
C.firmwareRCOnly = firmwareRCOnly;
|
||||
C.firmwareUpgrade = firmwareUpgrade;
|
||||
} else {
|
||||
Logger().debug(fmt::format("Found no firmware options for {}",Entry.first));
|
||||
poco_debug(Logger(),fmt::format("Found no firmware options for {}",Entry.first));
|
||||
C.firmwareRCOnly = firmwareRCOnly;
|
||||
C.firmwareUpgrade = firmwareUpgrade;
|
||||
}
|
||||
@@ -69,7 +72,7 @@ namespace OpenWifi {
|
||||
}
|
||||
|
||||
if(firmwareUpgrade=="no") {
|
||||
Logger().information(fmt::format("Device {} not upgradable. Provisioning service settings.",Entry.first));
|
||||
poco_information(Logger(),fmt::format("Device {} not upgradable. Provisioning service settings.",Entry.first));
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -79,26 +82,26 @@ namespace OpenWifi {
|
||||
if(LF) {
|
||||
if(StorageService()->FirmwaresDB().GetFirmware(fwEntry.Id,fwDetails)) {
|
||||
// send the command to upgrade this device...
|
||||
Logger().information(fmt::format("Upgrading {} to version {}", Entry.first, fwEntry.Revision));
|
||||
poco_information(Logger(),fmt::format("Upgrading {} to version {}", Entry.first, fwEntry.Revision));
|
||||
if(OpenWifi::SDK::GW::SendFirmwareUpgradeCommand(Entry.first,fwDetails.uri)) {
|
||||
Logger().information(fmt::format("Upgrade command sent for {}",Entry.first));
|
||||
poco_information(Logger(),fmt::format("Upgrade command sent for {}",Entry.first));
|
||||
} else {
|
||||
Logger().information(fmt::format("Upgrade command not sent for {}",Entry.first));
|
||||
poco_information(Logger(),fmt::format("Upgrade command not sent for {}",Entry.first));
|
||||
}
|
||||
} else {
|
||||
Logger().information(fmt::format("Firmware for device {} ({}) cannot be found.", Entry.first, Entry.second ));
|
||||
poco_information(Logger(),fmt::format("Firmware for device {} ({}) cannot be found.", Entry.first, Entry.second ));
|
||||
}
|
||||
} else {
|
||||
Logger().information(fmt::format("Firmware for device {} ({}) cannot be found.", Entry.first, Entry.second ));
|
||||
poco_information(Logger(),fmt::format("Firmware for device {} ({}) cannot be found.", Entry.first, Entry.second ));
|
||||
}
|
||||
} catch (...) {
|
||||
Logger().information(fmt::format("Exception during auto update for device {}.", Entry.first ));
|
||||
poco_information(Logger(),fmt::format("Exception during auto update for device {}.", Entry.first ));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void AutoUpdater::reinitialize([[maybe_unused]] Poco::Util::Application &self) {
|
||||
Logger().information("Reinitializing.");
|
||||
poco_information(Logger(),"Reinitializing.");
|
||||
Reset();
|
||||
}
|
||||
}
|
||||
@@ -7,10 +7,13 @@
|
||||
namespace OpenWifi {
|
||||
|
||||
int DeviceCache::Start() {
|
||||
poco_information(Logger(),"Starting...");
|
||||
return 0;
|
||||
}
|
||||
|
||||
void DeviceCache::Stop() {
|
||||
poco_information(Logger(),"Stopping...");
|
||||
poco_information(Logger(),"Stopped...");
|
||||
}
|
||||
|
||||
void DeviceCache::AddToCache(
|
||||
|
||||
@@ -7,11 +7,13 @@
|
||||
namespace OpenWifi {
|
||||
|
||||
int FirmwareCache::Start() {
|
||||
poco_information(Logger(),"Starting...");
|
||||
return 0;
|
||||
}
|
||||
|
||||
void FirmwareCache::Stop() {
|
||||
|
||||
poco_information(Logger(),"Stopping...");
|
||||
poco_information(Logger(),"Stopped...");
|
||||
}
|
||||
|
||||
std::shared_ptr<FMSObjects::Firmware> GetFirmware([[maybe_unused]] const std::string & DeviceType, [[maybe_unused]] const std::string & Revision) {
|
||||
|
||||
@@ -8,11 +8,14 @@
|
||||
namespace OpenWifi {
|
||||
|
||||
int LatestFirmwareCache::Start() {
|
||||
poco_information(Logger(),"Starting...");
|
||||
StorageService()->FirmwaresDB().PopulateLatestFirmwareCache();
|
||||
return 0;
|
||||
}
|
||||
|
||||
void LatestFirmwareCache::Stop() {
|
||||
poco_information(Logger(),"Stopping...");
|
||||
poco_information(Logger(),"Stopped...");
|
||||
}
|
||||
|
||||
bool LatestFirmwareCache::AddToCache(const std::string & DeviceType, const std::string &Revision, const std::string &Id, uint64_t TimeStamp) {
|
||||
|
||||
@@ -18,11 +18,11 @@ namespace OpenWifi {
|
||||
|
||||
void ManifestCreator::onTimer([[maybe_unused]] Poco::Timer &timer) {
|
||||
Utils::SetThreadName("manifest");
|
||||
Logger().information("Performing DB refresh");
|
||||
poco_information(Logger(),"Performing DB refresh");
|
||||
S3BucketContent BucketList;
|
||||
StorageService()->FirmwaresDB().RemoveOldFirmware();
|
||||
ReadBucket(BucketList);
|
||||
Logger().information(fmt::format("Found {} firmware entries in S3 repository.", BucketList.size()));
|
||||
poco_information(Logger(),fmt::format("Found {} firmware entries in S3 repository.", BucketList.size()));
|
||||
ComputeManifest(BucketList);
|
||||
AddManifestToDB(BucketList);
|
||||
}
|
||||
@@ -49,7 +49,7 @@ namespace OpenWifi {
|
||||
Entry.Image = ParsedContent->get("image").toString();
|
||||
auto FullNme = Name + "-upgrade.bin";
|
||||
if(FullNme!=Entry.Image) {
|
||||
Logger().error(fmt::format("MANIFEST({}): Image name does not match manifest name ({}).",Name,Entry.Image));
|
||||
poco_error(Logger(),fmt::format("MANIFEST({}): Image name does not match manifest name ({}).",Name,Entry.Image));
|
||||
Entry.Valid = false;
|
||||
BadFormat++;
|
||||
continue;
|
||||
@@ -61,7 +61,7 @@ namespace OpenWifi {
|
||||
Entry.Valid = false;
|
||||
}
|
||||
} else {
|
||||
Logger().error(fmt::format("MANIFEST({}): Entry does not have a valid JSON manifest.",Name));
|
||||
poco_error(Logger(),fmt::format("MANIFEST({}): Entry does not have a valid JSON manifest.",Name));
|
||||
MissingJson++;
|
||||
Entry.Valid = false;
|
||||
}
|
||||
@@ -70,10 +70,10 @@ namespace OpenWifi {
|
||||
}
|
||||
}
|
||||
|
||||
Logger().information(fmt::format("Accepted {} firmwares.", Accepted));
|
||||
Logger().information(fmt::format("Rejected {} too old firmwares.", Rejected));
|
||||
Logger().information(fmt::format("Rejected {} bad JSON.", BadFormat));
|
||||
Logger().information(fmt::format("Rejected {} missing JSON.", MissingJson));
|
||||
poco_information(Logger(),fmt::format("Accepted {} firmwares.", Accepted));
|
||||
poco_information(Logger(),fmt::format("Rejected {} too old firmwares.", Rejected));
|
||||
poco_information(Logger(),fmt::format("Rejected {} bad JSON.", BadFormat));
|
||||
poco_information(Logger(),fmt::format("Rejected {} missing JSON.", MissingJson));
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -99,7 +99,7 @@ namespace OpenWifi {
|
||||
F.revision = BucketEntry.Revision;
|
||||
F.deviceType = BucketEntry.Compatible;
|
||||
if(StorageService()->FirmwaresDB().AddFirmware(F)) {
|
||||
Logger().information(fmt::format("Adding firmware '{}', size={}",Release,F.size));
|
||||
poco_information(Logger(),fmt::format("Adding firmware '{}', size={}",Release,F.size));
|
||||
} else {
|
||||
}
|
||||
}
|
||||
@@ -185,7 +185,7 @@ namespace OpenWifi {
|
||||
while(!isDone) {
|
||||
Outcome = S3Client.ListObjectsV2(Request);
|
||||
if(!Outcome.IsSuccess()) {
|
||||
Logger().error(fmt::format("Error while doing ListObjectsV2: {}, {}",
|
||||
poco_error(Logger(),fmt::format("Error while doing ListObjectsV2: {}, {}",
|
||||
std::string{Outcome.GetError().GetExceptionName()},
|
||||
std::string{Outcome.GetError().GetMessage()}));
|
||||
return false;
|
||||
@@ -281,7 +281,7 @@ namespace OpenWifi {
|
||||
|
||||
// std::cout << "Count:" << Count << " Runs:" << Runs << std::endl;
|
||||
if(!Outcome.IsSuccess()) {
|
||||
Logger().error(fmt::format("Error while doing ListObjectsV2: {}, {}",
|
||||
poco_error(Logger(),fmt::format("Error while doing ListObjectsV2: {}, {}",
|
||||
std::string{Outcome.GetError().GetExceptionName()},
|
||||
std::string{Outcome.GetError().GetMessage()}));
|
||||
return false;
|
||||
|
||||
@@ -46,9 +46,9 @@ namespace OpenWifi {
|
||||
if(Command=="delete_device") {
|
||||
auto pSerialNumber = PayloadSection["payload"]["serialNumber"];
|
||||
if(pSerialNumber==SerialNumber) {
|
||||
Logger().debug(fmt::format("Removing device '{}' from upgrade history.",SerialNumber));
|
||||
poco_debug(Logger(),fmt::format("Removing device '{}' from upgrade history.",SerialNumber));
|
||||
StorageService()->HistoryDB().DeleteHistory(SerialNumber);
|
||||
Logger().debug(fmt::format("Removing device '{}' from device table.",SerialNumber));
|
||||
poco_debug(Logger(),fmt::format("Removing device '{}' from device table.",SerialNumber));
|
||||
StorageService()->DevicesDB().DeleteDevice(SerialNumber);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,12 +68,12 @@ namespace OpenWifi {
|
||||
if(StorageService()->FirmwaresDB().ComputeFirmwareAge(DeviceType, Revision, FA)) {
|
||||
StorageService()->DevicesDB().SetDeviceRevision(SerialNumber, Revision, DeviceType, EndPoint);
|
||||
if(FA.age)
|
||||
Logger().information(fmt::format("Device {} connection. Firmware is {} older than latest.",SerialNumber, Utils::SecondsToNiceText(FA.age)));
|
||||
poco_information(Logger(),fmt::format("Device {} connection. Firmware is {} older than latest.",SerialNumber, Utils::SecondsToNiceText(FA.age)));
|
||||
else
|
||||
Logger().information(fmt::format("Device {} connection. Device firmware is up to date.",SerialNumber));
|
||||
poco_information(Logger(),fmt::format("Device {} connection. Device firmware is up to date.",SerialNumber));
|
||||
}
|
||||
else {
|
||||
Logger().information(fmt::format("Device {} connection. Firmware age cannot be determined.",SerialNumber));
|
||||
poco_information(Logger(),fmt::format("Device {} connection. Firmware age cannot be determined.",SerialNumber));
|
||||
}
|
||||
|
||||
if(!LatestFirmwareCache()->IsLatest(DeviceType, Revision)) {
|
||||
@@ -116,6 +116,7 @@ namespace OpenWifi {
|
||||
};
|
||||
|
||||
int NewConnectionHandler::Start() {
|
||||
poco_information(Logger(),"Starting...");
|
||||
Types::TopicNotifyFunction F = [this](std::string s1,std::string s2) { this->ConnectionReceived(s1,s2); };
|
||||
ConnectionWatcherId_ = KafkaManager()->RegisterTopicWatcher(KafkaTopics::CONNECTION, F);
|
||||
Worker_.start(*this);
|
||||
@@ -123,10 +124,12 @@ namespace OpenWifi {
|
||||
};
|
||||
|
||||
void NewConnectionHandler::Stop() {
|
||||
poco_information(Logger(),"Stopping...");
|
||||
KafkaManager()->UnregisterTopicWatcher(KafkaTopics::CONNECTION, ConnectionWatcherId_);
|
||||
Running_ = false;
|
||||
Worker_.wakeUp();
|
||||
Worker_.join();
|
||||
poco_information(Logger(),"Stopped...");
|
||||
};
|
||||
|
||||
bool NewConnectionHandler::Update() {
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
namespace OpenWifi {
|
||||
|
||||
int Storage::Start() {
|
||||
poco_information(Logger(),"Starting...");
|
||||
std::lock_guard Guard(Mutex_);
|
||||
|
||||
StorageClass::Start();
|
||||
@@ -27,9 +28,10 @@ namespace OpenWifi {
|
||||
}
|
||||
|
||||
void Storage::Stop() {
|
||||
poco_information(Logger(),"Stopping...");
|
||||
std::lock_guard Guard(Mutex_);
|
||||
Logger().notice("Stopping.");
|
||||
StorageClass::Stop();
|
||||
poco_information(Logger(),"Stopped...");
|
||||
}
|
||||
|
||||
std::string Storage::TrimRevision(const std::string &R) {
|
||||
|
||||
Reference in New Issue
Block a user