Skip to content
Snippets Groups Projects
Unverified Commit 00e4e9b6 authored by Kubernetes Prow Robot's avatar Kubernetes Prow Robot Committed by GitHub
Browse files

Merge pull request #2294 from bskiba/vpa-release-0.5

Don't attempt to delete aggregation from VPA if it doesn't exist
parents 026ea0af 771906da
No related merge requests found
......@@ -155,7 +155,10 @@ func (vpa *Vpa) UsesAggregation(aggregationKey AggregateStateKey) bool {
// DeleteAggregation deletes aggregation used by this container
func (vpa *Vpa) DeleteAggregation(aggregationKey AggregateStateKey) {
state := vpa.aggregateContainerStates[aggregationKey]
state, ok := vpa.aggregateContainerStates[aggregationKey]
if !ok {
return
}
state.MarkNotAutoscaled()
delete(vpa.aggregateContainerStates, aggregationKey)
}
......
......@@ -336,6 +336,50 @@ func TestUseAggregationIfMatching(t *testing.T) {
}
}
func TestDeleteAggregation(t *testing.T) {
cases := []struct {
name string
aggregateContainerStates aggregateContainerStatesMap
delet AggregateStateKey
}{
{
name: "delet dis",
aggregateContainerStates: aggregateContainerStatesMap{
aggregateStateKey{
namespace: "ns",
containerName: "container",
labelSetKey: "labelSetKey",
labelSetMap: nil,
}: &AggregateContainerState{},
},
delet: aggregateStateKey{
namespace: "ns",
containerName: "container",
labelSetKey: "labelSetKey",
labelSetMap: nil,
},
},
{
name: "no delet",
delet: aggregateStateKey{
namespace: "ns",
containerName: "container",
labelSetKey: "labelSetKey",
labelSetMap: nil,
},
},
}
for _, tc := range cases {
t.Run(tc.name, func(t *testing.T) {
vpa := Vpa{
aggregateContainerStates: tc.aggregateContainerStates,
}
vpa.DeleteAggregation(tc.delet)
assert.Equal(t, 0, len(vpa.aggregateContainerStates))
})
}
}
type mockAggregateStateKey struct {
namespace string
containerName string
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment