Skip to content

Commit a198440

Browse files
committed
Update to fix controller-runtime generics introductions
1 parent 27be694 commit a198440

File tree

6 files changed

+38
-34
lines changed

6 files changed

+38
-34
lines changed

pkg/controller/machine/drain_controller.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,11 @@ func newDrainController(mgr manager.Manager) reconcile.Reconciler {
5656
// As we know drains are a slower operation then traditional reconciles, we start with a
5757
// larger base delay to allow the pods time for graceful shutdown.
5858
// We cap out at 1000 seconds as with the default queue.
59-
func newDrainRateLimiter() workqueue.RateLimiter {
60-
return workqueue.NewMaxOfRateLimiter(
61-
workqueue.NewItemExponentialFailureRateLimiter(5*time.Second, 1000*time.Second),
59+
func newDrainRateLimiter() workqueue.TypedRateLimiter[reconcile.Request] {
60+
return workqueue.NewTypedMaxOfRateLimiter[reconcile.Request](
61+
workqueue.NewTypedItemExponentialFailureRateLimiter[reconcile.Request](5*time.Second, 1000*time.Second),
6262
// 10 qps, 100 bucket size. This is only for retry speed and its only the overall factor (not per item)
63-
&workqueue.BucketRateLimiter{Limiter: rate.NewLimiter(rate.Limit(10), 100)},
63+
&workqueue.TypedBucketRateLimiter[reconcile.Request]{Limiter: rate.NewLimiter(rate.Limit(10), 100)},
6464
)
6565
}
6666

pkg/controller/machinehealthcheck/machinehealthcheck_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ func indexMachineByNodeName(object client.Object) []string {
121121
}
122122

123123
// add adds a new Controller to mgr with r as the reconcile.Reconciler
124-
func add(mgr manager.Manager, r reconcile.Reconciler, mapMachineToMHC handler.TypedMapFunc[*machinev1.Machine], mapNodeToMHC handler.TypedMapFunc[*corev1.Node]) error {
124+
func add(mgr manager.Manager, r reconcile.Reconciler, mapMachineToMHC handler.TypedMapFunc[*machinev1.Machine, reconcile.Request], mapNodeToMHC handler.TypedMapFunc[*corev1.Node, reconcile.Request]) error {
125125
c, err := controller.New(controllerName, mgr, controller.Options{Reconciler: r})
126126
if err != nil {
127127
return err

pkg/controller/machineset/controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ func newReconciler(mgr manager.Manager, gate featuregate.MutableFeatureGate) *Re
8686
}
8787

8888
// add adds a new Controller to mgr with r as the reconcile.Reconciler.
89-
func add(mgr manager.Manager, r reconcile.Reconciler, mapFn handler.TypedMapFunc[*machinev1.Machine]) error {
89+
func add(mgr manager.Manager, r reconcile.Reconciler, mapFn handler.TypedMapFunc[*machinev1.Machine, reconcile.Request]) error {
9090
// Create a new controller.
9191
c, err := controller.New(controllerName, mgr, controller.Options{Reconciler: r})
9292
if err != nil {

pkg/controller/nodelink/nodelink_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ func newReconciler(mgr manager.Manager) (*ReconcileNodeLink, error) {
161161
}
162162

163163
// add adds a new Controller to mgr with r as the reconcile.Reconciler
164-
func add(mgr manager.Manager, r reconcile.Reconciler, mapFn handler.TypedMapFunc[*machinev1.Machine]) error {
164+
func add(mgr manager.Manager, r reconcile.Reconciler, mapFn handler.TypedMapFunc[*machinev1.Machine, reconcile.Request]) error {
165165
// Create a new controller
166166
c, err := controller.New("nodelink-controller", mgr, controller.Options{Reconciler: r})
167167
if err != nil {

pkg/operator/operator.go

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ type Operator struct {
8181
featureGateAccessor featuregates.FeatureGateAccess
8282

8383
// queue only ever has one item, but it has nice error handling backoff/retry semantics
84-
queue workqueue.RateLimitingInterface
84+
queue workqueue.TypedRateLimitingInterface[string]
8585
operandVersions []osconfigv1.OperandVersion
8686

8787
generations []osoperatorv1.GenerationStatus
@@ -122,16 +122,18 @@ func New(
122122
}
123123

124124
optr := &Operator{
125-
namespace: namespace,
126-
name: name,
127-
imagesFile: imagesFile,
128-
kubeClient: kubeClient,
129-
osClient: osClient,
130-
machineClient: machineClient,
131-
dynamicClient: dynamicClient,
132-
eventRecorder: eventRecorder,
133-
recorder: recorder,
134-
queue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "machineapioperator"),
125+
namespace: namespace,
126+
name: name,
127+
imagesFile: imagesFile,
128+
kubeClient: kubeClient,
129+
osClient: osClient,
130+
machineClient: machineClient,
131+
dynamicClient: dynamicClient,
132+
eventRecorder: eventRecorder,
133+
recorder: recorder,
134+
queue: workqueue.NewTypedRateLimitingQueueWithConfig(workqueue.DefaultTypedControllerRateLimiter[string](), workqueue.TypedRateLimitingQueueConfig[string]{
135+
Name: "machineapioperator",
136+
}),
135137
operandVersions: operandVersions,
136138
}
137139

@@ -368,13 +370,13 @@ func (optr *Operator) processNextWorkItem() bool {
368370
defer optr.queue.Done(key)
369371

370372
klog.V(4).Infof("Processing key %s", key)
371-
result, err := optr.syncHandler(key.(string))
373+
result, err := optr.syncHandler(key)
372374
optr.handleSyncResult(result, err, key)
373375

374376
return true
375377
}
376378

377-
func (optr *Operator) handleSyncResult(result reconcile.Result, err error, key interface{}) {
379+
func (optr *Operator) handleSyncResult(result reconcile.Result, err error, key string) {
378380
switch {
379381
case err != nil && optr.queue.NumRequeues(key) < maxRetries:
380382
klog.V(1).Infof("Error syncing operator %v: %v", key, err)

pkg/operator/operator_test.go

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -90,20 +90,22 @@ func newFakeOperator(kubeObjects, osObjects, machineObjects []runtime.Object, im
9090
}
9191

9292
optr := &Operator{
93-
kubeClient: kubeClient,
94-
osClient: osClient,
95-
machineClient: machineClient,
96-
dynamicClient: dynamicClient,
97-
deployLister: deployInformer.Lister(),
98-
proxyLister: proxyInformer.Lister(),
99-
daemonsetLister: daemonsetInformer.Lister(),
100-
mutatingWebhookLister: mutatingWebhookInformer.Lister(),
101-
validatingWebhookLister: validatingWebhookInformer.Lister(),
102-
featureGateAccessor: featureGateAccessor,
103-
imagesFile: imagesFile,
104-
namespace: targetNamespace,
105-
eventRecorder: record.NewFakeRecorder(50),
106-
queue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "machineapioperator"),
93+
kubeClient: kubeClient,
94+
osClient: osClient,
95+
machineClient: machineClient,
96+
dynamicClient: dynamicClient,
97+
deployLister: deployInformer.Lister(),
98+
proxyLister: proxyInformer.Lister(),
99+
daemonsetLister: daemonsetInformer.Lister(),
100+
mutatingWebhookLister: mutatingWebhookInformer.Lister(),
101+
validatingWebhookLister: validatingWebhookInformer.Lister(),
102+
featureGateAccessor: featureGateAccessor,
103+
imagesFile: imagesFile,
104+
namespace: targetNamespace,
105+
eventRecorder: record.NewFakeRecorder(50),
106+
queue: workqueue.NewTypedRateLimitingQueueWithConfig(workqueue.DefaultTypedControllerRateLimiter[string](), workqueue.TypedRateLimitingQueueConfig[string]{
107+
Name: "machineapioperator",
108+
}),
107109
deployListerSynced: deployInformer.Informer().HasSynced,
108110
proxyListerSynced: proxyInformer.Informer().HasSynced,
109111
daemonsetListerSynced: daemonsetInformer.Informer().HasSynced,

0 commit comments

Comments
 (0)