@@ -120,11 +120,11 @@ type Operator struct {
120
120
cacheSynced []cache.InformerSynced
121
121
122
122
// queue tracks applying updates to a cluster.
123
- queue workqueue.RateLimitingInterface
123
+ queue workqueue.TypedRateLimitingInterface [ any ]
124
124
// availableUpdatesQueue tracks checking for updates from the update server.
125
- availableUpdatesQueue workqueue.RateLimitingInterface
125
+ availableUpdatesQueue workqueue.TypedRateLimitingInterface [ any ]
126
126
// upgradeableQueue tracks checking for upgradeable.
127
- upgradeableQueue workqueue.RateLimitingInterface
127
+ upgradeableQueue workqueue.TypedRateLimitingInterface [ any ]
128
128
129
129
// statusLock guards access to modifying available updates
130
130
statusLock sync.Mutex
@@ -217,13 +217,12 @@ func New(
217
217
payloadDir : overridePayloadDir ,
218
218
updateService : updateService ,
219
219
220
- client : client ,
221
- kubeClient : kubeClient ,
222
- eventRecorder : eventBroadcaster .NewRecorder (scheme .Scheme , corev1.EventSource {Component : namespace }),
223
-
224
- queue : workqueue .NewNamedRateLimitingQueue (workqueue .DefaultControllerRateLimiter (), "clusterversion" ),
225
- availableUpdatesQueue : workqueue .NewNamedRateLimitingQueue (workqueue .DefaultControllerRateLimiter (), "availableupdates" ),
226
- upgradeableQueue : workqueue .NewNamedRateLimitingQueue (workqueue .DefaultControllerRateLimiter (), "upgradeable" ),
220
+ client : client ,
221
+ kubeClient : kubeClient ,
222
+ eventRecorder : eventBroadcaster .NewRecorder (scheme .Scheme , corev1.EventSource {Component : namespace }),
223
+ queue : workqueue .NewTypedRateLimitingQueueWithConfig [any ](workqueue .DefaultTypedControllerRateLimiter [any ](), workqueue.TypedRateLimitingQueueConfig [any ]{Name : "clusterversion" }),
224
+ availableUpdatesQueue : workqueue .NewTypedRateLimitingQueueWithConfig [any ](workqueue .DefaultTypedControllerRateLimiter [any ](), workqueue.TypedRateLimitingQueueConfig [any ]{Name : "availableupdates" }),
225
+ upgradeableQueue : workqueue .NewTypedRateLimitingQueueWithConfig [any ](workqueue .DefaultTypedControllerRateLimiter [any ](), workqueue.TypedRateLimitingQueueConfig [any ]{Name : "upgradeable" }),
227
226
228
227
exclude : exclude ,
229
228
clusterProfile : clusterProfile ,
@@ -607,14 +606,14 @@ func clusterOperatorConditionStatus(co *configv1.ClusterOperator, condType confi
607
606
return configv1 .ConditionUnknown
608
607
}
609
608
610
- func (optr * Operator ) worker (ctx context.Context , queue workqueue.RateLimitingInterface , syncHandler func (context.Context , string ) error ) {
609
+ func (optr * Operator ) worker (ctx context.Context , queue workqueue.TypedRateLimitingInterface [ any ] , syncHandler func (context.Context , string ) error ) {
611
610
for processNextWorkItem (ctx , queue , syncHandler , optr .syncFailingStatus ) {
612
611
}
613
612
}
614
613
615
614
type syncFailingStatusFunc func (ctx context.Context , config * configv1.ClusterVersion , err error ) error
616
615
617
- func processNextWorkItem (ctx context.Context , queue workqueue.RateLimitingInterface , syncHandler func (context.Context , string ) error , syncFailingStatus syncFailingStatusFunc ) bool {
616
+ func processNextWorkItem (ctx context.Context , queue workqueue.TypedRateLimitingInterface [ any ] , syncHandler func (context.Context , string ) error , syncFailingStatus syncFailingStatusFunc ) bool {
618
617
key , quit := queue .Get ()
619
618
if quit {
620
619
return false
@@ -626,7 +625,7 @@ func processNextWorkItem(ctx context.Context, queue workqueue.RateLimitingInterf
626
625
return true
627
626
}
628
627
629
- func handleErr (ctx context.Context , queue workqueue.RateLimitingInterface , err error , key interface {}, syncFailingStatus syncFailingStatusFunc ) {
628
+ func handleErr (ctx context.Context , queue workqueue.TypedRateLimitingInterface [ any ] , err error , key interface {}, syncFailingStatus syncFailingStatusFunc ) {
630
629
if err == nil {
631
630
queue .Forget (key )
632
631
return
0 commit comments