Skip to content

test: overlap shared service provisioning and Windows pod checks - #9813

Merged
Artur Khantimirov (r2k1) merged 1 commit into
mainfrom
r2k1-e2e-setup-concurrency
Oct 18, 2026
Merged

Artur Khantimirov (r2k1) merged 1 commit into
mainfrom
r2k1-e2e-setup-concurrency

Conversation

@r2k1

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:

Create/reuse shared subnets sequentially, then provision Bastion and Firewall concurrently. Run Windows Server Core and Nano Server pod checks concurrently, retaining retries, node placement, cleanup, and error aggregation.

Remove eager orphan-subnet cleanup: an empty subnet without an AKS cluster can belong to another runner still creating its cluster. External resource-group GC owns abandoned-resource cleanup.

shared setup: VNet -> subnets -> [Bastion | Firewall] -> identity
Windows validation: [Server Core checks | Nano Server checks] -> join errors

VHD selection/replication and Linux pod validation are unchanged. No new helpers or test-file changes.

Local validation after rebasing onto main (from e2e/):

  • go test ./scenario ./toolkit — passed.
  • go build ./... — passed.
  • go test -race ./scenario ./toolkit — passed before rebase; the rebase preserved the patch unchanged.
  • git diff --check — passed.

Live Azure E2E validation was not run. Cold-run evidence suggests potential savings of about 8 minutes from shared service overlap and about 2 minutes per Windows lane from pod overlap; these are theoretical bounds, not measured improvements. Concurrent startup can contend for resources.

Scope: E2E framework only. Concurrency changes are reversible; subnet cleanup remains the external GC's responsibility.

Which issue(s) this PR fixes:

N/A. Follow-up to #9806.

Create shared subnets sequentially before provisioning Bastion and Firewall concurrently. Run independent Windows pod checks concurrently and leave abandoned subnet cleanup to external GC.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 870cca72-7850-484f-8639-762022eceb16
Copilot AI balanced review requested due to automatic review settings October 18, 2026 20:20
@github-actions

Copy link
Copy Markdown
Contributor

Windows Unit Test Results

  3 files   18 suites   1m 7s ⏱️
556 tests 556 ✅ 0 💤 0 ❌
559 runs  559 ✅ 0 💤 0 ❌

Results for commit 6eb77f1.

@github-actions

Copy link
Copy Markdown
Contributor

Code Coverage

Package Line Rate Health
test 0% ❌
windows 27% ❌
staging_cse_windows Package 1 65% ➖
debug 0% ❌
provisioningscripts 2% ❌
parts_windows Package 1 74% ➖
Summary 38% (1649 / 6831) ❌

@github-actions

Copy link
Copy Markdown
Contributor

Code Coverage

Package Line Rate Health
github.com/Azure/agentbaker/aks-node-controller 72% ➖
github.com/Azure/agentbaker/aks-node-controller/common 100% ✔
github.com/Azure/agentbaker/aks-node-controller/helpers 68% ➖
github.com/Azure/agentbaker/aks-node-controller/parser 88% ✔
github.com/Azure/agentbaker/aks-node-controller/pkg/gpu 100% ✔
github.com/Azure/agentbaker/aks-node-controller/pkg/nodeconfigutils 88% ✔
github.com/Azure/agentbaker/aks-node-controller/utils 0% ❌
github.com/Azure/agentbaker/apiserver 24% ❌
github.com/Azure/agentbaker/cmd 0% ❌
github.com/Azure/agentbaker/cmd/starter 0% ❌
github.com/Azure/agentbaker/fuzz/api 0% ❌
github.com/Azure/agentbaker/hotfix/render-nodecustomdata 0% ❌
github.com/Azure/agentbaker/pkg/agent 76% ➖
github.com/Azure/agentbaker/pkg/agent/datamodel 76% ➖
github.com/Azure/agentbaker/pkg/agent/toggles 0% ❌
github.com/Azure/agentbaker/pkg/vhdbuilder/datamodel 87% ✔
Summary 74% (5621 / 7572) ➖

@github-actions

Copy link
Copy Markdown
Contributor

Code Coverage

Package Line Rate Health
shellspec spec 25% ❌
Summary 25% (3865 / 15529) ❌

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 Needs a closer look

Concurrent Azure service provisioning on the shared VNet still needs live validation and human review.

No open issues 🎉

What changed in this PR

Reduces E2E setup and Windows validation waits by extending shared concurrency patterns from #9806. Production provisioning and VHD behavior are unchanged.

Changes:

  • Provisions Bastion and Firewall concurrently after sequential subnet setup.
  • Runs Windows pod checks concurrently, preserving retries and error aggregation.
  • Removes eager orphan-subnet cleanup and documents external cleanup ownership.
File Description
e2e/​scenario/​shared_infra.go Overlaps service provisioning and removes orphan-subnet cleanup.
e2e/​scenario/​provision.go Runs Windows pod checks concurrently.
e2e/​README.md Documents concurrency and subnet cleanup ownership.

Review effort: Balanced

@r2k1
Artur Khantimirov (r2k1) enabled auto-merge (squash) October 18, 2026 20:26
@r2k1 Artur Khantimirov (r2k1) changed the title perf(e2e): overlap shared service provisioning and Windows pod checks test: overlap shared service provisioning and Windows pod checks Oct 18, 2026
@r2k1
Artur Khantimirov (r2k1) merged commit c98c973 into main Oct 18, 2026
25 of 29 checks passed
@r2k1
Artur Khantimirov (r2k1) deleted the r2k1-e2e-setup-concurrency branch October 18, 2026 20:27
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.

3 participants