[WIP] Default spot and custom-vnet e2e templates to Azure Linux 4#6330
Open
mboersma wants to merge 2 commits into
Open
[WIP] Default spot and custom-vnet e2e templates to Azure Linux 4#6330mboersma wants to merge 2 commits into
mboersma wants to merge 2 commits into
Conversation
Contributor
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #6330 +/- ##
==========================================
+ Coverage 43.85% 43.95% +0.10%
==========================================
Files 291 288 -3
Lines 25344 25285 -59
==========================================
Hits 11114 11114
+ Misses 13457 13398 -59
Partials 773 773 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Azure CNI v1 + Azure Linux 4 causes the control plane to become unreachable externally: the node boots and kubeadm init succeeds locally, but the node drops off the network ~10 minutes after boot, preventing the cluster from reaching ControlPlaneInitialized. The same AzL4 setup scripts work fine with Calico-based flavors (spot, custom-vnet), so this appears to be an incompatibility between Azure CNI v1's host-NIC reconfiguration and Azure Linux 4. Keep azure-cni-v1 on the default Ubuntu CI image for now; only the Calico-based spot and custom-vnet flavors default to Azure Linux 4.
1a46f8e to
ba043a5
Compare
Contributor
Author
|
/retest |
1 similar comment
Contributor
Author
|
/retest |
This was referenced Jun 9, 2026
Contributor
Author
|
/retest |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What type of PR is this?
/kind cleanup
What this PR does / why we need it:
This begins making Azure Linux 4 the default operating system for CAPZ e2e tests by flipping the control plane and Linux worker nodes of two CI cluster-template flavors to the
capi-azurelinux-4-gen2community gallery image:prow-spot(OPTIONAL)prow-custom-vnet(OPTIONAL)Inspired by #6312, but rather than adding a single optional Azure Linux 4 spec, we exercise Azure Linux 4 across multiple existing specs. The AZL4 deltas (compute gallery image, marketplace removal,
ca-certificates/iptables bootstrap, and cloud-provider-azurecaCertDir) are factored into reusable patches undertemplates/test/ci/patches/azl4-*.yaml, modeled on the existing Azure Linux 3 overlay.prow-azure-cni-v1was initially included but reverted: Azure CNI v1's host-NIC reconfiguration appears incompatible with Azure Linux 4, causing the control plane to lose external reachability ~10 minutes after boot. Bothspotandcustom-vnetuse Calico (matching the proven #6312 optional test) and are expected to work.Scope is intentionally limited to flavors that have no
ci-version/azl3child overlays, so the change is self-contained and low-risk. The basic "Creating a highly available cluster [REQUIRED]" spec and the optional Azure Linux 3 spec are left on their existing images, end-user-facing templates remain Ubuntu-based, and Windows worker nodes are unaffected.Follow-up PRs can extend Azure Linux 4 to the machine-pool, ci-version, and conformance flavors, which require a leaf-overlay approach to avoid disrupting their child templates.
Which issue(s) this PR fixes:
Special notes for your reviewer:
AZL4_VERSIONis set in the e2eBeforeEach(keyed to the Kubernetes version, matching the existingAZL3_VERSIONconvention). These templates depend on thecapi-azurelinux-4-gen2image being published in the community gallery.TODOs:
Release note: