-
Couldn't load subscription status.
- Fork 4.2k
Add e2e tests for CPU startup boost #8672
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: experimental-cpu-boost
Are you sure you want to change the base?
Add e2e tests for CPU startup boost #8672
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: kamarabbas99 The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/cc omerap12 adrianmoisey laoj2 |
|
/area vertical-pod-autoscaler |
b25e243 to
e3a83fd
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall looks good to me, but I wasn't able to run the tests locally.
I exported the following:
export FEATURE_GATES=CPUStartupBoost=trueAnd changed this:
diff --git a/vertical-pod-autoscaler/hack/run-e2e-tests.sh b/vertical-pod-autoscaler/hack/run-e2e-tests.sh
index f7f724925..9447abc82 100755
@@ -50,7 +50,7 @@ case ${SUITE} in
recommender|updater|admission-controller|actuation|full-vpa)
export KUBECONFIG=$HOME/.kube/config
pushd ${SCRIPT_ROOT}/e2e
- go test ./v1/*go -v --test.timeout=150m --args --ginkgo.v=true --ginkgo.focus="\[VPA\] \[${SUITE}\]" --report-dir=${WORKSPACE} --disable-log-dump --ginkgo.timeout=150m
+ go test ./v1/*go -v --test.timeout=150m --args --ginkgo.v=true --ginkgo.focus="\[VPA\] \[${SUITE}\]" --report-dir=${WORKSPACE} --ginkgo.label-filter="FG:CPUStartupBoost" --disable-log-dump --ginkgo.timeout=150m
V1_RESULT=$?
popd
echo v1 test result: ${V1_RESULT}But when I run this:
./vertical-pod-autoscaler/hack/run-e2e-locally.sh updaterI get this:
[sig-autoscaling] [VPA] [updater] [v1] Updater Unboost pods when they become Ready [FG:CPUStartupBoost]
/home/ubuntu/autoscaler/vertical-pod-autoscaler/e2e/v1/updater.go:224
STEP: Creating a kubernetes client @ 10/27/25 12:23:28.748
I1027 12:23:28.748322 70130 util.go:453] >>> kubeConfig: /home/ubuntu/.kube/config
STEP: Building a namespace api object, basename vertical-pod-autoscaling @ 10/27/25 12:23:28.749
STEP: Waiting for a default service account to be provisioned in namespace @ 10/27/25 12:23:28.757
STEP: Waiting for kube-root-ca.crt to be provisioned in namespace @ 10/27/25 12:23:28.76
STEP: Checking CPUStartupBoost cluster feature gate is on @ 10/27/25 12:23:28.762
STEP: Checking CPUStartupBoost VPA feature gate is enabled for updater @ 10/27/25 12:23:28.762
STEP: Setting up the Admission Controller status @ 10/27/25 12:23:28.764
STEP: Setting up a hamster Deployment @ 10/27/25 12:23:28.764
I1027 12:23:28.769598 70130 warnings.go:110] "Warning: would violate PodSecurity \"restricted:latest\": allowPrivilegeEscalation != false (container \"hamster\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"hamster\" must set securityContext.capabilities.drop=[\"ALL\"]), runAsNonRoot != true (pod or container \"hamster\" must set securityContext.runAsNonRoot=true), seccompProfile (pod or container \"hamster\" must set securityContext.seccompProfile.type to \"RuntimeDefault\" or \"Localhost\")"
I1027 12:23:28.771252 70130 deployment.go:104] deployment status: v1.DeploymentStatus{ObservedGeneration:0, Replicas:0, UpdatedReplicas:0, ReadyReplicas:0, AvailableReplicas:0, UnavailableReplicas:0, TerminatingReplicas:(*int32)(nil), Conditions:[]v1.DeploymentCondition(nil), CollisionCount:(*int32)(nil)}
STEP: Setting up a VPA CRD @ 10/27/25 12:23:30.778
I1027 12:23:30.778948 70130 util.go:453] >>> kubeConfig: /home/ubuntu/.kube/config
I1027 12:23:30.803540 70130 util.go:453] >>> kubeConfig: /home/ubuntu/.kube/config
STEP: Annotating pods with boost annotation @ 10/27/25 12:23:30.818
STEP: Waiting for pods to be in-place updated @ 10/27/25 12:23:31.096
I1027 12:23:31.096062 70130 common.go:585] waiting for at least one pod to be updated without eviction
I1027 12:25:31.099681 70130 common.go:629] finished waiting for at least one pod to be updated without eviction
STEP: Deleting the Admission Controller status @ 10/27/25 12:25:31.099
[FAILED] in [It] - /home/ubuntu/autoscaler/vertical-pod-autoscaler/e2e/v1/updater.go:252 @ 10/27/25 12:25:31.103
STEP: Destroying namespace "vertical-pod-autoscaling-9135" for this suite. @ 10/27/25 12:25:31.104
• [FAILED] [122.361 seconds]
[sig-autoscaling] [VPA] [updater] [v1] Updater [It] Unboost pods when they become Ready [FG:CPUStartupBoost]
/home/ubuntu/autoscaler/vertical-pod-autoscaler/e2e/v1/updater.go:224
[FAILED] Unexpected error:
<context.deadlineExceededError>:
context deadline exceeded
{}
occurred
In [It] at: /home/ubuntu/autoscaler/vertical-pod-autoscaler/e2e/v1/updater.go:252 @ 10/27/25 12:25:31.103
------------------------------
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
------------------------------Anything I forgot to do?
(when @adrianmoisey PRs will be merged this process will be much better )
What type of PR is this?
e2e tests
What this PR does / why we need it:
This PR adds the e2e tests for CPU startup boost
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: