cloud-provider-kubevirt: move release-4.18..4.22 conformance jobs to Azure - #83031
cloud-provider-kubevirt: move release-4.18..4.22 conformance jobs to Azure#83031qinqon wants to merge 1 commit into
Conversation
…Azure The baremetalds conformance jobs on the stable branches of openshift/cloud-provider-kubevirt have failed every recent run: release-4.18 7/7, release-4.19 9/9, release-4.20 11/11, release-4.21 3/3 and release-4.22 2/2. Unlike main, the failures here are not caused by ODF: the hypershift-kubevirt-baremetalds-odf step succeeds on every stable branch, because the ODF-to-OCP version skew that breaks main is specific to the 5.0 platform version. What fails on these branches is the conformance step, and the failures are almost entirely unrelated to this component. On release-4.20, 4.21 and 4.22 there are only three failures per run, dominated by [sig-builds] flakes and by [sig-kubevirt] migration ... should maintain node readiness, which is a platform issue tracked separately: the live migration itself succeeds and the kubevirt-cloud-controller-manager is not involved, but in-guest clients lose their API server connection for roughly 45 seconds afterwards with "http2: client connection lost", so the node briefly flaps NotReady. Move these jobs to hypershift-kubevirt-azure-conformance, matching what was done for main, and narrow them to the tests relevant to this component with TEST_ARGS=--run. The regex selects 13 tests: the seven [sig-kubevirt] services tests plus the generic [sig-network] Type LoadBalancer and terminating-endpoints tests. Together these cover all four scenarios that drive the cloud provider's EnsureLoadBalancer. The node controller is covered structurally, since without it nodes keep the node.cloudprovider.kubernetes.io/uninitialized taint and the hypershift-kubevirt-health-check step fails before the tests run. All 13 selected tests already pass on release-4.19, 4.20, 4.21 and 4.22 in the most recent baremetalds run of each, so these jobs are expected to go green. release-4.18 is a known exception: five of the seven [sig-kubevirt] services tests fail there, specifically the ones that cross guest nodes, while both infra-cluster ones pass. That is a guest-to-guest networking problem which this change does not address and which needs its own investigation, so the job is expected to remain red on that branch until it is fixed. The hypershift-kubevirt-azure-conformance workflow is already exercised on this whole version range by the openshift/hypershift periodics, including a successful run on release-4.18. The jobs are marked optional while they establish a track record on the new platform. Assisted-By: Claude Opus 4.5 <noreply@anthropic.com> Signed-off-by: Enrique Llorente <ellorent@redhat.com>
|
@qinqon: GitHub didn't allow me to request PR reviews from the following users: openshift/openshift-team-hypershift. Note that only openshift members and repo collaborators can review this PR, and authors cannot review their own PRs. DetailsIn response to this:
Instructions 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. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited) Review profile: CHILL Plan: Enterprise Run ID: ⛔ Files ignored due to path filters (5)
📒 Files selected for processing (5)
WalkthroughThe release 4.18–4.22 CI configurations replace HyperShift KubeVirt bare-metal conformance tests with optional Azure-based tests. The configurations use the ChangesAzure KubeVirt conformance
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
/pj-rehearse |
|
@qinqon: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/cc @orenc1 |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: qinqon 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 |
|
[REHEARSALNOTIFIER]
Prior to this PR being merged, you will need to either run and acknowledge or opt to skip these rehearsals. Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
/pj-rehearse pull-ci-openshift-cloud-provider-kubevirt-release-4.20-hypershift-kubevirt-conformance-azure |
|
@qinqon: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
@qinqon: all tests passed! Full PR test history. Your PR dashboard. 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. I understand the commands that are listed here. |
Follow-up to #82940, which did the same for
main. Moves the conformance jobs onrelease-4.18…release-4.22from the baremetalds workflow to the Azure conformance workflow, and narrows them to the tests relevant to this component.Current state
Every stable branch is red on every recent run:
Note the difference from #82940: ODF is not broken here.
hypershift-kubevirt-baremetalds-odfsucceeds on every stable branch — the ODF-to-OCP skew that breaksmainis specific to the5.0platform version, and ODF 4.20 works fine on 4.21/4.22.What fails is the conformance step, on things unrelated to KCCM. release-4.22 is representative:
and 4.20/4.21 are
[sig-builds]flakes plus the same migration test.What this changes
Each branch gets the same block as
main:The baremetalds-specific pins (
ODF_OPERATOR_SUB_CHANNEL,REDHAT_OPERATORS_INDEX_TAG,LVM_*,METALLB_*,LOCAL_STORAGE_*) are dropped — the Azure workflow'shypershift-kubevirt-install-odfresolves the ODF catalog dynamically, which is what stops this rotting on each OCP bump.Test selection
The regex selects 13 tests, covering all four scenarios that drive the cloud provider's
EnsureLoadBalancer:[sig-kubevirt] services(2x LoadBalancer, 3x NodePort, 2x direct pod-to-pod)[sig-network] Services ... terminating endpointsx5[sig-network] Services ... on Type LoadBalancer(multiprotocol)KCCM's node controller is covered structurally: without it, nodes keep the
node.cloudprovider.kubernetes.io/uninitializedtaint and never go Ready, sohypershift-kubevirt-health-checkfails before the tests start.[sig-kubevirt] migrationis deliberately excluded. The migration itself succeeds andkubevirt-cloud-controller-manageris not involved — but every in-guest client loses its API-server connection ~45s after its own migration completes withhttp2: client connection lost(matching client-go's HTTP/2 health check window), so the kubelet lease lapses and the node briefly flapsNotReady. Same symptom as OCPBUGS-57594 / OCPBUGS-57642 on other CNIs. The hypershift Azure periodics continue to run that test daily, so the signal is not lost.Expected outcome
I checked the 13 selected tests against the latest baremetalds run of each branch:
So 4.19-4.22 are expected to go green.
release-4.18 is a known exception. The five failures there are precisely the
[sig-kubevirt] servicestests that cross guest nodes, while both infra-cluster ones pass — a guest-to-guest networking problem, not test noise. This PR does not address it and the job is expected to stay red on 4.18 until that is investigated separately. I've kept 4.18 in scope so all branches share one configuration; happy to drop it if reviewers would rather not carry a known-red job.Notes for reviewers
hypershift-kubevirt-azure-conformanceis already exercised across this whole version range by theopenshift/hypershiftperiodics, including a SUCCESS on release-4.18, so the workflow itself is proven on these payloads.TEST_SKIPS, which makes the conformance chain append--file /tmp/tests. The Azure workflow sets noTEST_SKIPS, soTEST_ARGSpasses straight through. Either way--runand--fileAND together, so the selection is the same 13 tests.optional: truewhile they establish a track record; they can be made blocking in a follow-up.release-4.23is left alone here — it still carries the staleODF 4.20/v4.20pins and has no job history at all, so it needs its own look.openshift-privmirrors will be regenerated by automation./cc @openshift/openshift-team-hypershift
Summary by CodeRabbit
openshift-org-azurecluster profile and targets 13 KCCM load-balancer scenarios.