Skip to content

Commit 89b3311

Browse files
authored
[Bugfix] [Platform] Fix Container Resource Adjustments (#1996)
1 parent 61bc421 commit 89b3311

File tree

2 files changed

+29
-4
lines changed

2 files changed

+29
-4
lines changed

pkg/apis/scheduler/v1beta1/container/resources/resources.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//
22
// DISCLAIMER
33
//
4-
// Copyright 2024 ArangoDB GmbH, Cologne, Germany
4+
// Copyright 2024-2025 ArangoDB GmbH, Cologne, Germany
55
//
66
// Licensed under the Apache License, Version 2.0 (the "License");
77
// you may not use this file except in compliance with the License.
@@ -44,8 +44,7 @@ func (r *Resources) Apply(_ *core.PodTemplateSpec, template *core.Container) err
4444

4545
res := r.GetResources()
4646

47-
template.Resources.Limits = kresources.UpscaleContainerResourceList(template.Resources.Limits, res.Limits)
48-
template.Resources.Requests = kresources.UpscaleContainerResourceList(template.Resources.Requests, res.Requests)
47+
template.Resources = kresources.MergeContainerResource(template.Resources, res)
4948

5049
return nil
5150
}

pkg/apis/scheduler/v1beta1/container/resources/resources_test.go

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//
22
// DISCLAIMER
33
//
4-
// Copyright 2024 ArangoDB GmbH, Cologne, Germany
4+
// Copyright 2024-2025 ArangoDB GmbH, Cologne, Germany
55
//
66
// Licensed under the Apache License, Version 2.0 (the "License");
77
// you may not use this file except in compliance with the License.
@@ -207,4 +207,30 @@ func Test_Resources(t *testing.T) {
207207
require.EqualValues(t, v8Mi, container.Resources.Requests[core.ResourceCPU])
208208
})
209209
})
210+
t.Run("Downscale", func(t *testing.T) {
211+
applyResources(t, &core.PodTemplateSpec{}, &core.Container{
212+
Resources: core.ResourceRequirements{
213+
Requests: core.ResourceList{
214+
core.ResourceCPU: v8Mi,
215+
},
216+
},
217+
}, &Resources{
218+
Resources: &core.ResourceRequirements{
219+
Limits: core.ResourceList{
220+
core.ResourceCPU: v1Mi,
221+
},
222+
Requests: core.ResourceList{
223+
core.ResourceCPU: v1Mi,
224+
},
225+
},
226+
})(func(t *testing.T, pod *core.PodTemplateSpec, container *core.Container) {
227+
require.Len(t, container.Resources.Limits, 1)
228+
require.Contains(t, container.Resources.Limits, core.ResourceCPU)
229+
require.EqualValues(t, v1Mi, container.Resources.Limits[core.ResourceCPU])
230+
231+
require.Len(t, container.Resources.Requests, 1)
232+
require.Contains(t, container.Resources.Requests, core.ResourceCPU)
233+
require.EqualValues(t, v1Mi, container.Resources.Requests[core.ResourceCPU])
234+
})
235+
})
210236
}

0 commit comments

Comments
 (0)