@@ -26,8 +26,8 @@ import (
26
26
"k8s.io/klog"
27
27
28
28
v1 "k8s.io/api/core/v1"
29
- storagev1 "k8s.io/api/storage/v1"
30
- storagev1beta1 "k8s.io/api/storage/v1beta1"
29
+ storage "k8s.io/api/storage/v1"
30
+ v1beta1storage "k8s.io/api/storage/v1beta1"
31
31
apierrors "k8s.io/apimachinery/pkg/api/errors"
32
32
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
33
33
"k8s.io/apimachinery/pkg/fields"
@@ -37,6 +37,7 @@ import (
37
37
utilfeature "k8s.io/apiserver/pkg/util/feature"
38
38
corelisters "k8s.io/client-go/listers/core/v1"
39
39
storagelisters "k8s.io/client-go/listers/storage/v1"
40
+ v1beta1storagelisters "k8s.io/client-go/listers/storage/v1beta1"
40
41
volumehelpers "k8s.io/cloud-provider/volume/helpers"
41
42
csilibplugins "k8s.io/csi-translation-lib/plugins"
42
43
v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper"
@@ -169,7 +170,19 @@ type NodeInfo interface {
169
170
170
171
// CSINodeInfo interface represents anything that can get CSINode object from node name.
171
172
type CSINodeInfo interface {
172
- GetCSINodeInfo (nodeName string ) (* storagev1beta1.CSINode , error )
173
+ GetCSINodeInfo (nodeName string ) (* v1beta1storage.CSINode , error )
174
+ }
175
+
176
+ var _ CSINodeInfo = & CachedCSINodeInfo {}
177
+
178
+ // CachedCSINodeInfo implements CSINodeInfoInfo
179
+ type CachedCSINodeInfo struct {
180
+ v1beta1storagelisters.CSINodeLister
181
+ }
182
+
183
+ // GetCSINodeInfo returns a persistent volume object by PV ID.
184
+ func (c * CachedCSINodeInfo ) GetCSINodeInfo (nodeName string ) (* v1beta1storage.CSINode , error ) {
185
+ return c .Get (nodeName )
173
186
}
174
187
175
188
// PersistentVolumeInfo interface represents anything that can get persistent volume object by PV ID.
@@ -209,7 +222,7 @@ func (c *CachedPersistentVolumeClaimInfo) GetPersistentVolumeClaimInfo(namespace
209
222
210
223
// StorageClassInfo interface represents anything that can get a storage class object by class name.
211
224
type StorageClassInfo interface {
212
- GetStorageClassInfo (className string ) (* storagev1 .StorageClass , error )
225
+ GetStorageClassInfo (className string ) (* storage .StorageClass , error )
213
226
}
214
227
215
228
var _ StorageClassInfo = & CachedStorageClassInfo {}
@@ -220,7 +233,7 @@ type CachedStorageClassInfo struct {
220
233
}
221
234
222
235
// GetStorageClassInfo get StorageClass by class name.
223
- func (c * CachedStorageClassInfo ) GetStorageClassInfo (className string ) (* storagev1 .StorageClass , error ) {
236
+ func (c * CachedStorageClassInfo ) GetStorageClassInfo (className string ) (* storage .StorageClass , error ) {
224
237
return c .Get (className )
225
238
}
226
239
@@ -313,9 +326,9 @@ type VolumeFilter struct {
313
326
FilterVolume func (vol * v1.Volume ) (id string , relevant bool )
314
327
FilterPersistentVolume func (pv * v1.PersistentVolume ) (id string , relevant bool )
315
328
// MatchProvisioner evaluates if the StorageClass provisioner matches the running predicate
316
- MatchProvisioner func (sc * storagev1 .StorageClass ) (relevant bool )
329
+ MatchProvisioner func (sc * storage .StorageClass ) (relevant bool )
317
330
// IsMigrated returns a boolean specifying whether the plugin is migrated to a CSI driver
318
- IsMigrated func (csiNode * storagev1beta1 .CSINode ) bool
331
+ IsMigrated func (csiNode * v1beta1storage .CSINode ) bool
319
332
}
320
333
321
334
// NewMaxPDVolumeCountPredicate creates a predicate which evaluates whether a pod can fit based on the
@@ -577,14 +590,14 @@ var EBSVolumeFilter = VolumeFilter{
577
590
return "" , false
578
591
},
579
592
580
- MatchProvisioner : func (sc * storagev1 .StorageClass ) (relevant bool ) {
593
+ MatchProvisioner : func (sc * storage .StorageClass ) (relevant bool ) {
581
594
if sc .Provisioner == csilibplugins .AWSEBSInTreePluginName {
582
595
return true
583
596
}
584
597
return false
585
598
},
586
599
587
- IsMigrated : func (csiNode * storagev1beta1 .CSINode ) bool {
600
+ IsMigrated : func (csiNode * v1beta1storage .CSINode ) bool {
588
601
return isCSIMigrationOn (csiNode , csilibplugins .AWSEBSInTreePluginName )
589
602
},
590
603
}
@@ -605,14 +618,14 @@ var GCEPDVolumeFilter = VolumeFilter{
605
618
return "" , false
606
619
},
607
620
608
- MatchProvisioner : func (sc * storagev1 .StorageClass ) (relevant bool ) {
621
+ MatchProvisioner : func (sc * storage .StorageClass ) (relevant bool ) {
609
622
if sc .Provisioner == csilibplugins .GCEPDInTreePluginName {
610
623
return true
611
624
}
612
625
return false
613
626
},
614
627
615
- IsMigrated : func (csiNode * storagev1beta1 .CSINode ) bool {
628
+ IsMigrated : func (csiNode * v1beta1storage .CSINode ) bool {
616
629
return isCSIMigrationOn (csiNode , csilibplugins .GCEPDInTreePluginName )
617
630
},
618
631
}
@@ -633,14 +646,14 @@ var AzureDiskVolumeFilter = VolumeFilter{
633
646
return "" , false
634
647
},
635
648
636
- MatchProvisioner : func (sc * storagev1 .StorageClass ) (relevant bool ) {
649
+ MatchProvisioner : func (sc * storage .StorageClass ) (relevant bool ) {
637
650
if sc .Provisioner == csilibplugins .AzureDiskInTreePluginName {
638
651
return true
639
652
}
640
653
return false
641
654
},
642
655
643
- IsMigrated : func (csiNode * storagev1beta1 .CSINode ) bool {
656
+ IsMigrated : func (csiNode * v1beta1storage .CSINode ) bool {
644
657
return isCSIMigrationOn (csiNode , csilibplugins .AzureDiskInTreePluginName )
645
658
},
646
659
}
@@ -662,14 +675,14 @@ var CinderVolumeFilter = VolumeFilter{
662
675
return "" , false
663
676
},
664
677
665
- MatchProvisioner : func (sc * storagev1 .StorageClass ) (relevant bool ) {
678
+ MatchProvisioner : func (sc * storage .StorageClass ) (relevant bool ) {
666
679
if sc .Provisioner == csilibplugins .CinderInTreePluginName {
667
680
return true
668
681
}
669
682
return false
670
683
},
671
684
672
- IsMigrated : func (csiNode * storagev1beta1 .CSINode ) bool {
685
+ IsMigrated : func (csiNode * v1beta1storage .CSINode ) bool {
673
686
return isCSIMigrationOn (csiNode , csilibplugins .CinderInTreePluginName )
674
687
},
675
688
}
@@ -758,7 +771,7 @@ func (c *VolumeZoneChecker) predicate(pod *v1.Pod, meta PredicateMetadata, nodeI
758
771
if class .VolumeBindingMode == nil {
759
772
return false , nil , fmt .Errorf ("VolumeBindingMode not set for StorageClass %q" , scName )
760
773
}
761
- if * class .VolumeBindingMode == storagev1 .VolumeBindingWaitForFirstConsumer {
774
+ if * class .VolumeBindingMode == storage .VolumeBindingWaitForFirstConsumer {
762
775
// Skip unbound volumes
763
776
continue
764
777
}
0 commit comments