Skip to content

Commit

Permalink
Set Unified field in pkg/kubelet/kuberuntime tests
Browse files Browse the repository at this point in the history
Follow up to kubernetes#117793.
  • Loading branch information
bertinatto committed Jul 18, 2023
1 parent 6d83e22 commit 6660cd9
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 15 deletions.
40 changes: 26 additions & 14 deletions pkg/kubelet/kuberuntime/kuberuntime_container_linux_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,15 @@ package kuberuntime
import (
"context"
"fmt"
"k8s.io/kubernetes/pkg/kubelet/cm"
"k8s.io/kubernetes/pkg/kubelet/types"
"math"
"os"
"reflect"
"strconv"
"testing"

"k8s.io/kubernetes/pkg/kubelet/cm"
"k8s.io/kubernetes/pkg/kubelet/types"

"github.com/google/go-cmp/cmp"
libcontainercgroups "github.com/opencontainers/runc/libcontainer/cgroups"
"github.com/stretchr/testify/assert"
Expand Down Expand Up @@ -262,6 +263,7 @@ func TestCalculateLinuxResources(t *testing.T) {
CpuPeriod: 100000,
CpuQuota: 200000,
CpuShares: 1024,
Unified: generateUnified(),
MemoryLimitInBytes: 134217728,
},
cgroupVersion: cgroupV1,
Expand All @@ -275,6 +277,7 @@ func TestCalculateLinuxResources(t *testing.T) {
CpuPeriod: 100000,
CpuQuota: 800000,
CpuShares: 2048,
Unified: generateUnified(),
MemoryLimitInBytes: 0,
},
cgroupVersion: cgroupV1,
Expand All @@ -287,6 +290,7 @@ func TestCalculateLinuxResources(t *testing.T) {
CpuPeriod: 100000,
CpuQuota: 200000,
CpuShares: 2048,
Unified: generateUnified(),
MemoryLimitInBytes: 0,
},
cgroupVersion: cgroupV1,
Expand All @@ -300,6 +304,7 @@ func TestCalculateLinuxResources(t *testing.T) {
CpuPeriod: 100000,
CpuQuota: 200000,
CpuShares: 2,
Unified: generateUnified(),
MemoryLimitInBytes: 0,
},
cgroupVersion: cgroupV1,
Expand Down Expand Up @@ -733,47 +738,47 @@ func TestGenerateLinuxContainerResources(t *testing.T) {
v1.ResourceList{v1.ResourceCPU: resource.MustParse("250m"), v1.ResourceMemory: resource.MustParse("500Mi")},
v1.ResourceList{v1.ResourceCPU: resource.MustParse("250m"), v1.ResourceMemory: resource.MustParse("500Mi")},
[]v1.ContainerStatus{},
&runtimeapi.LinuxContainerResources{CpuShares: 256, MemoryLimitInBytes: 524288000, OomScoreAdj: -997},
&runtimeapi.LinuxContainerResources{CpuShares: 256, MemoryLimitInBytes: 524288000, OomScoreAdj: -997, Unified: generateUnified()},
},
{
"requests & limits, cpu & memory, burstable qos - no container status",
true,
v1.ResourceList{v1.ResourceCPU: resource.MustParse("500m"), v1.ResourceMemory: resource.MustParse("750Mi")},
v1.ResourceList{v1.ResourceCPU: resource.MustParse("250m"), v1.ResourceMemory: resource.MustParse("500Mi")},
[]v1.ContainerStatus{},
&runtimeapi.LinuxContainerResources{CpuShares: 256, MemoryLimitInBytes: 786432000, OomScoreAdj: 970},
&runtimeapi.LinuxContainerResources{CpuShares: 256, MemoryLimitInBytes: 786432000, OomScoreAdj: 970, Unified: generateUnified()},
},
{
"best-effort qos - no container status",
true,
nil,
nil,
[]v1.ContainerStatus{},
&runtimeapi.LinuxContainerResources{CpuShares: 2, OomScoreAdj: 1000},
&runtimeapi.LinuxContainerResources{CpuShares: 2, OomScoreAdj: 1000, Unified: generateUnified()},
},
{
"requests & limits, cpu & memory, guaranteed qos - empty resources container status",
true,
v1.ResourceList{v1.ResourceCPU: resource.MustParse("250m"), v1.ResourceMemory: resource.MustParse("500Mi")},
v1.ResourceList{v1.ResourceCPU: resource.MustParse("250m"), v1.ResourceMemory: resource.MustParse("500Mi")},
[]v1.ContainerStatus{{Name: "c1"}},
&runtimeapi.LinuxContainerResources{CpuShares: 256, MemoryLimitInBytes: 524288000, OomScoreAdj: -997},
&runtimeapi.LinuxContainerResources{CpuShares: 256, MemoryLimitInBytes: 524288000, OomScoreAdj: -997, Unified: generateUnified()},
},
{
"requests & limits, cpu & memory, burstable qos - empty resources container status",
true,
v1.ResourceList{v1.ResourceCPU: resource.MustParse("500m"), v1.ResourceMemory: resource.MustParse("750Mi")},
v1.ResourceList{v1.ResourceCPU: resource.MustParse("250m"), v1.ResourceMemory: resource.MustParse("500Mi")},
[]v1.ContainerStatus{{Name: "c1"}},
&runtimeapi.LinuxContainerResources{CpuShares: 256, MemoryLimitInBytes: 786432000, OomScoreAdj: 999},
&runtimeapi.LinuxContainerResources{CpuShares: 256, MemoryLimitInBytes: 786432000, OomScoreAdj: 999, Unified: generateUnified()},
},
{
"best-effort qos - empty resources container status",
true,
nil,
nil,
[]v1.ContainerStatus{{Name: "c1"}},
&runtimeapi.LinuxContainerResources{CpuShares: 2, OomScoreAdj: 1000},
&runtimeapi.LinuxContainerResources{CpuShares: 2, OomScoreAdj: 1000, Unified: generateUnified()},
},
{
"requests & limits, cpu & memory, guaranteed qos - container status with allocatedResources",
Expand All @@ -786,7 +791,7 @@ func TestGenerateLinuxContainerResources(t *testing.T) {
AllocatedResources: v1.ResourceList{v1.ResourceCPU: resource.MustParse("200m"), v1.ResourceMemory: resource.MustParse("500Mi")},
},
},
&runtimeapi.LinuxContainerResources{CpuShares: 204, MemoryLimitInBytes: 524288000, OomScoreAdj: -997},
&runtimeapi.LinuxContainerResources{CpuShares: 204, MemoryLimitInBytes: 524288000, OomScoreAdj: -997, Unified: generateUnified()},
},
{
"requests & limits, cpu & memory, burstable qos - container status with allocatedResources",
Expand All @@ -799,15 +804,15 @@ func TestGenerateLinuxContainerResources(t *testing.T) {
AllocatedResources: v1.ResourceList{v1.ResourceCPU: resource.MustParse("250m"), v1.ResourceMemory: resource.MustParse("500Mi")},
},
},
&runtimeapi.LinuxContainerResources{CpuShares: 256, MemoryLimitInBytes: 786432000, OomScoreAdj: 970},
&runtimeapi.LinuxContainerResources{CpuShares: 256, MemoryLimitInBytes: 786432000, OomScoreAdj: 970, Unified: generateUnified()},
},
{
"requests & limits, cpu & memory, guaranteed qos - no container status",
false,
v1.ResourceList{v1.ResourceCPU: resource.MustParse("250m"), v1.ResourceMemory: resource.MustParse("500Mi")},
v1.ResourceList{v1.ResourceCPU: resource.MustParse("250m"), v1.ResourceMemory: resource.MustParse("500Mi")},
[]v1.ContainerStatus{},
&runtimeapi.LinuxContainerResources{CpuShares: 256, MemoryLimitInBytes: 524288000, OomScoreAdj: -997},
&runtimeapi.LinuxContainerResources{CpuShares: 256, MemoryLimitInBytes: 524288000, OomScoreAdj: -997, Unified: generateUnified()},
},
{
"requests & limits, cpu & memory, burstable qos - container status with allocatedResources",
Expand All @@ -820,7 +825,7 @@ func TestGenerateLinuxContainerResources(t *testing.T) {
AllocatedResources: v1.ResourceList{v1.ResourceCPU: resource.MustParse("250m"), v1.ResourceMemory: resource.MustParse("500Mi")},
},
},
&runtimeapi.LinuxContainerResources{CpuShares: 256, MemoryLimitInBytes: 786432000, OomScoreAdj: 970},
&runtimeapi.LinuxContainerResources{CpuShares: 256, MemoryLimitInBytes: 786432000, OomScoreAdj: 970, Unified: generateUnified()},
},
{
"requests & limits, cpu & memory, guaranteed qos - container status with allocatedResources",
Expand All @@ -833,15 +838,15 @@ func TestGenerateLinuxContainerResources(t *testing.T) {
AllocatedResources: v1.ResourceList{v1.ResourceCPU: resource.MustParse("200m"), v1.ResourceMemory: resource.MustParse("500Mi")},
},
},
&runtimeapi.LinuxContainerResources{CpuShares: 204, MemoryLimitInBytes: 524288000, OomScoreAdj: -997},
&runtimeapi.LinuxContainerResources{CpuShares: 204, MemoryLimitInBytes: 524288000, OomScoreAdj: -997, Unified: generateUnified()},
},
{
"best-effort qos - no container status",
false,
nil,
nil,
[]v1.ContainerStatus{},
&runtimeapi.LinuxContainerResources{CpuShares: 2, OomScoreAdj: 1000},
&runtimeapi.LinuxContainerResources{CpuShares: 2, OomScoreAdj: 1000, Unified: generateUnified()},
},
} {
t.Run(tc.name, func(t *testing.T) {
Expand Down Expand Up @@ -1151,3 +1156,10 @@ func setCgroupVersionDuringTest(version CgroupVersion) {
return version == cgroupV2
}
}

func generateUnified() map[string]string {
if libcontainercgroups.IsCgroup2UnifiedMode() {
return map[string]string{"memory.oom.group": "1"}
}
return nil
}
4 changes: 3 additions & 1 deletion pkg/kubelet/kuberuntime/kuberuntime_sandbox_linux_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -108,12 +108,14 @@ func TestApplySandboxResources(t *testing.T) {
CpuPeriod: 100000,
CpuQuota: 400000,
CpuShares: 2048,
Unified: generateUnified(),
},
expectedOverhead: &runtimeapi.LinuxContainerResources{
MemoryLimitInBytes: 134217728,
CpuPeriod: 100000,
CpuQuota: 100000,
CpuShares: 1024,
Unified: generateUnified(),
},
cgroupVersion: cgroupV1,
},
Expand Down Expand Up @@ -156,7 +158,7 @@ func TestApplySandboxResources(t *testing.T) {
CpuPeriod: 100000,
CpuQuota: 0,
CpuShares: 2,
Unified: map[string]string{"memory.oom.group": "1"},
Unified: generateUnified(),
},
expectedOverhead: &runtimeapi.LinuxContainerResources{},
cgroupVersion: cgroupV2,
Expand Down

0 comments on commit 6660cd9

Please sign in to comment.