OCPNODE-4602: implement {system,container}GomaxprocsBehavior field - #6332
OCPNODE-4602: implement {system,container}GomaxprocsBehavior field#6332haircommander wants to merge 3 commits into
Conversation
|
@haircommander: This pull request references OCPNODE-4602 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: openshift/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Included review availability: Your plan includes up to 12 reviews per rolling hour; 11 remain after this review. WalkthroughThe change adds feature-gated GOMAXPROCS configuration across CRI-O drop-ins, kubelet Ignition generation, and node-sizing systemd templates. Tests cover autosize, disabled, gate-disabled, and empty behavior. ChangesGOMAXPROCS injection
Estimated code review effort: 3 (Moderate) | ~25 minutes Merge Risk: ⚪ Minimal · up to This change implements configurable system and container GOMAXPROCS behavior, and no actionable merge-blocking risk remains beyond normal checks and review. Sequence Diagram(s)sequenceDiagram
participant FeatureGateHandler
participant KubeletController
participant KubeletIgnition
participant ContainerRuntimeController
participant CRIODropinGenerator
participant NodeSizing
FeatureGateHandler->>KubeletController: provide gomaxprocs gate state
KubeletController->>KubeletIgnition: pass SystemGomaxprocsBehavior
KubeletIgnition->>NodeSizing: emit SYSTEM_GOMAXPROCS_BEHAVIOR
FeatureGateHandler->>ContainerRuntimeController: provide gomaxprocs gate state
ContainerRuntimeController->>CRIODropinGenerator: pass gomaxprocsInjectionEnabled
CRIODropinGenerator->>NodeSizing: configure CRI-O gomaxprocs drop-in
NodeSizing->>NodeSizing: compute or remove GOMAXPROCS configuration
Suggested reviewers: 🚥 Pre-merge checks | ✅ 14 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (14 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: haircommander The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
/test unit |
1 similar comment
|
/test unit |
|
/hold Holding to allow the Kube rebase to land in #6321. Please ensure this will not cause merge conflicts for the Kube rebase before unholding this PR. |
|
/unhold Kube rebase landed |
e6d5d44 to
351d9f0
Compare
Signed-off-by: Peter Hunt <pehunt@redhat.com>
…ed_gomaxprocs Implement the container-level half of the GOMAXPROCS injection feature. When the GomaxprocsInjection feature gate is enabled, the ContainerGomaxprocsBehavior field on ContainerRuntimeConfig translates to CRI-O's min_injected_gomaxprocs setting via a crio.conf.d drop-in: Autosize sets it to 1 (enabling CRI-O's per-container GOMAXPROCS injection) and Disabled sets it to 0. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Peter Hunt <pehunt@redhat.com>
351d9f0 to
6845c13
Compare
|
Note GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer. |
|
@haircommander: This pull request references OCPNODE-4602 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.1.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
Implement the system-service half of the GOMAXPROCS injection feature. When the GomaxprocsInjection feature gate is enabled and SystemGomaxprocsBehavior is set to Autosize on KubeletConfig, the node-sizing script calculates GOMAXPROCS as max(ceil(system_reserved_cpu), 1) and writes systemd drop-in files (30-gomaxprocs.conf) for both kubelet.service and crio.service. Switching away from Autosize cleans up the drop-ins. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Peter Hunt <pehunt@redhat.com>
6845c13 to
01fedf4
Compare
|
@haircommander: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
|
@yuqi-zhang PTAL |
- What I did
implement openshift/enhancements#2047
- How to verify it
- Description for the changelog
Summary by CodeRabbit
New Features
Bug Fixes