f0e1c206a9
This patch introduces ControllerPipeline which is an entry point handler for the Kuryr-Kubernetes controller. ControllerPipeline allows registering ResourceEventHandlers and ensures the proper handler is called for each event that is passed to the ControllerPipeline. Also it ensures the following behavior: - multiple ResourceEventHandlers can be registered for the same resource type (OBJECT_KIND) - failing handlers (i.e. ones that raise Exceptions) are retried until either the handler succeeds or a finite amount of time passes, in which case the most recent exception is logged - in case there are multiple handlers registered for the same resource type, all such handlers are considered independent (i.e. if one handler fails, other handlers will still be called regardless; and the order in which such handlers are called is not determined) - events for different Kubernetes objects can be handled concurrently - events for the same Kubernetes object are handled sequentially in the order of arrival Change-Id: Ib17e0c7a2790cdbc31be4f59d50972b43c272480 Partially-Implements: blueprint kuryr-k8s-integration
0 lines
Python
0 lines
Python