From 5a4ac9c202b584fa89c17565c311cb2c0deeb05d Mon Sep 17 00:00:00 2001 From: Myasnikov Daniil Date: Fri, 15 May 2026 12:30:38 +0500 Subject: [PATCH] test(e2e): drop cert-manager from prepull list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The prepull DaemonSet starts containers with `command: ["sleep", "infinity"]`, which assumes the image ships /bin/sleep. cert-manager images (cainjector, controller, webhook, startupapicheck) are distroless and have only the cert-manager binary — the container fails to exec with "sleep: executable file not found". Verified locally on a kind v1.33.1 cluster: the sidecar-init pattern (initContainer with restartPolicy: Always) doesn't help either, because crashing distroless containers never reach a persistent `started=true` state, so kubelet never progresses past the first sidecar and the pod stays Initialized=False. Revert to the original two-chart kubeovn + linstor prepull (both non-distroless, both have sleep). The PackageSource dependsOn chain added in 9dae97e is what actually prevents the cert-manager cascade — prepull was only meant as a speed-up. Cert-manager bootstraps in a couple extra minutes on cold install, but consumers wait correctly. Assisted-By: Claude Signed-off-by: Myasnikov Daniil --- hack/e2e-install-cozystack.bats | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/hack/e2e-install-cozystack.bats b/hack/e2e-install-cozystack.bats index 39108bfe8..793263392 100644 --- a/hack/e2e-install-cozystack.bats +++ b/hack/e2e-install-cozystack.bats @@ -24,22 +24,16 @@ # skipped. Writing to a file makes `set -e` trip on a render failure # without using `var=$(helm template ...)` captures, which `set -x` # would expand into the trace and balloon CI logs. - # cert-manager: every operator that mounts a cert-manager-issued webhook - # Secret blocks on the controller; a cold bootstrap can blow progressDeadline. - # cozytest.sh runs @test bodies under /bin/sh (POSIX), so no bash arrays. - local charts="packages/system/kubeovn packages/system/linstor packages/system/cert-manager" - local rendered="" - local chart f - for chart in $charts; do - f=$(mktemp) - helm template "$chart" > "$f" - rendered="$rendered $f" - done - cat $rendered | yq -N ' + local kubeovn_yaml linstor_yaml + kubeovn_yaml=$(mktemp) + linstor_yaml=$(mktemp) + helm template packages/system/kubeovn > "$kubeovn_yaml" + helm template packages/system/linstor > "$linstor_yaml" + cat "$kubeovn_yaml" "$linstor_yaml" | yq -N ' (..|select(has("containers"))|.containers[]|.image), (..|select(has("initContainers"))|.initContainers[]|.image) ' | hack/e2e-prepull-images.sh - rm -f $rendered + rm -f "$kubeovn_yaml" "$linstor_yaml" } @test "Install Cozystack" {