Skip to content

Lily/scriptless/root use aks node controller gpu - #9048

Draft
lilypan26 wants to merge 2 commits into
mainfrom
lily/scriptless/root-use-aks-node-controller-gpu
Draft

Lily/scriptless/root use aks node controller gpu#9048
lilypan26 wants to merge 2 commits into
mainfrom
lily/scriptless/root-use-aks-node-controller-gpu

Conversation

@lilypan26

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:

Which issue(s) this PR fixes:

Fixes #

lilypan26 and others added 2 commits July 27, 2026 10:16
Moves GPU driver/SKU logic (previously imported from the root
github.com/Azure/agentbaker module) into a new local package,
aks-node-controller/pkg/gpu. Also inlines the small set of helper
functions aks-node-controller needed from the root module
(IsKubernetesVersionGe, GetCSETimeout) and removes the now-unused
aks-node-controller/helpers/utils.go.

This drops the aks-node-controller module's dependency on the root
agentbaker module entirely, removing its heavy transitive
dependencies (butane, ignition, coreos, etc.) from the standalone
aks-node-controller/aks-node-config-manager binaries and eliminating
the circular module relationship (root -> aks-node-controller in a
follow-up PR, instead of aks-node-controller -> root today).

This is split out from the original combined change so it can be
merged and published as its own aks-node-controller/vX.Y.Z tag; a
follow-up PR will update the root module to import that published
tag and delegate its GPU logic to this new package.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: f2099757-d076-4ac0-9b78-f2da962cdbbb
Delegates root's GPU driver/SKU/config logic (GetGPUDriverVersion,
GetAKSGPUImageSHA, GetGPUDriverType, GPUNeedsFabricManager, and the
components.json GPU config loader in pkg/agent/datamodel) to the new
github.com/Azure/agentbaker/aks-node-controller/pkg/gpu package,
removing the duplicated inline implementations from the root module.

This is a follow-up to the aks-node-controller-only change that
introduced pkg/gpu (split out into its own PR so it could be merged
and published as an aks-node-controller/vX.Y.Z tag first). For now
this still uses the local 'replace github.com/Azure/agentbaker/aks-node-controller
=> ./aks-node-controller' directive in go.mod/e2e/go.mod so this
branch keeps building/testing correctly while stacked on top of the
not-yet-merged aks-node-controller change.

TODO once the aks-node-controller change is merged to main and a new
aks-node-controller/vX.Y.Z tag is published:
  - remove the local replace directives in go.mod and e2e/go.mod
  - bump the require github.com/Azure/agentbaker/aks-node-controller
    line to the newly published tag
  - run go mod tidy (root and e2e) and rebase this branch onto main
  - retarget this PR's base branch to main

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: f2099757-d076-4ac0-9b78-f2da962cdbbb
@github-actions

Copy link
Copy Markdown
Contributor

PR Title Lint Failed ❌

Current Title: Lily/scriptless/root use aks node controller gpu

Your PR title doesn't follow the expected format. Please update your PR title to follow one of these patterns:

Conventional Commits Format:

  • feat: add new feature - for new features
  • fix: resolve bug in component - for bug fixes
  • docs: update README - for documentation changes
  • refactor: improve code structure - for refactoring
  • test: add unit tests - for test additions
  • chore: remove dead code - for maintenance tasks
  • chore(deps): update dependencies - for updating dependencies
  • ci: update build pipeline - for CI/CD changes

Guidelines:

  • Use lowercase for the type and description
  • Keep the description concise but descriptive
  • Use imperative mood (e.g., "add" not "adds" or "added")
  • Don't end with a period

Examples:

  • feat(windows): add secure TLS bootstrapping for Windows nodes
  • fix: resolve kubelet certificate rotation issue
  • docs: update installation guide
  • Added new feature
  • Fix bug.
  • Update docs

Please update your PR title and the lint check will run again automatically.

@github-actions

Copy link
Copy Markdown
Contributor

Windows Unit Test Results

  3 files   11 suites   50s ⏱️
381 tests 381 ✅ 0 💤 0 ❌
384 runs  384 ✅ 0 💤 0 ❌

Results for commit d5338be.

@aks-node-assistant

Copy link
Copy Markdown
Contributor

AgentBaker Linux gate detective

Run: 173966872
Failed job/stage/task: e2e / Run AgentBaker E2E / Run AgentBaker E2E
First failing step: Test_ACL_SecondaryNIC_DualStack Bastion SSH tunnel setup

Detective summary: VMSS creation completed, but all 5 Bastion SSH handshake attempts to the node timed out with context deadline exceeded; SSH log extraction was skipped because no SSH connection was established.

Likely cause / signature: Known Bastion/shared-cluster network reachability flake tracked by repair item #38743364, not a PR product signal.
Wiki signature: bastion-ssh-tunnel-handshake-timeout

Confidence: High

Recommended owner/action: Node Lifecycle / E2E infra owners should continue repair item #38743364 and investigate Bastion/shared-cluster SSH reachability; no PR author action recommended from this signal.

Strongest alternative: PR #9048 GPU root-module changes broke node setup, but less likely because the failure is at Bastion SSH handshake before node diagnostics and the PR scope is unrelated to Bastion networking.

Evidence: timeline failed task exit 1; failed test run 547964663; task log 562 around line 766; build/PR metadata.

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.

1 participant