feat: admission validators for the capacity planners (OP-345) - #2746
Conversation
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
Collaborator
Author
This was referenced Aug 17, 2026
kristina-solovyova
force-pushed
the
08-10-feat_support_full-drive_wekacluster_acting_as_a_daemonset_and_using_all_drives_op-345_
branch
from
August 17, 2026 12:50
43d29a4 to
7234df5
Compare
kristina-solovyova
force-pushed
the
08-17-feat_admission_validators_for_the_capacity_planners_op-345_
branch
from
August 17, 2026 12:50
9851d4d to
587476a
Compare
kristina-solovyova
force-pushed
the
08-10-feat_support_full-drive_wekacluster_acting_as_a_daemonset_and_using_all_drives_op-345_
branch
from
August 17, 2026 14:14
7234df5 to
15b562d
Compare
kristina-solovyova
force-pushed
the
08-17-feat_admission_validators_for_the_capacity_planners_op-345_
branch
2 times, most recently
from
August 17, 2026 14:28
1da7dc0 to
e421aff
Compare
kristina-solovyova
force-pushed
the
08-10-feat_support_full-drive_wekacluster_acting_as_a_daemonset_and_using_all_drives_op-345_
branch
2 times, most recently
from
August 19, 2026 13:50
20a7c59 to
3065398
Compare
kristina-solovyova
force-pushed
the
08-17-feat_admission_validators_for_the_capacity_planners_op-345_
branch
2 times, most recently
from
August 19, 2026 15:28
03d7933 to
950417b
Compare
kristina-solovyova
force-pushed
the
08-10-feat_support_full-drive_wekacluster_acting_as_a_daemonset_and_using_all_drives_op-345_
branch
from
August 19, 2026 15:28
3065398 to
7c618ed
Compare
kristina-solovyova
marked this pull request as ready for review
August 19, 2026 15:29
Graphite Automations"Add anton/matt/sergey/kristina as reviwers on operator PRs" took an action on this PR • (08/19/26)2 reviewers were added to this PR based on Anton Bykov's automation. |
kristina-solovyova
force-pushed
the
08-10-feat_support_full-drive_wekacluster_acting_as_a_daemonset_and_using_all_drives_op-345_
branch
from
August 19, 2026 15:33
7c618ed to
603ec88
Compare
kristina-solovyova
force-pushed
the
08-17-feat_admission_validators_for_the_capacity_planners_op-345_
branch
from
August 19, 2026 15:33
950417b to
0eb85a9
Compare
kristina-solovyova
force-pushed
the
08-10-feat_support_full-drive_wekacluster_acting_as_a_daemonset_and_using_all_drives_op-345_
branch
from
August 28, 2026 05:32
603ec88 to
f2c2f62
Compare
kristina-solovyova
force-pushed
the
08-17-feat_admission_validators_for_the_capacity_planners_op-345_
branch
from
August 28, 2026 05:32
0eb85a9 to
a5dffd4
Compare
Eleven new WekaCluster validators, so a spec that can never converge is reported at apply time instead of after a failed formation. Auto-full-drives (daemonset) specific: - cluster_auto_full_drives_pin_exceeds_node_drives — a numDrives (or unpinned- numDrives driveCores) pin above a node's signed full drive count. - cluster_auto_full_drives_compute_hugepages — compute hugepages scale with the claimed capacity and can exceed what any compute-eligible node has. - cluster_auto_full_drives_min_nodes — a role nodeSelector matching fewer nodes than the form-cluster floor. - cluster_sizing_mode_flip (update-only) — changing the derived sizing mode under a live cluster, except the two transitions the operator can carry over. Shared across both planners: - cluster_min_containers, cluster_cores_per_container_limit, cluster_compute_drive_cores_floor, cluster_drive_cores_below_capacity, cluster_num_drives_below_required_cores, cluster_drives_unsigned_advisory, cluster_capacity_min_drive_containers. cluster_signed_drives and cluster_min_drives_feasibility narrow to the modes they still own, and cluster_drive_compute_core_ratio takes its ratio from capacityPlannerConstraints instead of a hardcoded 1:2. Drive-role node listing is shared via listDriveRoleNodes. admission/defaults.go and the values.yaml policy documentation move with the validators: evaluator_test.go checks registry and defaults for completeness in both directions, so a defaults entry without its validator fails the build. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
kristina-solovyova
force-pushed
the
08-17-feat_admission_validators_for_the_capacity_planners_op-345_
branch
from
September 1, 2026 18:43
a5dffd4 to
7387eb3
Compare
kristina-solovyova
force-pushed
the
08-10-feat_support_full-drive_wekacluster_acting_as_a_daemonset_and_using_all_drives_op-345_
branch
from
September 1, 2026 18:43
f2c2f62 to
23073f7
Compare
This was referenced Sep 2, 2026
Open
assafgi
approved these changes
Sep 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Eleven new WekaCluster validators, so a spec that can never converge is reported at
apply time instead of after a failed formation.
Auto-full-drives (daemonset) specific:
numDrives driveCores) pin above a node's signed full drive count.
claimed capacity and can exceed what any compute-eligible node has.
than the form-cluster floor.
a live cluster, except the two transitions the operator can carry over.
Shared across both planners:
cluster_compute_drive_cores_floor, cluster_drive_cores_below_capacity,
cluster_num_drives_below_required_cores, cluster_drives_unsigned_advisory,
cluster_capacity_min_drive_containers.
cluster_signed_drives and cluster_min_drives_feasibility narrow to the modes they
still own, and cluster_drive_compute_core_ratio takes its ratio from
capacityPlannerConstraints instead of a hardcoded 1:2. Drive-role node listing is
shared via listDriveRoleNodes.
admission/defaults.go and the values.yaml policy documentation move with the
validators: evaluator_test.go checks registry and defaults for completeness in both
directions, so a defaults entry without its validator fails the build.
Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com