You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Schedule commitments with new reservations operator & crd (#249)
## Change summary
### Reservations operator
- Added syncer in operator that fetches commitments from limes and
creates `ComputeReservation` resources for them. They are distinguished
by `instance` or `bare` reservations.
- Added reconciler in operator that takes all `instance` reservations
and tries to place them on a host using the initial placement pipeline.
If the placement succeeds, the reservation is considered `active`.
- Added conf for supported hypervisor types, as we don't support the
full filtering pipeline for vmware and ironic yet. `instance`
reservations that don't match the hypervisor type are put into a
terminal `failed` state.
- Added logic that puts all `bare` reservations into a terminal `failed`
state as we don't know yet how to handle these reservations and generate
initial placement requests for them.
- Added scaffolding with kubebuilder and separate dockerfile for
operator, so we can reuse as many kubebuilder features as possible.
### Cortex core
- Added kubernetes client to capacity filter so that reservations are
considered. Note that the filter is currently sandboxed meaning it will
have no effect for now until we de-sandbox it.
- Added service account that binds to the appropriate reservations
operator role, granting cortex core access to the reservations
resources.
- Refactored config loading so that we can reuse it in the reservations
operator.
- Added reservations operator api binds in go.mod so that cortex-core
can access the v1alpha1 structs.
### CI/CD
- Added image build workflow for cortex reservations operator
- Added chart build workflow for cortex reservations operator
- Run unit tests of reservations module and report coverage
### Tilt setup
- Added reservations operator to the tilt setup.
---------
Co-authored-by: Markus Wieland <[email protected]>
0 commit comments