mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-11 13:02:14 +00:00
kubelet/kuberuntime: Fix flaky test 'TestGeneratePodSandboxConfig'
Signed-off-by: TommyStarK <thomasmilox@gmail.com>
This commit is contained in:
parent
b1f901acf4
commit
73d9a9cfa0
@ -127,3 +127,41 @@ func TestApplySandboxResources(t *testing.T) {
|
|||||||
assert.Equal(t, test.expectedOverhead, config.Linux.Overhead, "TestCase[%d]: %s", i, test.description)
|
assert.Equal(t, test.expectedOverhead, config.Linux.Overhead, "TestCase[%d]: %s", i, test.description)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestGeneratePodSandboxConfigWithLinuxSecurityContext(t *testing.T) {
|
||||||
|
_, _, m, err := createTestRuntimeManager()
|
||||||
|
require.NoError(t, err)
|
||||||
|
pod := newTestPodWithLinuxSecurityContext()
|
||||||
|
|
||||||
|
expectedLinuxPodSandboxConfig := &runtimeapi.LinuxPodSandboxConfig{
|
||||||
|
SecurityContext: &runtimeapi.LinuxSandboxSecurityContext{
|
||||||
|
SelinuxOptions: &runtimeapi.SELinuxOption{
|
||||||
|
User: "qux",
|
||||||
|
},
|
||||||
|
RunAsUser: &runtimeapi.Int64Value{Value: 1000},
|
||||||
|
RunAsGroup: &runtimeapi.Int64Value{Value: 10},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
podSandboxConfig, err := m.generatePodSandboxConfig(pod, 1)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.Equal(t, expectedLinuxPodSandboxConfig.SecurityContext.SelinuxOptions, podSandboxConfig.Linux.SecurityContext.SelinuxOptions)
|
||||||
|
assert.Equal(t, expectedLinuxPodSandboxConfig.SecurityContext.RunAsUser, podSandboxConfig.Linux.SecurityContext.RunAsUser)
|
||||||
|
assert.Equal(t, expectedLinuxPodSandboxConfig.SecurityContext.RunAsGroup, podSandboxConfig.Linux.SecurityContext.RunAsGroup)
|
||||||
|
}
|
||||||
|
|
||||||
|
func newTestPodWithLinuxSecurityContext() *v1.Pod {
|
||||||
|
anyGroup := int64(10)
|
||||||
|
anyUser := int64(1000)
|
||||||
|
pod := newTestPod()
|
||||||
|
|
||||||
|
pod.Spec.SecurityContext = &v1.PodSecurityContext{
|
||||||
|
SELinuxOptions: &v1.SELinuxOptions{
|
||||||
|
User: "qux",
|
||||||
|
},
|
||||||
|
RunAsUser: &anyUser,
|
||||||
|
RunAsGroup: &anyGroup,
|
||||||
|
}
|
||||||
|
|
||||||
|
return pod
|
||||||
|
}
|
||||||
|
@ -48,15 +48,6 @@ func TestGeneratePodSandboxConfig(t *testing.T) {
|
|||||||
"io.kubernetes.pod.namespace": pod.Namespace,
|
"io.kubernetes.pod.namespace": pod.Namespace,
|
||||||
"io.kubernetes.pod.uid": string(pod.UID),
|
"io.kubernetes.pod.uid": string(pod.UID),
|
||||||
}
|
}
|
||||||
expectedLinuxPodSandboxConfig := &runtimeapi.LinuxPodSandboxConfig{
|
|
||||||
SecurityContext: &runtimeapi.LinuxSandboxSecurityContext{
|
|
||||||
SelinuxOptions: &runtimeapi.SELinuxOption{
|
|
||||||
User: "qux",
|
|
||||||
},
|
|
||||||
RunAsUser: &runtimeapi.Int64Value{Value: 1000},
|
|
||||||
RunAsGroup: &runtimeapi.Int64Value{Value: 10},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
expectedMetadata := &runtimeapi.PodSandboxMetadata{
|
expectedMetadata := &runtimeapi.PodSandboxMetadata{
|
||||||
Name: pod.Name,
|
Name: pod.Name,
|
||||||
Namespace: pod.Namespace,
|
Namespace: pod.Namespace,
|
||||||
@ -75,9 +66,6 @@ func TestGeneratePodSandboxConfig(t *testing.T) {
|
|||||||
assert.Equal(t, expectedLogDirectory, podSandboxConfig.LogDirectory)
|
assert.Equal(t, expectedLogDirectory, podSandboxConfig.LogDirectory)
|
||||||
assert.Equal(t, expectedMetadata, podSandboxConfig.Metadata)
|
assert.Equal(t, expectedMetadata, podSandboxConfig.Metadata)
|
||||||
assert.Equal(t, expectedPortMappings, podSandboxConfig.PortMappings)
|
assert.Equal(t, expectedPortMappings, podSandboxConfig.PortMappings)
|
||||||
assert.Equal(t, expectedLinuxPodSandboxConfig.SecurityContext.SelinuxOptions, podSandboxConfig.Linux.SecurityContext.SelinuxOptions)
|
|
||||||
assert.Equal(t, expectedLinuxPodSandboxConfig.SecurityContext.RunAsUser, podSandboxConfig.Linux.SecurityContext.RunAsUser)
|
|
||||||
assert.Equal(t, expectedLinuxPodSandboxConfig.SecurityContext.RunAsGroup, podSandboxConfig.Linux.SecurityContext.RunAsGroup)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// TestCreatePodSandbox tests creating sandbox and its corresponding pod log directory.
|
// TestCreatePodSandbox tests creating sandbox and its corresponding pod log directory.
|
||||||
@ -185,8 +173,6 @@ func TestCreatePodSandbox_RuntimeClass(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func newTestPod() *v1.Pod {
|
func newTestPod() *v1.Pod {
|
||||||
anyGroup := int64(10)
|
|
||||||
anyUser := int64(1000)
|
|
||||||
return &v1.Pod{
|
return &v1.Pod{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
UID: "12345678",
|
UID: "12345678",
|
||||||
@ -194,13 +180,6 @@ func newTestPod() *v1.Pod {
|
|||||||
Namespace: "new",
|
Namespace: "new",
|
||||||
},
|
},
|
||||||
Spec: v1.PodSpec{
|
Spec: v1.PodSpec{
|
||||||
SecurityContext: &v1.PodSecurityContext{
|
|
||||||
SELinuxOptions: &v1.SELinuxOptions{
|
|
||||||
User: "qux",
|
|
||||||
},
|
|
||||||
RunAsUser: &anyUser,
|
|
||||||
RunAsGroup: &anyGroup,
|
|
||||||
},
|
|
||||||
Containers: []v1.Container{
|
Containers: []v1.Container{
|
||||||
{
|
{
|
||||||
Name: "foo",
|
Name: "foo",
|
||||||
|
Loading…
Reference in New Issue
Block a user