mirror of
				https://github.com/Telecominfraproject/wlan-cloud-owprov.git
				synced 2025-10-31 18:48:09 +00:00 
			
		
		
		
	Compare commits
	
		
			3 Commits
		
	
	
		
			version_up
			...
			v3.1.0
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 36f491b1e2 | ||
|   | f39388d994 | ||
|   | d1a830bcb4 | 
| @@ -1,5 +1,5 @@ | |||||||
| cmake_minimum_required(VERSION 3.13) | cmake_minimum_required(VERSION 3.13) | ||||||
| project(owprov VERSION 3.2.1) | project(owprov VERSION 3.1.0) | ||||||
|  |  | ||||||
| set(CMAKE_CXX_STANDARD 17) | set(CMAKE_CXX_STANDARD 17) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ fullnameOverride: "" | |||||||
| images: | images: | ||||||
|   owprov: |   owprov: | ||||||
|     repository: tip-tip-wlan-cloud-ucentral.jfrog.io/owprov |     repository: tip-tip-wlan-cloud-ucentral.jfrog.io/owprov | ||||||
|     tag: main |     tag: v3.1.0 | ||||||
|     pullPolicy: Always |     pullPolicy: Always | ||||||
| #    regcred: | #    regcred: | ||||||
| #      registry: tip-tip-wlan-cloud-ucentral.jfrog.io | #      registry: tip-tip-wlan-cloud-ucentral.jfrog.io | ||||||
|   | |||||||
| @@ -5,7 +5,6 @@ | |||||||
| #include "AutoDiscovery.h" | #include "AutoDiscovery.h" | ||||||
| #include "Poco/JSON/Parser.h" | #include "Poco/JSON/Parser.h" | ||||||
| #include "StorageService.h" | #include "StorageService.h" | ||||||
| #include "Tasks/VenueConfigUpdater.h" |  | ||||||
| #include "framework/KafkaManager.h" | #include "framework/KafkaManager.h" | ||||||
| #include "framework/KafkaTopics.h" | #include "framework/KafkaTopics.h" | ||||||
| #include "framework/ow_constants.h" | #include "framework/ow_constants.h" | ||||||
| @@ -108,11 +107,6 @@ namespace OpenWifi { | |||||||
|                         if (!SerialNumber.empty() && Connected) { |                         if (!SerialNumber.empty() && Connected) { | ||||||
|                             StorageService()->InventoryDB().CreateFromConnection( |                             StorageService()->InventoryDB().CreateFromConnection( | ||||||
|                                     SerialNumber, ConnectedIP, Compatible, Locale, isConnection); |                                     SerialNumber, ConnectedIP, Compatible, Locale, isConnection); | ||||||
|                             // Now that the entry has been created, we can try to push a config if |  | ||||||
|                             // the connection was a capabilities message. |  | ||||||
|                             if (isConnection){ |  | ||||||
|                                 ComputeAndPushConfig(SerialNumber, Compatible, Logger()); |  | ||||||
|                             } |  | ||||||
|                         } |                         } | ||||||
|                     } |                     } | ||||||
| 				} catch (const Poco::Exception &E) { | 				} catch (const Poco::Exception &E) { | ||||||
|   | |||||||
| @@ -14,13 +14,28 @@ | |||||||
| #include "RESTAPI/RESTAPI_db_helpers.h" | #include "RESTAPI/RESTAPI_db_helpers.h" | ||||||
| #include "SerialNumberCache.h" | #include "SerialNumberCache.h" | ||||||
| #include "StorageService.h" | #include "StorageService.h" | ||||||
| #include "Tasks/VenueConfigUpdater.h" |  | ||||||
| #include "framework/utils.h" | #include "framework/utils.h" | ||||||
| #include "sdks/SDK_gw.h" | #include "sdks/SDK_gw.h" | ||||||
| #include "sdks/SDK_sec.h" | #include "sdks/SDK_sec.h" | ||||||
|  |  | ||||||
| namespace OpenWifi { | namespace OpenWifi { | ||||||
|  |  | ||||||
|  | 	void GetRejectedLines(const Poco::JSON::Object::Ptr &Response, Types::StringVec &Warnings) { | ||||||
|  | 		try { | ||||||
|  | 			if (Response->has("results")) { | ||||||
|  | 				auto Results = Response->get("results").extract<Poco::JSON::Object::Ptr>(); | ||||||
|  | 				auto Status = Results->get("status").extract<Poco::JSON::Object::Ptr>(); | ||||||
|  | 				auto Rejected = Status->getArray("rejected"); | ||||||
|  | 				std::transform( | ||||||
|  | 					Rejected->begin(), Rejected->end(), std::back_inserter(Warnings), | ||||||
|  | 					[](auto i) -> auto { return i.toString(); }); | ||||||
|  | 				//                for(const auto &i:*Rejected) | ||||||
|  | 				//                  Warnings.push_back(i.toString()); | ||||||
|  | 			} | ||||||
|  | 		} catch (...) { | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	void RESTAPI_inventory_handler::DoGet() { | 	void RESTAPI_inventory_handler::DoGet() { | ||||||
|  |  | ||||||
| 		ProvObjects::InventoryTag Existing; | 		ProvObjects::InventoryTag Existing; | ||||||
| @@ -299,8 +314,6 @@ namespace OpenWifi { | |||||||
| 			return NotFound(); | 			return NotFound(); | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		std::string previous_venue = Existing.venue; |  | ||||||
|  |  | ||||||
| 		auto RemoveSubscriber = GetParameter("removeSubscriber"); | 		auto RemoveSubscriber = GetParameter("removeSubscriber"); | ||||||
| 		if (!RemoveSubscriber.empty()) { | 		if (!RemoveSubscriber.empty()) { | ||||||
| 			if (Existing.subscriber == RemoveSubscriber) { | 			if (Existing.subscriber == RemoveSubscriber) { | ||||||
| @@ -458,13 +471,6 @@ namespace OpenWifi { | |||||||
| 			SDK::GW::Device::SetOwnerShip(this, SerialNumber, Existing.entity, Existing.venue, | 			SDK::GW::Device::SetOwnerShip(this, SerialNumber, Existing.entity, Existing.venue, | ||||||
| 										  Existing.subscriber); | 										  Existing.subscriber); | ||||||
|  |  | ||||||
| 			// Attempt an automatic config push when the venue is set and different than what is |  | ||||||
| 			// in DB. |  | ||||||
| 			poco_information(Logger(), fmt::format("New Venue {} Old Venue {}", NewObject.venue, previous_venue)); |  | ||||||
| 			if (!NewObject.venue.empty() && NewObject.venue != previous_venue) { |  | ||||||
| 				ComputeAndPushConfig(SerialNumber, NewObject.deviceType, Logger()); |  | ||||||
| 			} |  | ||||||
|  |  | ||||||
| 			ProvObjects::InventoryTag NewObjectCreated; | 			ProvObjects::InventoryTag NewObjectCreated; | ||||||
| 			DB_.GetRecord("id", Existing.info.id, NewObjectCreated); | 			DB_.GetRecord("id", Existing.info.id, NewObjectCreated); | ||||||
| 			Poco::JSON::Object Answer; | 			Poco::JSON::Object Answer; | ||||||
|   | |||||||
| @@ -28,42 +28,6 @@ namespace OpenWifi { | |||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	[[maybe_unused]] static void ComputeAndPushConfig(const std::string &SerialNumber, const std::string &DeviceType, Poco::Logger &Logger) { |  | ||||||
| 		/* |  | ||||||
| 		Generic Helper to compute a device's config and push it down to the device. |  | ||||||
| 		*/ |  | ||||||
| 		poco_information(Logger, fmt::format("Attempting to push venue config for device {}", SerialNumber)); |  | ||||||
| 		auto DeviceConfig = std::make_shared<APConfig>(SerialNumber, |  | ||||||
| 														DeviceType, Logger, false); |  | ||||||
| 		auto Configuration = Poco::makeShared<Poco::JSON::Object>(); |  | ||||||
| 		try { |  | ||||||
| 			if (DeviceConfig->Get(Configuration)) { |  | ||||||
| 				std::ostringstream OS; |  | ||||||
| 				Configuration->stringify(OS); |  | ||||||
| 				auto Response = Poco::makeShared<Poco::JSON::Object>(); |  | ||||||
| 				poco_debug(Logger, |  | ||||||
| 							fmt::format("{}: Pushing configuration.", SerialNumber)); |  | ||||||
| 				if (SDK::GW::Device::Configure(nullptr, SerialNumber, Configuration, |  | ||||||
| 												Response)) { |  | ||||||
| 					Logger.debug( |  | ||||||
| 						fmt::format("{}: Configuration pushed.", SerialNumber)); |  | ||||||
| 					poco_information(Logger, |  | ||||||
| 										fmt::format("{}: Updated.", SerialNumber)); |  | ||||||
| 				} else { |  | ||||||
| 					poco_information(Logger, |  | ||||||
| 										fmt::format("{}: Not updated.", SerialNumber)); |  | ||||||
| 				} |  | ||||||
| 			} else { |  | ||||||
| 				poco_debug(Logger, |  | ||||||
| 							fmt::format("{}: Configuration is bad.", SerialNumber)); |  | ||||||
| 			} |  | ||||||
| 		} catch (...) { |  | ||||||
| 			poco_debug(Logger, |  | ||||||
| 						fmt::format("{}: Configuration is bad (caused an exception).", |  | ||||||
| 									SerialNumber)); |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	class VenueDeviceConfigUpdater : public Poco::Runnable { | 	class VenueDeviceConfigUpdater : public Poco::Runnable { | ||||||
| 	  public: | 	  public: | ||||||
| 		VenueDeviceConfigUpdater(const std::string &UUID, const std::string &venue, Poco::Logger &L) | 		VenueDeviceConfigUpdater(const std::string &UUID, const std::string &venue, Poco::Logger &L) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user