@@ -55,48 +55,71 @@ func init() {
55
55
scheduler .RegisterFitPredicateFactory (
56
56
predicates .NoVolumeZoneConflictPred ,
57
57
func (args scheduler.PluginFactoryArgs ) predicates.FitPredicate {
58
- return predicates .NewVolumeZonePredicate (args .PVLister , args .PVCLister , args .StorageClassLister )
58
+ pvLister := args .InformerFactory .Core ().V1 ().PersistentVolumes ().Lister ()
59
+ pvcLister := args .InformerFactory .Core ().V1 ().PersistentVolumeClaims ().Lister ()
60
+ storageClassLister := args .InformerFactory .Storage ().V1 ().StorageClasses ().Lister ()
61
+ return predicates .NewVolumeZonePredicate (pvLister , pvcLister , storageClassLister )
59
62
},
60
63
)
61
64
// Fit is determined by whether or not there would be too many AWS EBS volumes attached to the node
62
65
scheduler .RegisterFitPredicateFactory (
63
66
predicates .MaxEBSVolumeCountPred ,
64
67
func (args scheduler.PluginFactoryArgs ) predicates.FitPredicate {
65
- return predicates .NewMaxPDVolumeCountPredicate (predicates .EBSVolumeFilterType , args .CSINodeLister , args .StorageClassLister , args .PVLister , args .PVCLister )
68
+ csiNodeLister := scheduler .GetCSINodeLister (args .InformerFactory )
69
+ pvLister := args .InformerFactory .Core ().V1 ().PersistentVolumes ().Lister ()
70
+ pvcLister := args .InformerFactory .Core ().V1 ().PersistentVolumeClaims ().Lister ()
71
+ storageClassLister := args .InformerFactory .Storage ().V1 ().StorageClasses ().Lister ()
72
+ return predicates .NewMaxPDVolumeCountPredicate (predicates .EBSVolumeFilterType , csiNodeLister , storageClassLister , pvLister , pvcLister )
66
73
},
67
74
)
68
75
// Fit is determined by whether or not there would be too many GCE PD volumes attached to the node
69
76
scheduler .RegisterFitPredicateFactory (
70
77
predicates .MaxGCEPDVolumeCountPred ,
71
78
func (args scheduler.PluginFactoryArgs ) predicates.FitPredicate {
72
- return predicates .NewMaxPDVolumeCountPredicate (predicates .GCEPDVolumeFilterType , args .CSINodeLister , args .StorageClassLister , args .PVLister , args .PVCLister )
79
+ csiNodeLister := scheduler .GetCSINodeLister (args .InformerFactory )
80
+ pvLister := args .InformerFactory .Core ().V1 ().PersistentVolumes ().Lister ()
81
+ pvcLister := args .InformerFactory .Core ().V1 ().PersistentVolumeClaims ().Lister ()
82
+ storageClassLister := args .InformerFactory .Storage ().V1 ().StorageClasses ().Lister ()
83
+ return predicates .NewMaxPDVolumeCountPredicate (predicates .GCEPDVolumeFilterType , csiNodeLister , storageClassLister , pvLister , pvcLister )
73
84
},
74
85
)
75
86
// Fit is determined by whether or not there would be too many Azure Disk volumes attached to the node
76
87
scheduler .RegisterFitPredicateFactory (
77
88
predicates .MaxAzureDiskVolumeCountPred ,
78
89
func (args scheduler.PluginFactoryArgs ) predicates.FitPredicate {
79
- return predicates .NewMaxPDVolumeCountPredicate (predicates .AzureDiskVolumeFilterType , args .CSINodeLister , args .StorageClassLister , args .PVLister , args .PVCLister )
90
+ csiNodeLister := scheduler .GetCSINodeLister (args .InformerFactory )
91
+ pvLister := args .InformerFactory .Core ().V1 ().PersistentVolumes ().Lister ()
92
+ pvcLister := args .InformerFactory .Core ().V1 ().PersistentVolumeClaims ().Lister ()
93
+ storageClassLister := args .InformerFactory .Storage ().V1 ().StorageClasses ().Lister ()
94
+ return predicates .NewMaxPDVolumeCountPredicate (predicates .AzureDiskVolumeFilterType , csiNodeLister , storageClassLister , pvLister , pvcLister )
80
95
},
81
96
)
82
97
scheduler .RegisterFitPredicateFactory (
83
98
predicates .MaxCSIVolumeCountPred ,
84
99
func (args scheduler.PluginFactoryArgs ) predicates.FitPredicate {
85
- return predicates .NewCSIMaxVolumeLimitPredicate (args .CSINodeLister , args .PVLister , args .PVCLister , args .StorageClassLister )
100
+ csiNodeLister := scheduler .GetCSINodeLister (args .InformerFactory )
101
+ pvLister := args .InformerFactory .Core ().V1 ().PersistentVolumes ().Lister ()
102
+ pvcLister := args .InformerFactory .Core ().V1 ().PersistentVolumeClaims ().Lister ()
103
+ storageClassLister := args .InformerFactory .Storage ().V1 ().StorageClasses ().Lister ()
104
+ return predicates .NewCSIMaxVolumeLimitPredicate (csiNodeLister , pvLister , pvcLister , storageClassLister )
86
105
},
87
106
)
88
107
scheduler .RegisterFitPredicateFactory (
89
108
predicates .MaxCinderVolumeCountPred ,
90
109
func (args scheduler.PluginFactoryArgs ) predicates.FitPredicate {
91
- return predicates .NewMaxPDVolumeCountPredicate (predicates .CinderVolumeFilterType , args .CSINodeLister , args .StorageClassLister , args .PVLister , args .PVCLister )
110
+ csiNodeLister := scheduler .GetCSINodeLister (args .InformerFactory )
111
+ pvLister := args .InformerFactory .Core ().V1 ().PersistentVolumes ().Lister ()
112
+ pvcLister := args .InformerFactory .Core ().V1 ().PersistentVolumeClaims ().Lister ()
113
+ storageClassLister := args .InformerFactory .Storage ().V1 ().StorageClasses ().Lister ()
114
+ return predicates .NewMaxPDVolumeCountPredicate (predicates .CinderVolumeFilterType , csiNodeLister , storageClassLister , pvLister , pvcLister )
92
115
},
93
116
)
94
117
95
118
// Fit is determined by inter-pod affinity.
96
119
scheduler .RegisterFitPredicateFactory (
97
120
predicates .MatchInterPodAffinityPred ,
98
121
func (args scheduler.PluginFactoryArgs ) predicates.FitPredicate {
99
- return predicates .NewPodAffinityPredicate (args .NodeInfoLister , args .PodLister )
122
+ return predicates .NewPodAffinityPredicate (args .SharedLister . NodeInfos () , args .SharedLister . Pods () )
100
123
},
101
124
)
102
125
0 commit comments