Skip to content

[windows] ASO: add support for nftables and BPF dataplanes (on linux nodes)#11757

Merged
coutinhop merged 3 commits into
projectcalico:masterfrom
coutinhop:pedro-dataplanes-aso-1
Feb 4, 2026
Merged

[windows] ASO: add support for nftables and BPF dataplanes (on linux nodes)#11757
coutinhop merged 3 commits into
projectcalico:masterfrom
coutinhop:pedro-dataplanes-aso-1

Conversation

@coutinhop
Copy link
Copy Markdown
Member

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

  • Tests
  • Documentation
  • Release note

Release Note

TBD

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.

…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.
@coutinhop coutinhop self-assigned this Feb 3, 2026
@coutinhop coutinhop requested a review from a team as a code owner February 3, 2026 20:56
Copilot AI review requested due to automatic review settings February 3, 2026 20:56
@coutinhop coutinhop added docs-not-required Docs not required for this change release-note-not-required Change has no user-facing impact labels Feb 3, 2026
@marvin-tigera marvin-tigera added this to the Calico v3.32.0 milestone Feb 3, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment thread process/testing/aso/install-kubeadm.sh Outdated
Comment thread process/testing/aso/infra/templates/vmss-linux.yaml Outdated
Comment thread process/testing/aso/install-calico.sh
Comment thread process/testing/aso/install-calico.sh
@projectcalico projectcalico deleted a comment from Copilot AI Feb 3, 2026
@coutinhop coutinhop merged commit 4ced40e into projectcalico:master Feb 4, 2026
3 checks passed
@coutinhop coutinhop deleted the pedro-dataplanes-aso-1 branch February 4, 2026 00:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs-not-required Docs not required for this change release-note-not-required Change has no user-facing impact

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants