From 745146e4112c64c0ffe6191a69234101864f6cde Mon Sep 17 00:00:00 2001 From: Amir Alavi Date: Tue, 19 May 2026 15:06:11 -0400 Subject: [PATCH] ci(e2e): bump KubeVirt to v1.9.0-alpha.0 for k8s 1.36 compatibility KubeVirt v1.8.2 publishes VMI status checksum fields (uint32 in Go) as format: int32 in its generated CRD schema. k8s 1.36 enables strict numeric format validation in CRDs via https://github.com/kubernetes/kubernetes/pull/136582, which now rejects the legacy schema and causes virt-handler to enter an infinite VMI status update re-enqueue loop. Live migrations never complete and the descheduler e2e TestLiveMigrationInBackground times out. The schema fix landed upstream in https://github.com/kubevirt/kubevirt/pull/17469 (merged to main on 2026-04-18, included in v1.9.0-alpha.0 tagged 2026-05-11) but was not backported to release-1.8, so no v1.8.x release contains it. Bump the default KUBEVIRT_VERSION to v1.9.0-alpha.0 so the e2e suite consumes a release whose generated CRDs are compatible with k8s 1.36's stricter validator. Tracked in https://github.com/kubevirt/kubevirt/issues/17858. --- test/run-e2e-tests.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/run-e2e-tests.sh b/test/run-e2e-tests.sh index 0d032efb6..eca4ef428 100755 --- a/test/run-e2e-tests.sh +++ b/test/run-e2e-tests.sh @@ -27,7 +27,13 @@ KIND_VERSION=${KIND_VERSION:-v0.31.0} SKIP_KUBECTL_INSTALL=${SKIP_KUBECTL_INSTALL:-} SKIP_KIND_INSTALL=${SKIP_KIND_INSTALL:-} SKIP_KUBEVIRT_INSTALL=${SKIP_KUBEVIRT_INSTALL:-} -KUBEVIRT_VERSION=${KUBEVIRT_VERSION:-v1.8.2} +# v1.9.0-alpha.0 (or newer) is required for Kubernetes v1.36+, which +# enforces stricter CRD numeric format validation +# (https://github.com/kubernetes/kubernetes/pull/136582) and rejects the +# pre-fix VMI checksum status schema present in v1.8.x. Fixed upstream +# by https://github.com/kubevirt/kubevirt/pull/17469 (not backported to +# v1.8.x). See https://github.com/kubevirt/kubevirt/issues/17858. +KUBEVIRT_VERSION=${KUBEVIRT_VERSION:-v1.9.0-alpha.0} # Build a descheduler image IMAGE_TAG=v$(date +%Y%m%d)-$(git describe --tags)