Skip to content

test: fix time dependency and add artifact streaming e2e for azure linux v3#8204

Merged
ganeshkumarashok merged 5 commits intomainfrom
aganeshkumar/azurelinuxv3-artifact-streaming-e2e
Apr 6, 2026
Merged

test: fix time dependency and add artifact streaming e2e for azure linux v3#8204
ganeshkumarashok merged 5 commits intomainfrom
aganeshkumar/azurelinuxv3-artifact-streaming-e2e

Conversation

@ganeshkumarashok
Copy link
Copy Markdown
Contributor

@ganeshkumarashok ganeshkumarashok commented Mar 30, 2026

What this PR does / why we need it:
Adds E2E test coverage for artifact streaming (acr-mirror) on Azure Linux V3, and fixes a bug that would cause artifact streaming enablement to fail on Azure Linux.

Changes:

  1. E2E tests (e2e/scenario_test.go): Adds Test_AzureLinuxV3_ArtifactStreaming (CSE path) and Test_AzureLinuxV3_ArtifactStreaming_Scriptless (aks-node-controller path). Artifact streaming has been supported on Azure Linux 3.0 since September 2025 (PR Artifact streaming: download mirror-proxy in VHD for Ubuntu 24.04 and Azure Linux 3.0 #6993) but had no E2E tests — only Ubuntu 2204 was covered.

  2. Fix time in retrycmd_if_failure (parts/linux/cloud-init/artifacts/cse_config.sh): Removes time prefix from the systemctl call inside retrycmd_if_failure. The retrycmd_if_failure function wraps commands in timeout, which can only exec external binaries. Ubuntu has /usr/bin/time (GNU time package), but Azure Linux does not ship it — causing timeout: failed to run command 'time': No such file or directory. The time on line 426 (time /opt/acr/bin/acr-config) is unaffected since it runs as a bash builtin directly (not inside timeout).

Which issue(s) this PR fixes:
AB#37335260

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

Adds missing E2E coverage for artifact streaming (acr-mirror) on Azure Linux V3, validating both the CSE bootstrap path and the aks-node-controller (“scriptless”) path.

Changes:

  • Add Test_AzureLinuxV3_ArtifactStreaming scenario enabling EnableArtifactStreaming via the NBC (CSE) path.
  • Add Test_AzureLinuxV3_ArtifactStreaming_Scriptless scenario enabling EnableArtifactStreaming via the AKS node config (scriptless) path.
  • Validate /etc/overlaybd is non-empty and required systemd units are running (overlaybd-snapshotter, overlaybd-tcmu, acr-mirror, containerd).

…inux compatibility

timeout wraps retrycmd_if_failure and can only exec external commands.
Ubuntu has /usr/bin/time (GNU time) but Azure Linux does not ship it,
causing "timeout: failed to run command 'time': No such file or directory".

AB#37335260
@ganeshkumarashok ganeshkumarashok changed the title test: add artifact streaming e2e for azure linux v3 test: fix time dependency and add artifact streaming e2e for azure linux v3 Mar 30, 2026
Copy link
Copy Markdown
Contributor

@SriHarsha001 SriHarsha001 left a comment

Choose a reason for hiding this comment

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

Lgtm

…shkumar/azurelinuxv3-artifact-streaming-e2e
…-e2e

Resolve conflict in e2e/scenario_test.go by keeping both AzureLinuxV3
artifact streaming tests and new Ubuntu 2204 ARM64 Scriptless test.
Copilot AI review requested due to automatic review settings April 6, 2026 18:48
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

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

Remove the time wrapper from the acr-config invocation to match the
systemctl line above, which already had time removed.
@ganeshkumarashok ganeshkumarashok merged commit 8e610a1 into main Apr 6, 2026
18 of 31 checks passed
@ganeshkumarashok ganeshkumarashok deleted the aganeshkumar/azurelinuxv3-artifact-streaming-e2e branch April 6, 2026 21:56
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.

6 participants