Skip to content

feat: add Azure Container Linux ARM64 VHD build target#8102

Open
aadhar-agarwal wants to merge 1 commit intomainfrom
aadagarwal/add-acl-arm64
Open

feat: add Azure Container Linux ARM64 VHD build target#8102
aadhar-agarwal wants to merge 1 commit intomainfrom
aadagarwal/add-acl-arm64

Conversation

@aadhar-agarwal
Copy link
Contributor

@aadhar-agarwal aadhar-agarwal commented Mar 16, 2026

Summary

Adds support for building Azure Container Linux (ACL) ARM64 Gen2 TrustedLaunch VHD images, extending the existing ACL x86 Gen2 TL support to the ARM64 architecture.

Changes

New distro definition (AKSACLArm64Gen2TL):

  • Added to AvailableContainerdDistros, AvailableGen2Distros, AvailableACLDistros, and AKSDistrosAvailableOnVHD lists
  • Registered SIG image config template (SIGACLArm64Gen2TLImageConfigTemplate) with definition aclgen2arm64TL
  • Wired into the Azure Linux SIG image config map

Packer config:

  • New packer template: vhd-image-builder-acl-arm64.json (mirrors the existing ACL x86 config, targeting ARM64 binaries)

Pipeline:

  • Added acl-arm64 build target to .pipelines/.vsts-vhd-builder-release.yaml

Test infrastructure:

  • ARM64 TrustedLaunch test VMs now use Cobalt 100 (Standard_D2pds_v6) which supports TL, while non-TL ARM64 continues using Ampere Altra (Standard_D2pds_V5)
  • Added AKSACLArm64Gen2TL to E2E VHD config and scenario tests
  • Updated unit tests for SIG config, distro type checks, and baker API coverage

Build system:

  • Added acl-arm64 target to packer.mk
  • Updated vhd-scanning.sh to handle the new SKU

Test run

What this PR does / why we need it:

Which issue(s) this PR fixes:

Fixes #

Copy link
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

Adds an Azure Container Linux (ACL) ARM64 Gen2 Trusted Launch VHD build target across the VHD builder, SIG config, pipelines, and E2E coverage.

Changes:

  • Introduces new AKSACLArm64Gen2TL distro and wires it into SIG image config maps and distro availability lists.
  • Adds a dedicated ARM64 ACL Packer template and Makefile target for building the new VHD.
  • Updates pipeline and E2E test infrastructure to exercise ARM64 ACL Gen2 TL (including VM size selection for TL-capable ARM64 SKUs).

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
vhdbuilder/packer/vhd-scanning.sh Chooses TL-capable ARM64 VM sizes (v6) for scanning when Trusted Launch is enabled.
vhdbuilder/packer/vhd-image-builder-acl-arm64.json New Packer template for ACL ARM64 VHD builds (ARM64 binaries, mirrored provisioning flow).
vhdbuilder/packer/test/run-test.sh Updates ARM64 test VM sizing to use v6 when Trusted Launch is enabled.
pkg/agent/datamodel/types.go Adds AKSACLArm64Gen2TL distro and includes it in VHD-available distros.
pkg/agent/datamodel/types_test.go Extends ACL detection tests to include the new ARM64 ACL distro.
pkg/agent/datamodel/sig_config.go Adds ACL ARM64 Gen2 TL to maintained distro lists and SIG image config templates/maps.
pkg/agent/datamodel/sig_config_test.go Updates SIG config tests for new ACL ARM64 entry and expected map size.
pkg/agent/bakerapi_test.go Includes the new ACL ARM64 distro in API implementation coverage tests.
packer.mk Adds AzureContainerLinux ARM64 branch to select the new Packer template.
e2e/config/vhd.go Registers VHDACLArm64Gen2TL image config for E2E runs.
e2e/scenario_test.go Adds an E2E scenario that boots an ACL ARM64 Gen2 TL node (Trusted Launch + NVMe).
.pipelines/.vsts-vhd-builder-release.yaml Adds an acl-arm64 build job/parameter for the new target.

Copy link
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

Adds a new Azure Container Linux (ACL) ARM64 Gen2 Trusted Launch VHD build target, extending existing ACL (amd64) support across packer templates, pipeline wiring, and test coverage.

Changes:

  • Introduces new distro AKSACLArm64Gen2TL and wires it into SIG image config + maintained distro lists.
  • Adds an ARM64-specific ACL packer template and build target selection (packer.mk), plus a new release pipeline job.
  • Updates scanning/test VM sizing for ARM64 Trusted Launch (v6) and adds an ARM64 ACL E2E scenario + config.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
vhdbuilder/packer/vhd-scanning.sh Selects ARM64 VM size based on Trusted Launch support (v5 vs v6).
vhdbuilder/packer/vhd-image-builder-acl-arm64.json New ARM64 ACL packer template mirroring existing ACL template but using arm64 binaries.
vhdbuilder/packer/test/run-test.sh Uses TL-capable ARM64 VM size when Trusted Launch is enabled.
vhdbuilder/byoi.txt Adds a BYOI example command for creating a cluster with a custom image.
pkg/agent/datamodel/types_test.go Extends ACL detection test coverage to include the new ARM64 ACL distro.
pkg/agent/datamodel/types.go Adds AKSACLArm64Gen2TL distro constant and includes it in VHD-available distros.
pkg/agent/datamodel/sig_config_test.go Updates SIG config tests to expect the additional ACL ARM64 entry.
pkg/agent/datamodel/sig_config.go Registers ACL ARM64 SIG image config template and adds distro to relevant maps/lists.
pkg/agent/bakerapi_test.go Ensures baker API coverage includes the new ACL ARM64 distro.
packer.mk Adds AzureContainerLinux handling for ARM64 builds to select the new template.
e2e/scenario_test.go Adds an ACL ARM64 Trusted Launch E2E scenario (with NVMe + v6 VM sizing).
e2e/config/vhd.go Adds an E2E VHD config entry for aclgen2arm64TL.
.pipelines/.vsts-vhd-builder-release.yaml Adds an acl-arm64 build job/parameter to the VHD builder release pipeline.

Add Azure Container Linux (ACL) ARM64 Trusted Launch Gen2 build target:

- Add AKSACLArm64Gen2TL distro constant and SIG image config template
- Register in AvailableContainerdDistros, AvailableGen2Distros, AvailableACLDistros
- Create vhd-image-builder-acl-arm64.json packer template (arm64 binary variant)
- Add AzureContainerLinux ARM64 case in packer.mk
- Add buildazurecontainerlinuxarm64tlgen2 pipeline job (default: true)
  - VM size: Standard_D16pds_v5
  - Source image: acldevel-arm64 from ACLDEVEL gallery
- Add VHDACLArm64Gen2TL e2e config and Test_ACL_ARM64 scenario
- Update unit tests and SIG config test counts

Signed-off-by: Aadhar Agarwal <aadagarwal@microsoft.com>
@aadhar-agarwal aadhar-agarwal force-pushed the aadagarwal/add-acl-arm64 branch from 088b771 to 740538b Compare March 16, 2026 20:48
@aadhar-agarwal aadhar-agarwal changed the title feat: add ACL ARM64 VHD build target feat: add Azure Container Linux ARM64 VHD build target Mar 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants