mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 05:27:21 +00:00
Fix lint issues, use kuberuntime's minGracePeriod const, boost container restart wait period
This commit is contained in:
parent
d5d008a6bd
commit
917c4b310b
@ -77,6 +77,7 @@ const (
|
|||||||
kubeRuntimeAPIVersion = "0.1.0"
|
kubeRuntimeAPIVersion = "0.1.0"
|
||||||
// A minimal shutdown window for avoiding unnecessary SIGKILLs
|
// A minimal shutdown window for avoiding unnecessary SIGKILLs
|
||||||
minimumGracePeriodInSeconds = 2
|
minimumGracePeriodInSeconds = 2
|
||||||
|
MinimumGracePeriodInSeconds = int64(minimumGracePeriodInSeconds)
|
||||||
|
|
||||||
// The expiration time of version cache.
|
// The expiration time of version cache.
|
||||||
versionCacheTTL = 60 * time.Second
|
versionCacheTTL = 60 * time.Second
|
||||||
@ -84,6 +85,7 @@ const (
|
|||||||
identicalErrorDelay = 1 * time.Minute
|
identicalErrorDelay = 1 * time.Minute
|
||||||
// OpenTelemetry instrumentation scope name
|
// OpenTelemetry instrumentation scope name
|
||||||
instrumentationScope = "k8s.io/kubernetes/pkg/kubelet/kuberuntime"
|
instrumentationScope = "k8s.io/kubernetes/pkg/kubelet/kuberuntime"
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -1440,7 +1440,7 @@ func doPodResizeErrorTests() {
|
|||||||
// Above tests are performed by doSheduletTests() and doPodResizeResourceQuotaTests()
|
// Above tests are performed by doSheduletTests() and doPodResizeResourceQuotaTests()
|
||||||
// in test/e2e/node/pod_resize.go
|
// in test/e2e/node/pod_resize.go
|
||||||
|
|
||||||
var _ = SIGDescribe("[InPlacePodResize] Pod InPlace Resize Container", feature.InPlacePodVerticalScaling, func() {
|
var _ = SIGDescribe("Pod InPlace Resize Container", feature.InPlacePodVerticalScaling, func() {
|
||||||
f := framework.NewDefaultFramework("pod-resize-tests")
|
f := framework.NewDefaultFramework("pod-resize-tests")
|
||||||
|
|
||||||
ginkgo.BeforeEach(func(ctx context.Context) {
|
ginkgo.BeforeEach(func(ctx context.Context) {
|
||||||
|
@ -31,6 +31,7 @@ import (
|
|||||||
utilerrors "k8s.io/apimachinery/pkg/util/errors"
|
utilerrors "k8s.io/apimachinery/pkg/util/errors"
|
||||||
helpers "k8s.io/component-helpers/resource"
|
helpers "k8s.io/component-helpers/resource"
|
||||||
kubecm "k8s.io/kubernetes/pkg/kubelet/cm"
|
kubecm "k8s.io/kubernetes/pkg/kubelet/cm"
|
||||||
|
"k8s.io/kubernetes/pkg/kubelet/kuberuntime"
|
||||||
"k8s.io/kubernetes/test/e2e/framework"
|
"k8s.io/kubernetes/test/e2e/framework"
|
||||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||||
|
|
||||||
@ -49,7 +50,7 @@ const (
|
|||||||
Cgroupv2CPURequest string = "/sys/fs/cgroup/cpu.weight"
|
Cgroupv2CPURequest string = "/sys/fs/cgroup/cpu.weight"
|
||||||
CPUPeriod string = "100000"
|
CPUPeriod string = "100000"
|
||||||
MinContainerRuntimeVersion string = "1.6.9"
|
MinContainerRuntimeVersion string = "1.6.9"
|
||||||
MinimumGracePeriodSeconds int64 = 2
|
MinRestartWaitPeriod int = 10
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -169,7 +170,7 @@ func makeResizableContainer(tcInfo ResizableContainerInfo) v1.Container {
|
|||||||
func MakePodWithResizableContainers(ns, name, timeStamp string, tcInfo []ResizableContainerInfo) *v1.Pod {
|
func MakePodWithResizableContainers(ns, name, timeStamp string, tcInfo []ResizableContainerInfo) *v1.Pod {
|
||||||
testInitContainers, testContainers := separateContainers(tcInfo)
|
testInitContainers, testContainers := separateContainers(tcInfo)
|
||||||
|
|
||||||
var minGracePeriodSeconds int64 = MinimumGracePeriodSeconds
|
minGracePeriodSeconds := kuberuntime.MinimumGracePeriodInSeconds
|
||||||
pod := &v1.Pod{
|
pod := &v1.Pod{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Name: name,
|
Name: name,
|
||||||
@ -354,7 +355,8 @@ func VerifyPodContainersCgroupValues(ctx context.Context, f *framework.Framework
|
|||||||
}
|
}
|
||||||
errs = append(errs, VerifyCgroupValue(f, pod, ci.Name, cgroupCPULimit, expectedCPULimitString))
|
errs = append(errs, VerifyCgroupValue(f, pod, ci.Name, cgroupCPULimit, expectedCPULimitString))
|
||||||
errs = append(errs, VerifyCgroupValue(f, pod, ci.Name, cgroupCPURequest, strconv.FormatInt(expectedCPUShares, 10)))
|
errs = append(errs, VerifyCgroupValue(f, pod, ci.Name, cgroupCPURequest, strconv.FormatInt(expectedCPUShares, 10)))
|
||||||
//TODO(vinaykul,InPlacePodVerticalScaling): Verify oom_score_adj when runc adds support for updating it
|
// TODO(vinaykul,InPlacePodVerticalScaling): Verify oom_score_adj when runc adds support for updating it
|
||||||
|
// See https://github.com/opencontainers/runc/pull/4669
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return utilerrors.NewAggregate(errs)
|
return utilerrors.NewAggregate(errs)
|
||||||
@ -425,8 +427,12 @@ func WaitForPodResizeActuation(ctx context.Context, f *framework.Framework, podC
|
|||||||
})),
|
})),
|
||||||
)
|
)
|
||||||
|
|
||||||
// Wait 2x termination grace period to catch any restarts - expected or not
|
// Wait min(3 x termination grace period, MinRestartWaitPeriod) to catch any restarts - expected or not
|
||||||
time.Sleep(time.Duration(*pod.Spec.TerminationGracePeriodSeconds*2) * time.Second)
|
containerRestartWaitPeriod := int(*pod.Spec.TerminationGracePeriodSeconds) * 3
|
||||||
|
if containerRestartWaitPeriod < MinRestartWaitPeriod {
|
||||||
|
containerRestartWaitPeriod = MinRestartWaitPeriod
|
||||||
|
}
|
||||||
|
time.Sleep(time.Duration(containerRestartWaitPeriod) * time.Second)
|
||||||
resizedPod, err := framework.GetObject(podClient.Get, pod.Name, metav1.GetOptions{})(ctx)
|
resizedPod, err := framework.GetObject(podClient.Get, pod.Name, metav1.GetOptions{})(ctx)
|
||||||
framework.ExpectNoError(err, "failed to get resized pod")
|
framework.ExpectNoError(err, "failed to get resized pod")
|
||||||
return resizedPod
|
return resizedPod
|
||||||
|
@ -298,7 +298,7 @@ func VerifyCgroupValue(f *framework.Framework, pod *v1.Pod, cName, cgPath, expec
|
|||||||
// has the expected value in specified container of the pod. It execs into the container,
|
// has the expected value in specified container of the pod. It execs into the container,
|
||||||
// reads the oom_score_adj value from procfs, and compares it against the expected value.
|
// reads the oom_score_adj value from procfs, and compares it against the expected value.
|
||||||
func VerifyOomScoreAdjValue(f *framework.Framework, pod *v1.Pod, cName, expectedOomScoreAdj string) error {
|
func VerifyOomScoreAdjValue(f *framework.Framework, pod *v1.Pod, cName, expectedOomScoreAdj string) error {
|
||||||
cmd := fmt.Sprintf("cat /proc/1/oom_score_adj")
|
cmd := "cat /proc/1/oom_score_adj"
|
||||||
framework.Logf("Namespace %s Pod %s Container %s - looking for oom_score_adj value %s",
|
framework.Logf("Namespace %s Pod %s Container %s - looking for oom_score_adj value %s",
|
||||||
pod.Namespace, pod.Name, cName, expectedOomScoreAdj)
|
pod.Namespace, pod.Name, cName, expectedOomScoreAdj)
|
||||||
oomScoreAdj, _, err := ExecCommandInContainerWithFullOutput(f, pod.Name, cName, "/bin/sh", "-c", cmd)
|
oomScoreAdj, _, err := ExecCommandInContainerWithFullOutput(f, pod.Name, cName, "/bin/sh", "-c", cmd)
|
||||||
|
Loading…
Reference in New Issue
Block a user