cherry-pick(v2.1): clamp the nico-pxe file-descriptor soft limit to the runtime hard limit - #5643
Conversation
…imit (NVIDIA#5583) Fixes NVIDIA#5535. The ulimit fail-fast entrypoints crashloop on runtimes whose container hard nofile limit is below 65536 (reproduced on dev6: hard limit 65535 → all three deployments CrashLoopBackOff). The entrypoints now clamp to `$(ulimit -Hn)` with a logged notice, and print both limits before exiting on failure. Render-time validation replaces the silent-zero mode: null falls back to the 65536 default, non-numeric/non-positive values fail the render (previously rendered `ulimit -Sn 0`, which dash accepts). - [x] helm unittest: 5 cases per chart (default+clamp shape, override, null fallback, non-numeric and negative render failures) — 15/15 pass - [ ] dev6 verification with the site FD-limit workarounds removed (in progress; results to follow as a comment) (cherry picked from commit 00a7a45)
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 13c84c3894
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| ulimit -Sn {{ .Values.fileDescriptorLimit | int }} || exit 1 | ||
| {{- $fdLimit := 65536 }} | ||
| {{- if not (kindIs "invalid" .Values.fileDescriptorLimit) }} | ||
| {{- $fdLimit = .Values.fileDescriptorLimit | int }} |
There was a problem hiding this comment.
Reject fractional file-descriptor limits rather than truncating
When an operator supplies a fractional number through a values file or --set-json (for example, fileDescriptorLimit: 32768.9), Sprig's int conversion truncates it to 32768, after which the positivity check accepts it. This contradicts the newly documented positive-integer-only contract and silently changes invalid input instead of failing the render; validate the original value's numeric kind/integrality before converting it.
AGENTS.md reference: AGENTS.md:L241-L249
Useful? React with 👍 / 👎.
🔐 TruffleHog Secret Scan✅ No secrets or credentials found! Your code has been scanned for 700+ types of secrets and credentials. All clear! 🎉 🕐 Last updated: 2026-09-01 20:04:55 UTC | Commit: 13c84c3 |
nv-dmendoza
left a comment
There was a problem hiding this comment.
LGTM, backports fix
This PR backports the file-descriptor limit hardening (#5583) into
v2.1, scoped to nico-pxe - the only chart on this line that carries theulimitfail-fast entrypoint:fileDescriptorLimitno longer rendersulimit -Sn 0(a silent zero-fd start): null falls back to the 65536 default, invalid values fail the render.release/v2.1.Cherry-pick of 00a7a45 (#5583), conflicts resolved by scoping to nico-pxe.
Related issues
Backport of #5583 (fixes #5535 for the v2.1 line).
Type of Change
Breaking Changes
Testing
helm unittest on the v2.1 tree: the FD-limit suite passes (5 cases: default+clamp shape, override, null fallback, non-numeric and negative render failures); render checks confirm null falls back to 65536 and invalid values fail with the guard message. The clamp behavior was verified live on dev6 (hard limit 65535) during #5583.