@@ -23,6 +23,7 @@ import (
23
23
"k8s.io/autoscaler/cluster-autoscaler/simulator/clustersnapshot"
24
24
drasnapshot "k8s.io/autoscaler/cluster-autoscaler/simulator/dynamicresources/snapshot"
25
25
"k8s.io/klog/v2"
26
+ fwk "k8s.io/kube-scheduler/framework"
26
27
schedulerframework "k8s.io/kubernetes/pkg/scheduler/framework"
27
28
)
28
29
@@ -34,41 +35,41 @@ type BasicSnapshotStore struct {
34
35
}
35
36
36
37
type internalBasicSnapshotData struct {
37
- nodeInfoMap map [string ]* schedulerframework .NodeInfo
38
+ nodeInfoMap map [string ]fwk .NodeInfo
38
39
pvcNamespacePodMap map [string ]map [string ]bool
39
40
}
40
41
41
- func (data * internalBasicSnapshotData ) listNodeInfos () []* schedulerframework .NodeInfo {
42
- nodeInfoList := make ([]* schedulerframework .NodeInfo , 0 , len (data .nodeInfoMap ))
42
+ func (data * internalBasicSnapshotData ) listNodeInfos () []fwk .NodeInfo {
43
+ nodeInfoList := make ([]fwk .NodeInfo , 0 , len (data .nodeInfoMap ))
43
44
for _ , v := range data .nodeInfoMap {
44
45
nodeInfoList = append (nodeInfoList , v )
45
46
}
46
47
return nodeInfoList
47
48
}
48
49
49
- func (data * internalBasicSnapshotData ) listNodeInfosThatHavePodsWithAffinityList () ([]* schedulerframework .NodeInfo , error ) {
50
- havePodsWithAffinityList := make ([]* schedulerframework .NodeInfo , 0 , len (data .nodeInfoMap ))
50
+ func (data * internalBasicSnapshotData ) listNodeInfosThatHavePodsWithAffinityList () ([]fwk .NodeInfo , error ) {
51
+ havePodsWithAffinityList := make ([]fwk .NodeInfo , 0 , len (data .nodeInfoMap ))
51
52
for _ , v := range data .nodeInfoMap {
52
- if len (v .PodsWithAffinity ) > 0 {
53
+ if len (v .GetPodsWithAffinity () ) > 0 {
53
54
havePodsWithAffinityList = append (havePodsWithAffinityList , v )
54
55
}
55
56
}
56
57
57
58
return havePodsWithAffinityList , nil
58
59
}
59
60
60
- func (data * internalBasicSnapshotData ) listNodeInfosThatHavePodsWithRequiredAntiAffinityList () ([]* schedulerframework .NodeInfo , error ) {
61
- havePodsWithRequiredAntiAffinityList := make ([]* schedulerframework .NodeInfo , 0 , len (data .nodeInfoMap ))
61
+ func (data * internalBasicSnapshotData ) listNodeInfosThatHavePodsWithRequiredAntiAffinityList () ([]fwk .NodeInfo , error ) {
62
+ havePodsWithRequiredAntiAffinityList := make ([]fwk .NodeInfo , 0 , len (data .nodeInfoMap ))
62
63
for _ , v := range data .nodeInfoMap {
63
- if len (v .PodsWithRequiredAntiAffinity ) > 0 {
64
+ if len (v .GetPodsWithRequiredAntiAffinity () ) > 0 {
64
65
havePodsWithRequiredAntiAffinityList = append (havePodsWithRequiredAntiAffinityList , v )
65
66
}
66
67
}
67
68
68
69
return havePodsWithRequiredAntiAffinityList , nil
69
70
}
70
71
71
- func (data * internalBasicSnapshotData ) getNodeInfo (nodeName string ) (* schedulerframework .NodeInfo , error ) {
72
+ func (data * internalBasicSnapshotData ) getNodeInfo (nodeName string ) (fwk .NodeInfo , error ) {
72
73
if v , ok := data .nodeInfoMap [nodeName ]; ok {
73
74
return v , nil
74
75
}
@@ -122,13 +123,13 @@ func (data *internalBasicSnapshotData) removePvcUsedByPod(pod *apiv1.Pod) {
122
123
123
124
func newInternalBasicSnapshotData () * internalBasicSnapshotData {
124
125
return & internalBasicSnapshotData {
125
- nodeInfoMap : make (map [string ]* schedulerframework .NodeInfo ),
126
+ nodeInfoMap : make (map [string ]fwk .NodeInfo ),
126
127
pvcNamespacePodMap : make (map [string ]map [string ]bool ),
127
128
}
128
129
}
129
130
130
131
func (data * internalBasicSnapshotData ) clone () * internalBasicSnapshotData {
131
- clonedNodeInfoMap := make (map [string ]* schedulerframework .NodeInfo )
132
+ clonedNodeInfoMap := make (map [string ]fwk .NodeInfo )
132
133
for k , v := range data .nodeInfoMap {
133
134
clonedNodeInfoMap [k ] = v .Snapshot ()
134
135
}
@@ -159,8 +160,8 @@ func (data *internalBasicSnapshotData) removeNodeInfo(nodeName string) error {
159
160
if _ , found := data .nodeInfoMap [nodeName ]; ! found {
160
161
return clustersnapshot .ErrNodeNotFound
161
162
}
162
- for _ , pod := range data .nodeInfoMap [nodeName ].Pods {
163
- data .removePvcUsedByPod (pod .Pod )
163
+ for _ , pod := range data .nodeInfoMap [nodeName ].GetPods () {
164
+ data .removePvcUsedByPod (pod .GetPod () )
164
165
}
165
166
delete (data .nodeInfoMap , nodeName )
166
167
return nil
@@ -170,7 +171,8 @@ func (data *internalBasicSnapshotData) addPod(pod *apiv1.Pod, nodeName string) e
170
171
if _ , found := data .nodeInfoMap [nodeName ]; ! found {
171
172
return clustersnapshot .ErrNodeNotFound
172
173
}
173
- data .nodeInfoMap [nodeName ].AddPod (pod )
174
+ podInfo , _ := schedulerframework .NewPodInfo (pod )
175
+ data .nodeInfoMap [nodeName ].AddPodInfo (podInfo )
174
176
data .addPvcUsedByPod (pod )
175
177
return nil
176
178
}
@@ -181,12 +183,12 @@ func (data *internalBasicSnapshotData) removePod(namespace, podName, nodeName st
181
183
return clustersnapshot .ErrNodeNotFound
182
184
}
183
185
logger := klog .Background ()
184
- for _ , podInfo := range nodeInfo .Pods {
185
- if podInfo .Pod .Namespace == namespace && podInfo .Pod .Name == podName {
186
- data .removePvcUsedByPod (podInfo .Pod )
187
- err := nodeInfo .RemovePod (logger , podInfo .Pod )
186
+ for _ , podInfo := range nodeInfo .GetPods () {
187
+ if podInfo .GetPod () .Namespace == namespace && podInfo .GetPod () .Name == podName {
188
+ data .removePvcUsedByPod (podInfo .GetPod () )
189
+ err := nodeInfo .RemovePod (logger , podInfo .GetPod () )
188
190
if err != nil {
189
- data .addPvcUsedByPod (podInfo .Pod )
191
+ data .addPvcUsedByPod (podInfo .GetPod () )
190
192
return fmt .Errorf ("cannot remove pod; %v" , err )
191
193
}
192
194
return nil
@@ -212,12 +214,12 @@ func (snapshot *BasicSnapshotStore) DraSnapshot() *drasnapshot.Snapshot {
212
214
}
213
215
214
216
// AddSchedulerNodeInfo adds a NodeInfo.
215
- func (snapshot * BasicSnapshotStore ) AddSchedulerNodeInfo (nodeInfo * schedulerframework .NodeInfo ) error {
217
+ func (snapshot * BasicSnapshotStore ) AddSchedulerNodeInfo (nodeInfo fwk .NodeInfo ) error {
216
218
if err := snapshot .getInternalData ().addNode (nodeInfo .Node ()); err != nil {
217
219
return err
218
220
}
219
- for _ , podInfo := range nodeInfo .Pods {
220
- if err := snapshot .getInternalData ().addPod (podInfo .Pod , nodeInfo .Node ().Name ); err != nil {
221
+ for _ , podInfo := range nodeInfo .GetPods () {
222
+ if err := snapshot .getInternalData ().addPod (podInfo .GetPod () , nodeInfo .Node ().Name ); err != nil {
221
223
return err
222
224
}
223
225
}
@@ -337,22 +339,22 @@ func (snapshot *BasicSnapshotStore) DeviceClasses() schedulerframework.DeviceCla
337
339
}
338
340
339
341
// List returns the list of nodes in the snapshot.
340
- func (snapshot * basicSnapshotStoreNodeLister ) List () ([]* schedulerframework .NodeInfo , error ) {
342
+ func (snapshot * basicSnapshotStoreNodeLister ) List () ([]fwk .NodeInfo , error ) {
341
343
return (* BasicSnapshotStore )(snapshot ).getInternalData ().listNodeInfos (), nil
342
344
}
343
345
344
346
// HavePodsWithAffinityList returns the list of nodes with at least one pods with inter-pod affinity
345
- func (snapshot * basicSnapshotStoreNodeLister ) HavePodsWithAffinityList () ([]* schedulerframework .NodeInfo , error ) {
347
+ func (snapshot * basicSnapshotStoreNodeLister ) HavePodsWithAffinityList () ([]fwk .NodeInfo , error ) {
346
348
return (* BasicSnapshotStore )(snapshot ).getInternalData ().listNodeInfosThatHavePodsWithAffinityList ()
347
349
}
348
350
349
351
// HavePodsWithRequiredAntiAffinityList returns the list of NodeInfos of nodes with pods with required anti-affinity terms.
350
- func (snapshot * basicSnapshotStoreNodeLister ) HavePodsWithRequiredAntiAffinityList () ([]* schedulerframework .NodeInfo , error ) {
352
+ func (snapshot * basicSnapshotStoreNodeLister ) HavePodsWithRequiredAntiAffinityList () ([]fwk .NodeInfo , error ) {
351
353
return (* BasicSnapshotStore )(snapshot ).getInternalData ().listNodeInfosThatHavePodsWithRequiredAntiAffinityList ()
352
354
}
353
355
354
356
// Returns the NodeInfo of the given node name.
355
- func (snapshot * basicSnapshotStoreNodeLister ) Get (nodeName string ) (* schedulerframework .NodeInfo , error ) {
357
+ func (snapshot * basicSnapshotStoreNodeLister ) Get (nodeName string ) (fwk .NodeInfo , error ) {
356
358
return (* BasicSnapshotStore )(snapshot ).getInternalData ().getNodeInfo (nodeName )
357
359
}
358
360
0 commit comments