Skip to content

[WIP] Default azure-cni-v1, spot, and custom-vnet e2e templates to Azure Linux 4#6330

Open
mboersma wants to merge 1 commit into
kubernetes-sigs:mainfrom
mboersma:azurelinux4-e2e-default
Open

[WIP] Default azure-cni-v1, spot, and custom-vnet e2e templates to Azure Linux 4#6330
mboersma wants to merge 1 commit into
kubernetes-sigs:mainfrom
mboersma:azurelinux4-e2e-default

Conversation

@mboersma
Copy link
Copy Markdown
Contributor

@mboersma mboersma commented Jun 1, 2026

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 three CI cluster-template flavors to the capi-azurelinux-4-gen2 community gallery image:

  • prow-azure-cni-v1 (REQUIRED)
  • 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-azure caCertDir) are factored into reusable patches under templates/test/ci/patches/azl4-*.yaml, modeled on the existing Azure Linux 3 overlay.

Scope is intentionally limited to flavors that have no ci-version/azl3 child 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_VERSION is set in the e2e BeforeEach (keyed to the Kubernetes version, matching the existing AZL3_VERSION convention). These templates depend on the capi-azurelinux-4-gen2 image being published in the community gallery.

TODOs:

  • squashed commits
  • includes documentation
  • adds unit tests
  • cherry-pick candidate

Release note:

Default azure-cni-v1, spot, and custom-vnet e2e templates to Azure Linux 4

@k8s-ci-robot k8s-ci-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. labels Jun 1, 2026
@k8s-ci-robot k8s-ci-robot requested a review from Jont828 June 1, 2026 20:55
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign mboersma for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot requested a review from jsturtevant June 1, 2026 20:55
@k8s-ci-robot k8s-ci-robot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Jun 1, 2026
@mboersma mboersma changed the title Default azure-cni-v1, spot, and custom-vnet e2e templates to Azure Linux 4 [WIP] Default azure-cni-v1, spot, and custom-vnet e2e templates to Azure Linux 4 Jun 1, 2026
@k8s-ci-robot k8s-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 1, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 1, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 43.85%. Comparing base (f5bc974) to head (b4f3e8d).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #6330   +/-   ##
=======================================
  Coverage   43.85%   43.85%           
=======================================
  Files         291      291           
  Lines       25344    25344           
=======================================
  Hits        11114    11114           
  Misses      13457    13457           
  Partials      773      773           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@k8s-ci-robot
Copy link
Copy Markdown
Contributor

@mboersma: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
pull-cluster-api-provider-azure-conformance-dual-stack-with-ci-artifacts b4f3e8d link false /test pull-cluster-api-provider-azure-conformance-dual-stack-with-ci-artifacts
pull-cluster-api-provider-azure-e2e b4f3e8d link true /test pull-cluster-api-provider-azure-e2e

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Details

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. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

2 participants