helpers/helm: skip img-puller namespace in Hyper-V webhook#563
Conversation
The e2e suite's img-puller namespace (test/e2e/e2e.go::prepullImages) runs Linux helper DaemonSets to prewarm Windows images. Injecting runhcs-wcow-hypervisor into these pods makes them undeployable, which deadlocks --prepull-images=true at SynchronizedBeforeSuite and otherwise holds ~500 MiB/node of UVM overhead for the entire suite duration. Exclude namespaces labeled e2e-framework=img-puller via a namespaceSelector. The label is set by framework.CreateTestingNS and is stable across runs even though the namespace name has a random suffix. Verified on a CAPZ Hyper-V cluster (WS2025, k8s v1.37.0-alpha): a full hyperv-serial-slow run with --prepull-images=true now completes SynchronizedBeforeSuite in 76 s instead of deadlocking, and img-puller pods admit with no runtimeClassName.
|
Hi @rzlink. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Tip We noticed you've done this a few times! Consider joining the org to skip this step and gain Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
/ok-to-test |
|
/approve |
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: marosset, rzlink, zylxjtu The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
What this PR does / why we need it
The e2e suite's
img-pullernamespace (created bytest/e2e/e2e.go::prepullImages) runs DaemonSets that prewarm the Windows test images on every Windows worker. The Hyper-V webhook currently injectsrunhcs-wcow-hypervisorinto these puller pods, turning each one into a Hyper-V UVM that holds ~500 MiB of host memory for the entire suite duration — and in practice deadlocks--prepull-images=trueatSynchronizedBeforeSuite.This PR adds a
namespaceSelectorthat excludes namespaces labelede2e-framework=img-puller(the labelframework.CreateTestingNSsets on that namespace).Verification
Validated on a CAPZ Hyper-V cluster (WS2025, k8s v1.37.0-alpha): a full
hyperv-serial-slowrun with--prepull-images=truenow completesSynchronizedBeforeSuitein 76 s instead of deadlocking, and img-puller pods admit with noruntimeClassName.Release note