Skip to content

Commit 45f6270

Browse files
authored
Merge pull request kubernetes#85689 from ahg-g/ahg-export-snapshot
Export scheduler.Snapshot function
2 parents 15475b4 + 2e0bad5 commit 45f6270

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

pkg/scheduler/core/generic_scheduler.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,12 @@ type ScheduleAlgorithm interface {
132132
Extenders() []algorithm.SchedulerExtender
133133
// GetPredicateMetadataProducer returns the predicate metadata producer. This is needed
134134
// for cluster autoscaler integration.
135-
// TODO(ahg-g): remove this once CA migrates to creating a Framework instead of a full scheduler.
135+
// TODO(#85691): remove this once CA migrates to creating a Framework instead of a full scheduler.
136136
PredicateMetadataProducer() predicates.MetadataProducer
137+
// Snapshot snapshots scheduler cache and node infos. This is needed
138+
// for cluster autoscaler integration.
139+
// TODO(#85691): remove this once CA migrates to creating a Framework instead of a full scheduler.
140+
Snapshot() error
137141
}
138142

139143
// ScheduleResult represents the result of one pod scheduled. It will contain
@@ -169,7 +173,7 @@ type genericScheduler struct {
169173

170174
// snapshot snapshots scheduler cache and node infos for all fit and priority
171175
// functions.
172-
func (g *genericScheduler) snapshot() error {
176+
func (g *genericScheduler) Snapshot() error {
173177
// Used for all fit and priority funcs.
174178
return g.cache.UpdateNodeInfoSnapshot(g.nodeInfoSnapshot)
175179
}
@@ -192,7 +196,7 @@ func (g *genericScheduler) Schedule(ctx context.Context, state *framework.CycleS
192196
}
193197
trace.Step("Basic checks done")
194198

195-
if err := g.snapshot(); err != nil {
199+
if err := g.Snapshot(); err != nil {
196200
return result, err
197201
}
198202
trace.Step("Snapshoting scheduler cache and node infos done")

pkg/scheduler/core/generic_scheduler_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2176,7 +2176,7 @@ func TestPreempt(t *testing.T) {
21762176
schedulerapi.DefaultPercentageOfNodesToScore,
21772177
true)
21782178
state := framework.NewCycleState()
2179-
scheduler.(*genericScheduler).snapshot()
2179+
scheduler.Snapshot()
21802180
// Call Preempt and check the expected results.
21812181
failedPredMap := defaultFailedPredMap
21822182
if test.failedPredMap != nil {

pkg/scheduler/scheduler_test.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,6 @@ func (es mockScheduler) PredicateMetadataProducer() predicates.MetadataProducer
156156
return nil
157157

158158
}
159-
160159
func (es mockScheduler) Schedule(ctx context.Context, state *framework.CycleState, pod *v1.Pod) (core.ScheduleResult, error) {
161160
return es.result, es.err
162161
}
@@ -170,10 +169,13 @@ func (es mockScheduler) Prioritizers() []priorities.PriorityConfig {
170169
func (es mockScheduler) Extenders() []algorithm.SchedulerExtender {
171170
return nil
172171
}
173-
174172
func (es mockScheduler) Preempt(ctx context.Context, state *framework.CycleState, pod *v1.Pod, scheduleErr error) (*v1.Node, []*v1.Pod, []*v1.Pod, error) {
175173
return nil, nil, nil, nil
176174
}
175+
func (es mockScheduler) Snapshot() error {
176+
return nil
177+
178+
}
177179

178180
func TestSchedulerCreation(t *testing.T) {
179181
client := clientsetfake.NewSimpleClientset()

0 commit comments

Comments
 (0)