Repository navigation
feat: select Edge Zone galleries using shared distro identities - #10033
Open
prakhar1200 wants to merge 1 commit into
Open
prakhar1200 wants to merge 1 commit into
prakhar1200 wants to merge 1 commit into
Conversation
Add explicit Extended Zone lookup context with shared distro identities, legacy configuration fallback, and migration-safe version overrides. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 21bda48d-395d-41e0-9bba-14f30a71e533
Contributor
Windows Unit Test Results 3 files 21 suites 1m 3s ⏱️ Results for commit d2bd2f1. |
Contributor
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The HTTP handlers ignore the Edge Zone opt-in, while the fallback accepts an unsupported Egress distro and selects the legacy Edge Zone image instead of rejecting it.
2 open issues
What changed in this PR
This PR adds explicit Extended Zone gallery selection while retaining existing regional distro identities. It offers an alternative to #9689’s derived-identity approach and preserves legacy lookups.
Changes:
- Derives a shared-name Extended Zone catalog and exports eligibility helpers.
- Adds
UseEdgeZoneVHDcontext to image lookup, catalog enumeration, and node bootstrapping. - Adds tests for gallery routing, legacy fallback, version overrides, and unsupported images.
| File | Description |
|---|---|
pkg/agent/datamodel/types.go |
Adds optional Extended Zone bootstrapping context. |
pkg/agent/datamodel/sig_config.go |
Defines the shared catalog, eligibility helpers, and lookup context. |
pkg/agent/datamodel/sig_config_test.go |
Tests catalog eligibility and metadata preservation. |
pkg/agent/bakerapi.go |
Routes image selection through shared and legacy Extended Zone configurations. |
pkg/agent/bakerapi_test.go |
Tests routing, overrides, fallback, and bootstrapping behavior. |
Review effort: Balanced
| return &legacyConfig | ||
| } | ||
| regionalConfig, ok := catalog.regional[distro] | ||
| if !ok { |
Comment on lines
+47
to
+48
| // UseEdgeZoneVHD selects the Extended Zone gallery without changing the distro identity. | ||
| UseEdgeZoneVHD bool `json:"useEdgeZoneVHD,omitempty"` |
Contributor
Contributor
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

What this PR does / why we need it:
Alternative to #9689 for comparison. These are separate approaches, not PRs intended to merge together.
Use the existing regional distro identity and select the Extended Zone gallery through explicit lookup context, rather than deriving additional Edge Zone distro names.
UseEdgeZoneVHDlookup contextFor example:
The distro remains
aks-ubuntu-containerd-24.04-gen2; the image definition remains2404gen2containerd. The context selects the Extended Zone gallery and resource group, preserving the regional configuration's other metadata.Changes:
IsEdgeZoneDistroandIsEdgeZoneSIGImagefor downstream validation and publishing eligibility checks.UseEdgeZoneVHDcontext to environment and bootstrapping configuration without changing public method signatures.The only
types.gochange is the optional context field; distro classification logic is unchanged.Scope and rollout
AgentBaker only. RP must adopt the new module, keep/select the regional distro identity, and pass the Extended Zone context. Publisher and RP adoption are not included here. Existing nodes do not automatically change images or upgrade.
Catalog eligibility is not proof of publication or replication. Extended Zone target configuration and image publishing must still happen before enabling use; this PR adds no runtime availability service or readiness gate.
Validation
./pkg/agent/...: passed.git diff --check: passed.Validation used Go 1.26.0. An initial broader agent-package invocation also ran unrelated Bash-dependent tests and failed because this Windows host has no installed WSL distribution. The API suite was then selected with
-run '^TestUtils$'and passed. Full Linux/Bash suites and downstream RP/publisher integration were not validated.Which issue(s) this PR fixes:
No linked issue. Comparison alternative to #9689.