Skip to content

feat: add additional Linux node sysctl settings - #10043

Open
Thibault Cohen (titilambert) wants to merge 1 commit into
mainfrom
titilambert/new-sysctl-settings
Open

Thibault Cohen (titilambert) wants to merge 1 commit into
mainfrom
titilambert/new-sysctl-settings

Conversation

@titilambert

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:

Adds ANC support for three configurable Linux sysctls: vm.nr_hugepages, net.core.bpf_jit_limit, and net.ipv4.tcp_wmem.

Adds optional protobuf fields, regenerates Go bindings, and maps explicitly provided values into the generated sysctl configuration. Uses int64 for the BPF JIT limit and preserves explicit zero and empty values. Includes round-trip tests for the three settings. This change adds configuration transport and rendering, not API validation or kernel acceptance checks.

Which issue(s) this PR fixes:

Combine tcp_wmem, bpf_jit_limit, and nr_hugepages support in ANC. Preserve optional field presence, regenerate protobuf code, and include the tests from all three child commits.

ADO: 30575488, 38453992, 24091438

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@titilambert

Copy link
Copy Markdown
Contributor Author

This change is part of the following stack:

Change managed by git-spice.

@github-actions

github-actions Bot commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

The latest Buf updates on your PR. Results from workflow Buf CI / buf (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedNov 10, 2026, 7:22 PM

@github-actions

Copy link
Copy Markdown
Contributor

Windows Unit Test Results

  3 files   21 suites   51s ⏱️
789 tests 789 ✅ 0 💤 0 ❌
815 runs  815 ✅ 0 💤 0 ❌

Results for commit a4cf50e.

@github-actions

Copy link
Copy Markdown
Contributor

Code Coverage

Package Line Rate Health
test 0% ❌
windows 27% ❌
staging_cse_windows Package 1 71% ➖
debug 0% ❌
provisioningscripts 2% ❌
parts_windows Package 1 73% ➖
Summary 39% (1983 / 7220) ❌

@github-actions

Copy link
Copy Markdown
Contributor

Code Coverage

Package Line Rate Health
shellspec spec 30% ❌
Summary 30% (4912 / 16591) ❌

@github-actions

Copy link
Copy Markdown
Contributor

Code Coverage

Package Line Rate Health
github.com/Azure/agentbaker/aks-node-controller 73% ➖
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 92% ✔
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 35% ❌
github.com/Azure/agentbaker/pkg/agent 79% ➖
github.com/Azure/agentbaker/pkg/agent/datamodel 77% ➖
github.com/Azure/agentbaker/pkg/agent/toggles 0% ❌
github.com/Azure/agentbaker/pkg/vhdbuilder/datamodel 87% ✔
Summary 76% (6103 / 8049) ➖

@titilambert
Thibault Cohen (titilambert) marked this pull request as ready for review November 10, 2026 21:29
Copilot AI balanced review requested due to automatic review settings November 10, 2026 21:29

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.

🟢 Approval recommended

No active review issues block approval of the sysctl transport and rendering changes.

No open issues 🎉

1 file not reviewed
  • aks-node-controller/pkg/gen/aksnodeconfig/v1/custom_linux_os_config.pb.go: Generated file
What changed in this PR

Extends AKS Node Controller’s Linux sysctl configuration transport and rendering to support vm.nr_hugepages, net.core.bpf_jit_limit, and net.ipv4.tcp_wmem. API validation and kernel acceptance checks remain outside this change’s scope.

Changes:

  • Adds optional protobuf fields and regenerated Go bindings, using int64 for the BPF JIT limit.
  • Renders explicitly supplied settings while preserving zero and empty values.
  • Adds round-trip tests covering custom values, field presence, and BPF limits exceeding int32.
File Description
aks-node-controller/​proto/​aksnodeconfig/​v1/​custom_linux_os_config.proto Defines the three optional sysctl fields.
aks-node-controller/​pkg/​gen/​aksnodeconfig/​v1/​custom_linux_os_config.pb.go Updates generated fields, getters, and descriptors.
aks-node-controller/​parser/​helper.go Maps provided values into sysctl configuration.
aks-node-controller/​parser/​helper_test.go Adds round-trip coverage for the new settings.

Review effort: Balanced

This branch has not been deployed

No deployments
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