mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Clean shutdown of endpoints/endpointslice integration tests
This commit is contained in:
		@@ -73,8 +73,6 @@ const (
 | 
			
		||||
func NewEndpointController(podInformer coreinformers.PodInformer, serviceInformer coreinformers.ServiceInformer,
 | 
			
		||||
	endpointsInformer coreinformers.EndpointsInformer, client clientset.Interface, endpointUpdatesBatchPeriod time.Duration) *Controller {
 | 
			
		||||
	broadcaster := record.NewBroadcaster()
 | 
			
		||||
	broadcaster.StartStructuredLogging(0)
 | 
			
		||||
	broadcaster.StartRecordingToSink(&v1core.EventSinkImpl{Interface: client.CoreV1().Events("")})
 | 
			
		||||
	recorder := broadcaster.NewRecorder(scheme.Scheme, v1.EventSource{Component: "endpoint-controller"})
 | 
			
		||||
 | 
			
		||||
	if client != nil && client.CoreV1().RESTClient().GetRateLimiter() != nil {
 | 
			
		||||
@@ -173,6 +171,12 @@ type Controller struct {
 | 
			
		||||
// endpoints will be handled in parallel.
 | 
			
		||||
func (e *Controller) Run(ctx context.Context, workers int) {
 | 
			
		||||
	defer utilruntime.HandleCrash()
 | 
			
		||||
 | 
			
		||||
	// Start events processing pipeline.
 | 
			
		||||
	e.eventBroadcaster.StartStructuredLogging(0)
 | 
			
		||||
	e.eventBroadcaster.StartRecordingToSink(&v1core.EventSinkImpl{Interface: e.client.CoreV1().Events("")})
 | 
			
		||||
	defer e.eventBroadcaster.Shutdown()
 | 
			
		||||
 | 
			
		||||
	defer e.queue.ShutDown()
 | 
			
		||||
 | 
			
		||||
	klog.Infof("Starting endpoint controller")
 | 
			
		||||
 
 | 
			
		||||
@@ -86,8 +86,6 @@ func NewController(podInformer coreinformers.PodInformer,
 | 
			
		||||
	endpointUpdatesBatchPeriod time.Duration,
 | 
			
		||||
) *Controller {
 | 
			
		||||
	broadcaster := record.NewBroadcaster()
 | 
			
		||||
	broadcaster.StartStructuredLogging(0)
 | 
			
		||||
	broadcaster.StartRecordingToSink(&v1core.EventSinkImpl{Interface: client.CoreV1().Events("")})
 | 
			
		||||
	recorder := broadcaster.NewRecorder(scheme.Scheme, v1.EventSource{Component: "endpoint-slice-controller"})
 | 
			
		||||
 | 
			
		||||
	if client != nil && client.CoreV1().RESTClient().GetRateLimiter() != nil {
 | 
			
		||||
@@ -252,6 +250,12 @@ type Controller struct {
 | 
			
		||||
// Run will not return until stopCh is closed.
 | 
			
		||||
func (c *Controller) Run(workers int, stopCh <-chan struct{}) {
 | 
			
		||||
	defer utilruntime.HandleCrash()
 | 
			
		||||
 | 
			
		||||
	// Start events processing pipeline.
 | 
			
		||||
	c.eventBroadcaster.StartLogging(klog.Infof)
 | 
			
		||||
	c.eventBroadcaster.StartRecordingToSink(&v1core.EventSinkImpl{Interface: c.client.CoreV1().Events("")})
 | 
			
		||||
	defer c.eventBroadcaster.Shutdown()
 | 
			
		||||
 | 
			
		||||
	defer c.queue.ShutDown()
 | 
			
		||||
 | 
			
		||||
	klog.Infof("Starting endpoint slice controller")
 | 
			
		||||
 
 | 
			
		||||
@@ -75,8 +75,6 @@ func NewController(endpointsInformer coreinformers.EndpointsInformer,
 | 
			
		||||
	endpointUpdatesBatchPeriod time.Duration,
 | 
			
		||||
) *Controller {
 | 
			
		||||
	broadcaster := record.NewBroadcaster()
 | 
			
		||||
	broadcaster.StartLogging(klog.Infof)
 | 
			
		||||
	broadcaster.StartRecordingToSink(&v1core.EventSinkImpl{Interface: client.CoreV1().Events("")})
 | 
			
		||||
	recorder := broadcaster.NewRecorder(scheme.Scheme, v1.EventSource{Component: "endpoint-slice-mirroring-controller"})
 | 
			
		||||
 | 
			
		||||
	if client != nil && client.CoreV1().RESTClient().GetRateLimiter() != nil {
 | 
			
		||||
@@ -207,6 +205,12 @@ type Controller struct {
 | 
			
		||||
// Run will not return until stopCh is closed.
 | 
			
		||||
func (c *Controller) Run(workers int, stopCh <-chan struct{}) {
 | 
			
		||||
	defer utilruntime.HandleCrash()
 | 
			
		||||
 | 
			
		||||
	// Start events processing pipeline.
 | 
			
		||||
	c.eventBroadcaster.StartLogging(klog.Infof)
 | 
			
		||||
	c.eventBroadcaster.StartRecordingToSink(&v1core.EventSinkImpl{Interface: c.client.CoreV1().Events("")})
 | 
			
		||||
	defer c.eventBroadcaster.Shutdown()
 | 
			
		||||
 | 
			
		||||
	defer c.queue.ShutDown()
 | 
			
		||||
 | 
			
		||||
	klog.Infof("Starting EndpointSliceMirroring controller")
 | 
			
		||||
 
 | 
			
		||||
@@ -28,9 +28,11 @@ import (
 | 
			
		||||
	"k8s.io/apimachinery/pkg/util/wait"
 | 
			
		||||
	"k8s.io/client-go/informers"
 | 
			
		||||
	"k8s.io/client-go/kubernetes/fake"
 | 
			
		||||
	v1core "k8s.io/client-go/kubernetes/typed/core/v1"
 | 
			
		||||
	"k8s.io/client-go/tools/cache"
 | 
			
		||||
	"k8s.io/client-go/tools/leaderelection/resourcelock"
 | 
			
		||||
 | 
			
		||||
	"k8s.io/klog/v2"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/controller"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -58,6 +60,11 @@ func newController(batchPeriod time.Duration) (*fake.Clientset, *endpointSliceMi
 | 
			
		||||
		client,
 | 
			
		||||
		batchPeriod)
 | 
			
		||||
 | 
			
		||||
	// The event processing pipeline is normally started via Run() method.
 | 
			
		||||
	// However, since we don't start it in unit tests, we explicitly start it here.
 | 
			
		||||
	esController.eventBroadcaster.StartLogging(klog.Infof)
 | 
			
		||||
	esController.eventBroadcaster.StartRecordingToSink(&v1core.EventSinkImpl{Interface: client.CoreV1().Events("")})
 | 
			
		||||
 | 
			
		||||
	esController.endpointsSynced = alwaysReady
 | 
			
		||||
	esController.endpointSlicesSynced = alwaysReady
 | 
			
		||||
	esController.servicesSynced = alwaysReady
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user