Skip to content

fix(scheduler): backport victim-invariant prefilter to v0.14#1570

Open
enoodle wants to merge 12 commits into
kai-scheduler:v0.14from
enoodle:erez/v0.14/pod-invariant-predicate-implement
Open

fix(scheduler): backport victim-invariant prefilter to v0.14#1570
enoodle wants to merge 12 commits into
kai-scheduler:v0.14from
enoodle:erez/v0.14/pod-invariant-predicate-implement

Conversation

@enoodle
Copy link
Copy Markdown
Collaborator

@enoodle enoodle commented May 8, 2026

Description

Backport the victim-invariant pre-predicate guard to solver-backed actions on v0.14 so reclaim, preempt, and consolidation skip solver work for jobs already blocked by failures that evicting victims cannot fix.

This backport includes:

  • the victim-invariant session hook
  • predicate classification for missing PVCs, missing required ConfigMaps, and tasks larger than any node
  • action-level early skip wiring for reclaim, preempt, and consolidation
  • the candidate-only pre-filter cache used by the action guard and normal allocation path
  • the release-branch changelog line

This backport intentionally excludes the main-branch design-doc and benchmark-only commits.

Related Issues

Fixes #1502

Checklist

Note: Ensure your PR title follows the Conventional Commits format (e.g., feat(scheduler): add new feature)

  • Self-reviewed
  • Added/updated tests (if needed)
  • Updated documentation (if needed)

Breaking Changes

None.

Additional Notes

Validation:

  • go test ./pkg/scheduler/framework ./pkg/scheduler/actions/common ./pkg/scheduler/actions/reclaim ./pkg/scheduler/actions/preempt ./pkg/scheduler/actions/consolidation ./pkg/scheduler/plugins/predicates ./pkg/scheduler/k8s_internal/predicates

Reviewer guidance:

  • this is a release-branch backport only
  • the branch was cleaned to keep only the scheduler fix stack plus the changelog line
  • design-doc and benchmark-only history from the main branch was intentionally not carried here

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 8, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: ee7195f1-f9fa-4b95-82b4-64326104b26f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

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

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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.

@enoodle enoodle marked this pull request as ready for review May 11, 2026 08:02
enoodle added 12 commits May 11, 2026 10:03
Signed-off-by: Erez Freiberger <enoodle@gmail.com>
Signed-off-by: Erez Freiberger <enoodle@gmail.com>
Signed-off-by: Erez Freiberger <enoodle@gmail.com>
Signed-off-by: Erez Freiberger <enoodle@gmail.com>
Signed-off-by: Erez Freiberger <enoodle@gmail.com>
Signed-off-by: Erez Freiberger <enoodle@gmail.com>
Signed-off-by: Erez Freiberger <enoodle@gmail.com>
Signed-off-by: Erez Freiberger <enoodle@gmail.com>
Signed-off-by: Erez Freiberger <enoodle@gmail.com>
Signed-off-by: Erez Freiberger <enoodle@gmail.com>
Signed-off-by: Erez Freiberger <enoodle@gmail.com>
Signed-off-by: Erez Freiberger <enoodle@gmail.com>
@enoodle enoodle force-pushed the erez/v0.14/pod-invariant-predicate-implement branch from d819c05 to 2b3ca0a Compare May 11, 2026 08:03
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.

2 participants