Skip to content

Commit

Permalink
Merge pull request kubernetes#5568 from himanshu-kun/automated-cherry…
Browse files Browse the repository at this point in the history
…-pick-of-#5246-upstream-cluster-autoscaler-release-1.25

Automated cherry pick of kubernetes#5246: Don't break scale up with priority expander config
  • Loading branch information
k8s-ci-robot authored Mar 24, 2023
2 parents 3083dd5 + 9465291 commit aa0654f
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 11 deletions.
2 changes: 1 addition & 1 deletion cluster-autoscaler/expander/priority/priority.go
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ func (p *priority) BestOptions(expansionOptions []expander.Option, nodeInfo map[

priorities, cm, err := p.reloadConfigMap()
if err != nil {
return nil
return expansionOptions
}

maxPrio := -1
Expand Down
20 changes: 10 additions & 10 deletions cluster-autoscaler/expander/priority/priority_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ var (
}
)

func getFilterInstance(t *testing.T, config string) (expander.Filter, *record.FakeRecorder, *apiv1.ConfigMap, error) {
func getFilterInstance(t *testing.T, config string) (expander.Filter, *record.FakeRecorder, *apiv1.ConfigMap) {
cm := &apiv1.ConfigMap{
ObjectMeta: metav1.ObjectMeta{
Namespace: testNamespace,
Expand All @@ -101,41 +101,41 @@ func getFilterInstance(t *testing.T, config string) (expander.Filter, *record.Fa
assert.Nil(t, err)
r := record.NewFakeRecorder(100)
s := NewFilter(lister.ConfigMaps(testNamespace), r)
return s, r, cm, err
return s, r, cm
}

func TestPriorityExpanderCorrecltyFiltersSingleMatchingOptionOutOfOne(t *testing.T) {
s, _, _, _ := getFilterInstance(t, config)
s, _, _ := getFilterInstance(t, config)
ret := s.BestOptions([]expander.Option{eoT2Large}, nil)
assert.Equal(t, ret, []expander.Option{eoT2Large})
}

func TestPriorityExpanderCorrecltyFiltersSingleMatchingOptionOutOfMany(t *testing.T) {
s, _, _, _ := getFilterInstance(t, config)
s, _, _ := getFilterInstance(t, config)
ret := s.BestOptions([]expander.Option{eoT2Large, eoM44XLarge}, nil)
assert.Equal(t, ret, []expander.Option{eoM44XLarge})
}

func TestPriorityExpanderFiltersToHigherPriorityMatch(t *testing.T) {
s, _, _, _ := getFilterInstance(t, wildcardMatchConfig)
s, _, _ := getFilterInstance(t, wildcardMatchConfig)
ret := s.BestOptions([]expander.Option{eoT2Large, eoT2Micro}, nil)
assert.Equal(t, ret, []expander.Option{eoT2Large})
}

func TestPriorityExpanderCorrecltyFiltersTwoMatchingOptionsOutOfMany(t *testing.T) {
s, _, _, _ := getFilterInstance(t, config)
s, _, _ := getFilterInstance(t, config)
ret := s.BestOptions([]expander.Option{eoT2Large, eoT3Large, eoT2Micro}, nil)
assert.Equal(t, ret, []expander.Option{eoT2Large, eoT3Large})
}

func TestPriorityExpanderCorrecltyFallsBackToAllWhenNoMatches(t *testing.T) {
s, _, _, _ := getFilterInstance(t, config)
s, _, _ := getFilterInstance(t, config)
ret := s.BestOptions([]expander.Option{eoT2Large, eoT3Large}, nil)
assert.Equal(t, ret, []expander.Option{eoT2Large, eoT3Large})
}

func TestPriorityExpanderCorrecltyHandlesConfigUpdate(t *testing.T) {
s, r, cm, _ := getFilterInstance(t, oneEntryConfig)
s, r, cm := getFilterInstance(t, oneEntryConfig)
ret := s.BestOptions([]expander.Option{eoT2Large, eoT3Large, eoM44XLarge}, nil)
assert.Equal(t, ret, []expander.Option{eoT2Large})

Expand All @@ -154,7 +154,7 @@ func TestPriorityExpanderCorrecltyHandlesConfigUpdate(t *testing.T) {
}

func TestPriorityExpanderCorrecltySkipsBadChangeConfig(t *testing.T) {
s, r, cm, _ := getFilterInstance(t, oneEntryConfig)
s, r, cm := getFilterInstance(t, oneEntryConfig)
priority := s.(*priority)
assert.Equal(t, 0, priority.okConfigUpdates)

Expand All @@ -165,5 +165,5 @@ func TestPriorityExpanderCorrecltySkipsBadChangeConfig(t *testing.T) {

event := <-r.Events
assert.EqualValues(t, configWarnConfigMapEmpty, event)
assert.Empty(t, ret)
assert.Equal(t, ret, []expander.Option{eoT2Large, eoT3Large, eoM44XLarge})
}

0 comments on commit aa0654f

Please sign in to comment.