Skip to content

ECOPROJECT-4198 | feat: sizer work node size increase#1100

Open
amalimov wants to merge 1 commit into
kubev2v:mainfrom
amalimov:feature/ECOPROJECT-4198/planner-increase-worker-node-size-limit
Open

ECOPROJECT-4198 | feat: sizer work node size increase#1100
amalimov wants to merge 1 commit into
kubev2v:mainfrom
amalimov:feature/ECOPROJECT-4198/planner-increase-worker-node-size-limit

Conversation

@amalimov
Copy link
Copy Markdown
Collaborator

@amalimov amalimov commented Apr 23, 2026

As per clients requests the max recommended worker node size was increased to:4 TB RAM and 384 CPU

This depends on a matching PR in the sizer project.

Summary by CodeRabbit

  • Improvements

    • Extended maximum supported cluster configuration limits: CPU cores increased from 200 to 384 per node, and memory increased from 512 GB to 4096 GB per node.
    • Cluster sizing recommendations now accommodate larger workloads on single nodes before recommending multi-node deployments.
  • Tests

    • Updated test cases to validate new resource configuration boundaries.

As per clients requests the max recommended worker node size was increased to:4 TB RAM and 384 CPU

This depends on a matching PR in the sizer project.

Signed-off-by: Ami Malimovka <amalimov@redhat.com>
@amalimov amalimov requested review from AvielSegev and ronenav April 23, 2026 10:49
@amalimov amalimov requested a review from a team as a code owner April 23, 2026 10:49
@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Apr 23, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign nirarg for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@amalimov
Copy link
Copy Markdown
Collaborator Author

/hold

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 23, 2026

📝 Walkthrough

Walkthrough

The PR increases maximum allowable CPU and memory limits for cluster sizing requests: CPU from 200 to 384 cores and memory from 512 to 4096 GB. Changes propagate across API schemas, generated types, sizing constants, and corresponding tests.

Changes

Cohort / File(s) Summary
API Schema & Generated Types
api/v1alpha1/openapi.yaml, api/v1alpha1/types.gen.go, api/v1alpha1/spec.gen.go
Updated ClusterRequirementsRequest validation bounds for workerNodeCPU, controlPlaneCPU (200 → 384), workerNodeMemory, controlPlaneMemory (512 → 4096). spec.gen.go regenerated with encoded OpenAPI definition.
Sizer Logic & Tests
internal/service/sizer.go, internal/service/sizer_test.go
Updated MaxRecommendedNodeCPU (200 → 384) and MaxRecommendedNodeMemory (512 → 4096) constants affecting single-node sizing thresholds. Test case adjusted to verify behavior at new limits.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

lgtm

Suggested reviewers

  • ronenav
  • AvielSegev
  • nirarg

Poem

🐰 A rabbit's cheer for growing might,
From 200 cores to 384 bright!
More memory flows, 4096 strong,
Our clusters now can handle the throng! 🚀

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: increasing worker node size limits from the previous maximums to 384 CPU and 4 TB RAM.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
api/v1alpha1/openapi.yaml (1)

2915-2944: ⚠️ Potential issue | 🟡 Minor

Add native OpenAPI minimum and maximum constraints to match existing validation tags.

These request schema fields already have validation bounds defined in x-oapi-codegen-extra-tags, but omit native OpenAPI constraints. The workerNodeThreads field in the same schema (lines 2930–2934) demonstrates the correct pattern: both native constraints and validation tags. Expose these bounds in the schema so standard OpenAPI tooling and client generators can see them:

🔧 Proposed schema fix
         workerNodeCPU:
           type: integer
+          minimum: 2
+          maximum: 384
           description: CPU cores per worker node
           x-oapi-codegen-extra-tags:
             validate: "required,min=2,max=384"
         workerNodeMemory:
           type: integer
+          minimum: 4
+          maximum: 4096
           description: Memory (GB) per worker node
           x-oapi-codegen-extra-tags:
             validate: "required,min=4,max=4096"
         controlPlaneCPU:
           type: integer
+          minimum: 2
+          maximum: 384
           description: "CPU cores per control plane node (default: 6)"
           x-oapi-codegen-extra-tags:
             validate: "omitempty,min=2,max=384"
         controlPlaneMemory:
           type: integer
+          minimum: 4
+          maximum: 4096
           description: "Memory in GB per control plane node (default: 16)"
           x-oapi-codegen-extra-tags:
             validate: "omitempty,min=4,max=4096"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@api/v1alpha1/openapi.yaml` around lines 2915 - 2944, The schema fields
workerNodeCPU, workerNodeMemory, controlPlaneCPU, and controlPlaneMemory are
missing native OpenAPI numeric bounds; add appropriate "minimum" and "maximum"
keys to each to match their x-oapi-codegen-extra-tags (workerNodeCPU: minimum 2,
maximum 384; workerNodeMemory: minimum 4, maximum 4096; controlPlaneCPU: minimum
2, maximum 384; controlPlaneMemory: minimum 4, maximum 4096) so OpenAPI
consumers see the same constraints as the validate tags while keeping the
existing x-oapi-codegen-extra-tags intact.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In `@api/v1alpha1/openapi.yaml`:
- Around line 2915-2944: The schema fields workerNodeCPU, workerNodeMemory,
controlPlaneCPU, and controlPlaneMemory are missing native OpenAPI numeric
bounds; add appropriate "minimum" and "maximum" keys to each to match their
x-oapi-codegen-extra-tags (workerNodeCPU: minimum 2, maximum 384;
workerNodeMemory: minimum 4, maximum 4096; controlPlaneCPU: minimum 2, maximum
384; controlPlaneMemory: minimum 4, maximum 4096) so OpenAPI consumers see the
same constraints as the validate tags while keeping the existing
x-oapi-codegen-extra-tags intact.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: aaf63f57-fe67-4b06-abb5-75cfe82b1d39

📥 Commits

Reviewing files that changed from the base of the PR and between 6995a3c and d1743eb.

📒 Files selected for processing (5)
  • api/v1alpha1/openapi.yaml
  • api/v1alpha1/spec.gen.go
  • api/v1alpha1/types.gen.go
  • internal/service/sizer.go
  • internal/service/sizer_test.go

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented May 1, 2026

PR needs rebase.

Details

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 kubernetes-sigs/prow repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant