Skip to content

Conversation

@auhlig
Copy link
Member

@auhlig auhlig commented Dec 22, 2025

This PR specs out the to-be state of Cortex CRDs.

PhilippMatthes added a commit that referenced this pull request Jan 6, 2026
PhilippMatthes added a commit that referenced this pull request Jan 27, 2026
Change summary:
- Knowledge dependencies of scheduler steps are no longer handled with
the `knowledges:` spec in the pipeline crd. Instead, scheduler steps may
fail during the `Init` step and the corresponding error is propagated to
the pipeline readiness. If `weighers` fail, a non-critical error is
propagated and the `AllStepsReady` condition set to `false`. If
`filters` fail, the pipeline condition `Ready` is set to `false`.
- The `impl` spec has been removed and scheduler steps are now
identified by the `name` spec.
- The `type` spec has been removed, instead we now identify weighers and
filters with the `filters:` and `weighers:` lists.
- Filters are now executed strictly in order and the result is passed
down. Weighers are executed in parallel.
- Added a `multiplier` to weighers which is applied during weights
aggregation.
- Besides `filters:` and `weighers:` also added compatibility with
`detectors:` which are used by the descheduling pipeline controller to
detect vms to deschedule.
- Removed the `mandatory` flag. Weighers and detectors are implicitly
optional, and the filters are mandatory.
- Rename `opts:` to `params:` keeping the runtime.Rawextension to
support all json primitives as configuration objects for the scheduler
steps.
- Pulled out descheduling code from the nova subfolder into the library
folder.
- Renamed pipeline for filters and weighers into
`FilterWeigherPipeline`. Renamed pipeline for detectors into
`DetectorPipeline`.
- Improved the overall code structuring and coverage of the scheduling
module.

Implements part of the target spec proposed in #442
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