Skip to content

Commit 73401c9

Browse files
authored
Merge pull request #455 from huww98/type-queue
replace deprecated Queue and RateLimiter
2 parents 3ea4ee4 + 371d6e5 commit 73401c9

9 files changed

+27
-23
lines changed

cmd/csi-resizer/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,15 +215,15 @@ func main() {
215215

216216
resizerName := csiResizer.Name()
217217
rc := controller.NewResizeController(resizerName, csiResizer, kubeClient, *resyncPeriod, informerFactory,
218-
workqueue.NewItemExponentialFailureRateLimiter(*retryIntervalStart, *retryIntervalMax),
218+
workqueue.NewTypedItemExponentialFailureRateLimiter[string](*retryIntervalStart, *retryIntervalMax),
219219
*handleVolumeInUseError, *retryIntervalMax)
220220

221221
modifierName := csiModifier.Name()
222222
var mc modifycontroller.ModifyController
223223
// Add modify controller only if the feature gate is enabled
224224
if utilfeature.DefaultFeatureGate.Enabled(features.VolumeAttributesClass) {
225225
mc = modifycontroller.NewModifyController(modifierName, csiModifier, kubeClient, *resyncPeriod, *extraModifyMetadata, informerFactory,
226-
workqueue.NewItemExponentialFailureRateLimiter(*retryIntervalStart, *retryIntervalMax))
226+
workqueue.NewTypedItemExponentialFailureRateLimiter[string](*retryIntervalStart, *retryIntervalMax))
227227
}
228228

229229
run := func(ctx context.Context) {

pkg/controller/controller.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ type resizeController struct {
5858
name string
5959
resizer resizer.Resizer
6060
kubeClient kubernetes.Interface
61-
claimQueue workqueue.RateLimitingInterface
61+
claimQueue workqueue.TypedRateLimitingInterface[string]
6262
eventRecorder record.EventRecorder
6363
pvSynced cache.InformerSynced
6464
pvcSynced cache.InformerSynced
@@ -87,7 +87,7 @@ func NewResizeController(
8787
kubeClient kubernetes.Interface,
8888
resyncPeriod time.Duration,
8989
informerFactory informers.SharedInformerFactory,
90-
pvcRateLimiter workqueue.RateLimiter,
90+
pvcRateLimiter workqueue.TypedRateLimiter[string],
9191
handleVolumeInUseError bool,
9292
maxRetryInterval time.Duration) ResizeController {
9393
pvInformer := informerFactory.Core().V1().PersistentVolumes()
@@ -98,8 +98,10 @@ func NewResizeController(
9898
eventRecorder := eventBroadcaster.NewRecorder(scheme.Scheme,
9999
v1.EventSource{Component: fmt.Sprintf("external-resizer %s", name)})
100100

101-
claimQueue := workqueue.NewNamedRateLimitingQueue(
102-
pvcRateLimiter, fmt.Sprintf("%s-pvc", name))
101+
claimQueue := workqueue.NewTypedRateLimitingQueueWithConfig(
102+
pvcRateLimiter, workqueue.TypedRateLimitingQueueConfig[string]{
103+
Name: fmt.Sprintf("%s-pvc", name),
104+
})
103105

104106
ctrl := &resizeController{
105107
name: name,
@@ -302,7 +304,7 @@ func (ctrl *resizeController) syncPVCs() {
302304
}
303305
defer ctrl.claimQueue.Done(key)
304306

305-
err := ctrl.syncPVC(key.(string))
307+
err := ctrl.syncPVC(key)
306308

307309
if err != nil {
308310
if utilfeature.DefaultFeatureGate.Enabled(features.RecoverVolumeExpansionFailure) && util.IsDelayRetryError(err) {

pkg/controller/controller_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ func TestController(t *testing.T) {
245245
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.AnnotateFsResize, true)
246246
controller := NewResizeController(driverName, csiResizer,
247247
kubeClient, time.Second,
248-
informerFactory, workqueue.DefaultControllerRateLimiter(),
248+
informerFactory, workqueue.DefaultTypedControllerRateLimiter[string](),
249249
!test.disableVolumeInUseErrorHandler,
250250
2*time.Minute /* maxRetryInterval */)
251251

@@ -410,7 +410,7 @@ func TestResizePVC(t *testing.T) {
410410
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.AnnotateFsResize, true)
411411
controller := NewResizeController(driverName, csiResizer,
412412
kubeClient, time.Second,
413-
informerFactory, workqueue.DefaultControllerRateLimiter(),
413+
informerFactory, workqueue.DefaultTypedControllerRateLimiter[string](),
414414
true, /* disableVolumeInUseErrorHandler*/
415415
2*time.Minute /* maxRetryInterval */)
416416

pkg/controller/expand_and_recover_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ func TestExpandAndRecover(t *testing.T) {
173173
controller := NewResizeController(driverName,
174174
csiResizer, kubeClient,
175175
time.Second, informerFactory,
176-
workqueue.DefaultControllerRateLimiter(), true /*handleVolumeInUseError*/, 2*time.Minute /*maxRetryInterval*/)
176+
workqueue.DefaultTypedControllerRateLimiter[string](), true /*handleVolumeInUseError*/, 2*time.Minute /*maxRetryInterval*/)
177177

178178
ctrlInstance, _ := controller.(*resizeController)
179179
recorder := record.NewFakeRecorder(10)

pkg/controller/resize_status_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ func TestResizeFunctions(t *testing.T) {
9494
controller := NewResizeController(driverName,
9595
csiResizer, kubeClient,
9696
time.Second, informerFactory,
97-
workqueue.DefaultControllerRateLimiter(),
97+
workqueue.DefaultTypedControllerRateLimiter[string](),
9898
true, /*handleVolumeInUseError*/
9999
2*time.Minute /*maxRetryInterval*/)
100100

pkg/modifycontroller/controller.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ type modifyController struct {
5050
name string
5151
modifier modifier.Modifier
5252
kubeClient kubernetes.Interface
53-
claimQueue workqueue.RateLimitingInterface
53+
claimQueue workqueue.TypedRateLimitingInterface[string]
5454
eventRecorder record.EventRecorder
5555
pvLister corelisters.PersistentVolumeLister
5656
pvListerSynced cache.InformerSynced
@@ -71,7 +71,7 @@ func NewModifyController(
7171
resyncPeriod time.Duration,
7272
extraModifyMetadata bool,
7373
informerFactory informers.SharedInformerFactory,
74-
pvcRateLimiter workqueue.RateLimiter) ModifyController {
74+
pvcRateLimiter workqueue.TypedRateLimiter[string]) ModifyController {
7575
pvInformer := informerFactory.Core().V1().PersistentVolumes()
7676
pvcInformer := informerFactory.Core().V1().PersistentVolumeClaims()
7777
vacInformer := informerFactory.Storage().V1beta1().VolumeAttributesClasses()
@@ -81,8 +81,10 @@ func NewModifyController(
8181
eventRecorder := eventBroadcaster.NewRecorder(scheme.Scheme,
8282
v1.EventSource{Component: fmt.Sprintf("external-resizer %s", name)})
8383

84-
claimQueue := workqueue.NewNamedRateLimitingQueue(
85-
pvcRateLimiter, fmt.Sprintf("%s-pvc", name))
84+
claimQueue := workqueue.NewTypedRateLimitingQueueWithConfig(
85+
pvcRateLimiter, workqueue.TypedRateLimitingQueueConfig[string]{
86+
Name: fmt.Sprintf("%s-pvc", name),
87+
})
8688

8789
ctrl := &modifyController{
8890
name: name,
@@ -243,7 +245,7 @@ func (ctrl *modifyController) sync() {
243245
}
244246
defer ctrl.claimQueue.Done(key)
245247

246-
if err := ctrl.syncPVC(key.(string)); err != nil {
248+
if err := ctrl.syncPVC(key); err != nil {
247249
// Put PVC back to the queue so that we can retry later.
248250
klog.ErrorS(err, "Error syncing PVC")
249251
ctrl.claimQueue.AddRateLimited(key)

pkg/modifycontroller/controller_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ func TestController(t *testing.T) {
8787
controller := NewModifyController(driverName,
8888
csiModifier, kubeClient,
8989
time.Second, false, informerFactory,
90-
workqueue.DefaultControllerRateLimiter())
90+
workqueue.DefaultTypedControllerRateLimiter[string]())
9191

9292
ctrlInstance, _ := controller.(*modifyController)
9393

@@ -188,7 +188,7 @@ func TestModifyPVC(t *testing.T) {
188188
controller := NewModifyController(driverName,
189189
csiModifier, kubeClient,
190190
time.Second, false, informerFactory,
191-
workqueue.DefaultControllerRateLimiter())
191+
workqueue.DefaultTypedControllerRateLimiter[string]())
192192

193193
ctrlInstance, _ := controller.(*modifyController)
194194

pkg/modifycontroller/modify_status_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ func TestMarkControllerModifyVolumeStatus(t *testing.T) {
119119
controller := NewModifyController(driverName,
120120
csiModifier, kubeClient,
121121
time.Second, false, informerFactory,
122-
workqueue.DefaultControllerRateLimiter())
122+
workqueue.DefaultTypedControllerRateLimiter[string]())
123123

124124
ctrlInstance, _ := controller.(*modifyController)
125125

@@ -179,7 +179,7 @@ func TestUpdateConditionBasedOnError(t *testing.T) {
179179
controller := NewModifyController(driverName,
180180
csiModifier, kubeClient,
181181
time.Second, false, informerFactory,
182-
workqueue.DefaultControllerRateLimiter())
182+
workqueue.DefaultTypedControllerRateLimiter[string]())
183183

184184
ctrlInstance, _ := controller.(*modifyController)
185185

@@ -247,7 +247,7 @@ func TestMarkControllerModifyVolumeCompleted(t *testing.T) {
247247
controller := NewModifyController(driverName,
248248
csiModifier, kubeClient,
249249
time.Second, false, informerFactory,
250-
workqueue.DefaultControllerRateLimiter())
250+
workqueue.DefaultTypedControllerRateLimiter[string]())
251251

252252
ctrlInstance, _ := controller.(*modifyController)
253253

@@ -313,7 +313,7 @@ func TestRemovePVCFromModifyVolumeUncertainCache(t *testing.T) {
313313
controller := NewModifyController(driverName,
314314
csiModifier, kubeClient,
315315
time.Second, false, informerFactory,
316-
workqueue.DefaultControllerRateLimiter())
316+
workqueue.DefaultTypedControllerRateLimiter[string]())
317317

318318
ctrlInstance, _ := controller.(*modifyController)
319319

pkg/modifycontroller/modify_volume_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ func TestModify(t *testing.T) {
136136
controller := NewModifyController(driverName,
137137
csiModifier, kubeClient,
138138
time.Second, test.withExtraMetadata, informerFactory,
139-
workqueue.DefaultControllerRateLimiter())
139+
workqueue.DefaultTypedControllerRateLimiter[string]())
140140

141141
ctrlInstance, _ := controller.(*modifyController)
142142

0 commit comments

Comments
 (0)