[windows] ASO: add support for nftables and BPF dataplanes (on linux nodes)#11757
Merged
Merged
Conversation
…nodes) Add support for the nftables and BPF dataplanes on linux nodes to the ASO test infra. Remove docker installation as only containerd is necessary. Use a config yaml for kubeadm init instead of CLI flags.
Contributor
There was a problem hiding this comment.
Pull request overview
This PR enhances the ASO (Azure Service Operator) test infrastructure to support nftables and BPF dataplanes on Linux nodes in addition to the existing iptables dataplane. The changes streamline the cluster initialization process by migrating from command-line arguments to a YAML configuration file for kubeadm, and remove unnecessary Docker installation since only containerd is required.
Changes:
- Added support for configurable Linux dataplanes (Iptables, Nftables, BPF) via environment variables
- Refactored kubeadm initialization to use a YAML configuration file instead of CLI flags
- Removed Docker installation from Linux VM setup, keeping only containerd
- Added gomplate templating for Enterprise Edition storage and custom resource manifests
- Updated Makefile to use marker files for better dependency tracking between setup phases
Reviewed changes
Copilot reviewed 10 out of 12 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
process/testing/aso/linux/init-cluster.sh |
Changed to accept kubeadm config YAML file path instead of multiple CLI arguments |
process/testing/aso/install-kubeadm.sh |
Generates and copies kubeadm config YAML; added KUBE_PROXY_MODE configuration |
process/testing/aso/install-calico.sh |
Added gomplate templating for manifests; improved shell quoting; added BPF dataplane support with kube-proxy disabling |
process/testing/aso/infra/templates/vmss-linux.yaml |
Removed Docker installation, keeping only containerd; removed legacy DockerExtension resource |
process/testing/aso/export-env.sh |
Added CALICO_LINUX_DATAPLANE and KUBE_PROXY_MODE environment variables |
process/testing/aso/OSS/templates/custom-resources.yaml |
Templated linuxDataplane field to use environment variable |
process/testing/aso/Makefile |
Updated marker file names and added proper dependencies between kubeadm and calico installation phases |
process/testing/aso/EE/templates/storage-class-azure-file.yaml |
New template for Elasticsearch storage class configuration |
process/testing/aso/EE/templates/persistent-volume.yaml |
New template for Elasticsearch persistent volume |
process/testing/aso/EE/templates/custom-resources.yaml |
Templated linuxDataplane field to use environment variable |
process/testing/aso/EE/templates/custom-resources.bgp.yaml |
Templated linuxDataplane field to use environment variable |
process/testing/aso/.gitignore |
Updated to reflect new marker file naming convention and new manifest directories |
MichalFupso
reviewed
Feb 3, 2026
MichalFupso
reviewed
Feb 3, 2026
MichalFupso
approved these changes
Feb 3, 2026
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.
Description
Add support for the nftables and BPF dataplanes on linux nodes to the ASO test infra.
Remove docker installation as only containerd is necessary.
Use a config yaml for kubeadm init instead of CLI flags.
Related issues/PRs
Todos
Release Note
Reminder for the reviewer
Make sure that this PR has the correct labels and milestone set.
Every PR needs one
docs-*label.docs-pr-required: This change requires a change to the documentation that has not been completed yet.docs-completed: This change has all necessary documentation completed.docs-not-required: This change has no user-facing impact and requires no docs.Every PR needs one
release-note-*label.release-note-required: This PR has user-facing changes. Most PRs should have this label.release-note-not-required: This PR has no user-facing changes.Other optional labels:
cherry-pick-candidate: This PR should be cherry-picked to an earlier release. For bug fixes only.needs-operator-pr: This PR is related to install and requires a corresponding change to the operator.