Skip to content

[AKS] az aks create/update Add support for ACNS performance#33018

Merged
yanzhudd merged 43 commits intoAzure:devfrom
santhoshmprabhu:sanprabhu/acns-perf-ga-2
Mar 26, 2026
Merged

[AKS] az aks create/update Add support for ACNS performance#33018
yanzhudd merged 43 commits intoAzure:devfrom
santhoshmprabhu:sanprabhu/acns-perf-ga-2

Conversation

@santhoshmprabhu
Copy link
Copy Markdown
Contributor

Related command
az aks create --enable-acns --network-plugin azure --network-dataplane cilium

Description
This pull request adds the changes for general availability of ACNS Performance features in Azure Kubernetes Service. ACNS stands for Advanced Container Networking Services. ACNS Performance is Azure's managed offering of Cilium CNI with eBPF host routing mode enabled. In this PR, we allow users to pass an enum to configure the so-called acceleration mode, using the CLI option --acns-datapath-acceleration-mode. Possible values are BpfVeth meaning that eBPF host routing is enabled, or None, meaning that it is not enabled. The feature requires the broader ACNS feature to be enabled (--enable-acns). Even when ACNS is enabled, the feature is disabled by default.

Testing Guide
az aks create -g myRG -n myCluster --network-dataplane cilium --network-plugin azure --enable-acns --acns-datapath-acceleration-mode BpfVeth
creates a cluster with ACNS performance enabled.
az aks update-g myRG -n myCluster --enable-acns --acns-datapath-acceleration-mode BpfVeth
enables ACNS performance on myCluster.
az aks update-g myRG -n myCluster --enable-acns --acns-datapath-acceleration-mode None
disables ACNS performance on myCluster, while keeping the rest of ACNS enabled.

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature


This checklist is used to make sure that common guidelines for a pull request are followed.

@FumingZhang
Copy link
Copy Markdown
Member

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 3 pipeline(s).

@santhoshmprabhu santhoshmprabhu changed the title [AKS] az aks create/update: Add support for ACNS performance [AKS] az aks create/update Add support for ACNS performance Mar 24, 2026
@FumingZhang
Copy link
Copy Markdown
Member

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 3 pipeline(s).

Copy link
Copy Markdown
Member

@FumingZhang FumingZhang left a comment

Choose a reason for hiding this comment

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

Please commit the recording files according to your newly added test cases to pass the CI checks. You can find the recording files from pipeline artifact (live test reports/cli-recordings)

@santhoshmprabhu
Copy link
Copy Markdown
Contributor Author

Let us not merge this immediately, investigating a potential bug. Marking as draft to avoid merging.

@santhoshmprabhu santhoshmprabhu marked this pull request as draft March 25, 2026 16:45
@santhoshmprabhu santhoshmprabhu marked this pull request as ready for review March 25, 2026 20:49
@santhoshmprabhu
Copy link
Copy Markdown
Contributor Author

Fixed the issue, live test running.

@FumingZhang
Copy link
Copy Markdown
Member

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 3 pipeline(s).

@FumingZhang
Copy link
Copy Markdown
Member

=========================== short test summary info ============================
FAILED src/azure-cli/azure/cli/command_modules/acs/tests/latest/test_aks_commands.py::AzureKubernetesServiceScenarioTest::test_aks_update_with_perf

https://dev.azure.com/azclitools/public/_build/results?buildId=305007&view=logs&j=950e443e-fa90-5f50-4303-cd9168964025&t=e8e1e5d0-e808-59fd-7db9-daddfd146787&l=4226

seems you missed to commit the recording file for this test case @santhoshmprabhu

return self.raw_param.get("network_dataplane")

def get_acns_enablement(self) -> Tuple[
def get_acns_enablement_with_perf(self) -> Tuple[
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

will this change break the function call in cli-extensions/aks-preview?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The original one would have. I am now using the same function signature throughout. Eventually we'll want to replace all use of get_acns_enablement_with_perf with get_acns_enablement.

@santhoshmprabhu
Copy link
Copy Markdown
Contributor Author

=========================== short test summary info ============================
FAILED src/azure-cli/azure/cli/command_modules/acs/tests/latest/test_aks_commands.py::AzureKubernetesServiceScenarioTest::test_aks_update_with_perf

https://dev.azure.com/azclitools/public/_build/results?buildId=305007&view=logs&j=950e443e-fa90-5f50-4303-cd9168964025&t=e8e1e5d0-e808-59fd-7db9-daddfd146787&l=4226

seems you missed to commit the recording file for this test case @santhoshmprabhu

I wanted to check in the right recording, since I had modified the test. Just added it now.

@FumingZhang
Copy link
Copy Markdown
Member

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 3 pipeline(s).

Copy link
Copy Markdown
Member

@FumingZhang FumingZhang left a comment

Choose a reason for hiding this comment

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

lgtm

@yanzhudd yanzhudd merged commit 158ee74 into Azure:dev Mar 26, 2026
49 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AKS az aks/acs/openshift Auto-Assign Auto assign by bot

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants