Skip to content

fix(operator): hosting-aks-upgrade reads the region's version graph as optional - #5684

Merged
meshweaver-cloud[bot] merged 1 commit into
mainfrom
feat/aks-upgrade-versions-optional
Sep 25, 2026
Merged

meshweaver-cloud[bot] merged 1 commit into
mainfrom
feat/aks-upgrade-versions-optional

Conversation

@rbuergi

@rbuergi rbuergi commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

What

Follow-up to #5682. az aks get-versions is a subscription-scope read (Microsoft.ContainerService/locations/kubernetesVersions/read) that a cluster-scoped grant does not carry — measured 2026-09-25, hosting-operator holds no such right. hosting-aks-upgrade facts now carries versionsRead / versionsError instead of refusing the whole plan on it: the Hosting plugin then chains no further than the cluster's own get-upgrades (enough for 1.34 → 1.35) and says so, and the LTS offer reads UNKNOWN rather than "none". Every other ARM read still refuses by name.

Verification

  • run-tests.sh upgrade block: 20 passed, 0 failed (new case: an AuthorizationFailed on get-versions is carried as UNREAD while the cluster's own upgrades still read); shellcheck clean.

Pairs-with: none — bash only, no .NET surface.

🤖 Generated with Claude Code

…s OPTIONAL — unread, never "nothing offered"

`az aks get-versions` is a subscription-scope read (locations/kubernetesVersions) that a
cluster-scoped grant does not carry; measured today hosting-operator holds no such right. The facts
now carry `versionsRead`/`versionsError` instead of refusing the whole plan: the plugin then chains
no further than the cluster's own get-upgrades (enough for 1.34 → 1.35) and says so, and the LTS
offer reads UNKNOWN. A behaviour case pins it (20 upgrade cases).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings September 25, 2026 06:47

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.

Copilot review overview

🟢 Approval recommended

All reviewed changes are covered and no unresolved blocking issues were identified.

Review effort: Lite
Findings: None

What changed in this PR

Makes the AKS regional version graph read optional while preserving cluster upgrade facts when authorization is unavailable.

Changes:

  • Captures versionsRead and versionsError.
  • Adds authorization-failure stubs and regression coverage.
File Description
deploy/​aks/​operator/​test/​stubs/​aks-upgrade/​az Simulates regional version graph authorization failures.
deploy/​aks/​operator/​test/​run-tests.sh Verifies unreadable graph behavior.
deploy/​aks/​operator/​bin/​hosting-aks-upgrade Preserves cluster facts when the graph read fails.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 0)

  1 files  ±0    1 suites  ±0   2m 57s ⏱️ +15s
345 tests ±0  345 ✅ ±0  0 💤 ±0  0 ❌ ±0 
349 runs  ±0  349 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit b979010. ± Comparison against base commit 202199c.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 3)

443 tests  ±0   443 ✅ ±0   1m 0s ⏱️ -8s
  3 suites ±0     0 💤 ±0 
  3 files   ±0     0 ❌ ±0 

Results for commit b979010. ± Comparison against base commit 202199c.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 1)

1 652 tests  ±0   1 652 ✅ ±0   3m 18s ⏱️ -2s
    2 suites ±0       0 💤 ±0 
    2 files   ±0       0 ❌ ±0 

Results for commit b979010. ± Comparison against base commit 202199c.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 4)

    3 files  ±0      3 suites  ±0   5m 53s ⏱️ +16s
2 014 tests ±0  2 014 ✅ ±0  0 💤 ±0  0 ❌ ±0 
2 015 runs  ±0  2 015 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit b979010. ± Comparison against base commit 202199c.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 2)

751 tests  ±0   559 ✅ ±0   7m 8s ⏱️ ±0s
  3 suites ±0   192 💤 ±0 
  3 files   ±0     0 ❌ ±0 

Results for commit b979010. ± Comparison against base commit 202199c.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 5)

    5 files  ±0      5 suites  ±0   15m 42s ⏱️ +32s
4 081 tests ±0  4 079 ✅ ±0  2 💤 ±0  0 ❌ ±0 
4 085 runs  ±0  4 083 ✅ ±0  2 💤 ±0  0 ❌ ±0 

Results for commit b979010. ± Comparison against base commit 202199c.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results

   17 files  ±0     17 suites  ±0   36m 1s ⏱️ +55s
9 286 tests ±0  9 092 ✅ ±0  194 💤 ±0  0 ❌ ±0 
9 295 runs  ±0  9 101 ✅ ±0  194 💤 ±0  0 ❌ ±0 

Results for commit b979010. ± Comparison against base commit 202199c.

@meshweaver-cloud
meshweaver-cloud Bot added this pull request to the merge queue Sep 25, 2026
Merged via the queue into main with commit 80b1feb Sep 25, 2026
40 checks passed
@rbuergi
rbuergi deleted the feat/aks-upgrade-versions-optional branch October 10, 2026 13:10
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