From f2e7fe076a1a9d756a7d30af4580668f0e3eb7ca Mon Sep 17 00:00:00 2001 From: "cortex-ai-agents[bot]" <279748396+cortex-ai-agents[bot]@users.noreply.github.com> Date: Mon, 26 Oct 2026 13:27:45 +0000 Subject: [PATCH] Release cortex 0.7.2 Co-Authored-By: Claude Opus 4.7 --- CHANGELOG.md | 66 +++++++++++++++++++ helm/bundles/cortex-cinder/Chart.yaml | 8 +-- helm/bundles/cortex-crds/Chart.yaml | 4 +- helm/bundles/cortex-ironcore/Chart.yaml | 4 +- helm/bundles/cortex-manila/Chart.yaml | 8 +-- helm/bundles/cortex-nova/Chart.yaml | 8 +-- helm/bundles/cortex-placement-shim/Chart.yaml | 4 +- helm/bundles/cortex-pods/Chart.yaml | 4 +- helm/library/cortex-postgres/Chart.yaml | 2 +- helm/library/cortex-shim/Chart.yaml | 2 +- helm/library/cortex/Chart.yaml | 2 +- 11 files changed, 89 insertions(+), 23 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d2fe4f3e7..d11094fef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,71 @@ # Changelog +## Release PR [#1427](https://github.com/cobaltcore-dev/cortex/pull/1427) — 2026-10-26 + +### Bumped Versions + +| Package | Previous | New | +|---|---|---| +| cortex | 0.7.1 | 0.7.2 | +| cortex-postgres | 0.6.28 | 0.6.29 | +| cortex-shim | 0.1.33 | 0.1.34 | +| bundles | 0.0.108 | 0.0.109 | +| cortex-placement-shim | 0.1.33 | 0.1.34 | + +### ⚠️ Deprecation + +- **`FailoverReservation` CRD deprecated:** The existing `FailoverReservation` type is now deprecated in favor of the new `FailoverHostReservation` subtype. Migrate any tooling referencing `FailoverReservation` to `FailoverHostReservation`. + +### Features + +- **Failover Host Reservation CRD subtype** ([#1408](https://github.com/cobaltcore-dev/cortex/pull/1408)) — A new `FailoverHostReservation` reservation type supports reserving entire hosts for failover, enabling gang-scheduling of all VMs onto a designated host during evacuation events. Includes a full lifecycle model (Designated → Active → In Use → Used/Revoked/Failed), new spec (`FailoverHostReservationSpec`) with `sourceHosts` field, new status (`FailoverHostReservationStatus`) with `sourceHost` field, three new condition types (`FailoverHostDesignated`, `FailoverHostActive`, `FailoverHostInUse`), and CRD enum validation and kubebuilder print columns updated. + +- **New KVM Overview Perses dashboard** — Added `cortex-compute-kvm-overview.json` with rich visualizations for KVM compute infrastructure. + +### Bug Fixes + +- **Filter out overloaded hosts** ([#1416](https://github.com/cobaltcore-dev/cortex/pull/1416)) — The capacity filter now correctly excludes hosts with negative free CPU or memory (allocation > effective capacity), which were previously silently passed through. + +- **Owner ref for CR reservations** ([#1403](https://github.com/cobaltcore-dev/cortex/pull/1403)) — Fixed setting owner references on committed-resource reservations. + +- **Confirm CR reservation allocations immediately** ([#1424](https://github.com/cobaltcore-dev/cortex/pull/1424)) — When a VM is already on the target hypervisor, reservation allocations are now confirmed immediately rather than waiting for a subsequent reconciliation cycle. + +- **Consistent error log level for overloaded hosts** ([#1421](https://github.com/cobaltcore-dev/cortex/pull/1421)) — Aligned CPU overload log to `traceLog.Error` to match memory overload log (was inconsistently using `traceLog.Info`). + +- **VM CRD added to Tilt** ([#1426](https://github.com/cobaltcore-dev/cortex/pull/1426)) — Added the `cobaltcore.cloud_virtualmachines` CRD to the Tiltfile for local development. + +### Chores & Refactoring + +- **Logging unification — slog → controller-runtime/logr** ([#1400](https://github.com/cobaltcore-dev/cortex/pull/1400), [#1401](https://github.com/cobaltcore-dev/cortex/pull/1401), [#1404](https://github.com/cobaltcore-dev/cortex/pull/1404), [#1407](https://github.com/cobaltcore-dev/cortex/pull/1407)) — Completely removed `log/slog` from the codebase, unifying all logging under controller-runtime's logr (zap-backed). Translation rules: `slog.Info/Warn` → `log.Info`, `slog.Debug` → `log.V(1).Info`, `slog.Error(msg, "error", err)` → `log.Error(err, msg)`. Key interface changes: `Run` now takes `logr.Logger` instead of `*slog.Logger`; `GetTraceLogArgs()` returns `[]any` instead of `[]slog.Attr`; `APIMonitor.Respond` takes `logr.Logger`. The dead `LOG_LEVEL` env var was removed from the Helm template and a **forbidigo lint rule** banning `slog.*` prevents re-introduction. + +- **Logging level reduction** ([#1409](https://github.com/cobaltcore-dev/cortex/pull/1409), [#1410](https://github.com/cobaltcore-dev/cortex/pull/1410), [#1412](https://github.com/cobaltcore-dev/cortex/pull/1412), [#1413](https://github.com/cobaltcore-dev/cortex/pull/1413)) — Reduced verbosity across commitments, failover reservations, knowledge, and scheduling modules by downgrading non-essential log lines. + +- **Dashboard reorganization** ([#1399](https://github.com/cobaltcore-dev/cortex/pull/1399)) — Perses dashboards moved to a top-level `dashboards/` directory. The KVM details dashboard was renamed and updated with new color overrides, instant queries, an OS version pie chart, and a "Ready" column in the host table. + +### Documentation + +- **Fix stale dashboard paths** ([#1422](https://github.com/cobaltcore-dev/cortex/pull/1422)) — Updated three docs files to reference `dashboards/` instead of the old `tools/perses/dashboards/` path; listed all 10 current dashboard filenames. + +### Dependency Updates + +| Dependency | Old | New | PR | +|---|---|---|---| +| `debian:trixie-slim` | `a29215f` | `62bd423` (digest) | [#1398](https://github.com/cobaltcore-dev/cortex/pull/1398) | +| `vm-operator` | v0.2.9 | v0.2.10 | [#1397](https://github.com/cobaltcore-dev/cortex/pull/1397) | +| `kube-prometheus-stack` | 92.10.1 | 92.13.1 | [#1397](https://github.com/cobaltcore-dev/cortex/pull/1397), [#1420](https://github.com/cobaltcore-dev/cortex/pull/1420) | +| `openstack-hypervisor-operator` | v1.2.3 | v1.3.0 | [#1414](https://github.com/cobaltcore-dev/cortex/pull/1414) | +| `actions/setup-python` | v7.0.0 | v7.1.0 | [#1414](https://github.com/cobaltcore-dev/cortex/pull/1414) | +| `sapcc/go-bits` | `416f3ad` | `568ad9d` (2 digest bumps) | [#1418](https://github.com/cobaltcore-dev/cortex/pull/1418), [#1419](https://github.com/cobaltcore-dev/cortex/pull/1419) | + +### ⚠️ Notes + +- **`openstack-hypervisor-operator` v1.3.0** brings parallel VM migrations during drains, safe eviction completion (incoming migrations must settle), hardened offboarding with `AgentPodsEvicted` gating, and node termination detection via `deletionTimestamp`. Review drain behavior in staging before rollout. +- **slog removal:** Any out-of-tree code importing cortex packages that used `*slog.Logger` in `Run` or `GetTraceLogArgs` signatures must update to `logr.Logger` / `[]any`. + +**Contributors:** @PhilippMatthes, @SoWieMarkus, @mblos, @renovate[bot], @cortex-ai-agents[bot], Claude Opus 4.7 + +**PR:** [#1427](https://github.com/cobaltcore-dev/cortex/pull/1427) | **Commits:** 22 | **Files changed:** 95 + ## Release PR [#1393](https://github.com/cobaltcore-dev/cortex/pull/1393) ### Versions diff --git a/helm/bundles/cortex-cinder/Chart.yaml b/helm/bundles/cortex-cinder/Chart.yaml index c43ba2f00..b78ae3a86 100644 --- a/helm/bundles/cortex-cinder/Chart.yaml +++ b/helm/bundles/cortex-cinder/Chart.yaml @@ -5,23 +5,23 @@ apiVersion: v2 name: cortex-cinder description: A Helm chart deploying Cortex for Cinder. type: application -version: 0.0.108 +version: 0.0.109 appVersion: 0.1.0 dependencies: # from: file://../../library/cortex-postgres - name: cortex-postgres repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.6.28 + version: 0.6.29 # from: file://../../library/cortex - name: cortex repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.7.1 + version: 0.7.2 alias: cortex-knowledge-controllers # from: file://../../library/cortex - name: cortex repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.7.1 + version: 0.7.2 alias: cortex-scheduling-controllers # Owner info adds a configmap to the kubernetes cluster with information on diff --git a/helm/bundles/cortex-crds/Chart.yaml b/helm/bundles/cortex-crds/Chart.yaml index 459bc2501..54f807f46 100644 --- a/helm/bundles/cortex-crds/Chart.yaml +++ b/helm/bundles/cortex-crds/Chart.yaml @@ -5,13 +5,13 @@ apiVersion: v2 name: cortex-crds description: A Helm chart deploying Cortex CRDs. type: application -version: 0.0.108 +version: 0.0.109 appVersion: 0.1.0 dependencies: # from: file://../../library/cortex - name: cortex repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.7.1 + version: 0.7.2 # Owner info adds a configmap to the kubernetes cluster with information on # the service owner. This makes it easier to find out who to contact in case diff --git a/helm/bundles/cortex-ironcore/Chart.yaml b/helm/bundles/cortex-ironcore/Chart.yaml index 445cd7038..ff3435d3e 100644 --- a/helm/bundles/cortex-ironcore/Chart.yaml +++ b/helm/bundles/cortex-ironcore/Chart.yaml @@ -5,13 +5,13 @@ apiVersion: v2 name: cortex-ironcore description: A Helm chart deploying Cortex for IronCore. type: application -version: 0.0.108 +version: 0.0.109 appVersion: 0.1.0 dependencies: # from: file://../../library/cortex - name: cortex repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.7.1 + version: 0.7.2 # Owner info adds a configmap to the kubernetes cluster with information on # the service owner. This makes it easier to find out who to contact in case diff --git a/helm/bundles/cortex-manila/Chart.yaml b/helm/bundles/cortex-manila/Chart.yaml index 525936c96..61aa37d44 100644 --- a/helm/bundles/cortex-manila/Chart.yaml +++ b/helm/bundles/cortex-manila/Chart.yaml @@ -5,23 +5,23 @@ apiVersion: v2 name: cortex-manila description: A Helm chart deploying Cortex for Manila. type: application -version: 0.0.108 +version: 0.0.109 appVersion: 0.1.0 dependencies: # from: file://../../library/cortex-postgres - name: cortex-postgres repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.6.28 + version: 0.6.29 # from: file://../../library/cortex - name: cortex repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.7.1 + version: 0.7.2 alias: cortex-knowledge-controllers # from: file://../../library/cortex - name: cortex repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.7.1 + version: 0.7.2 alias: cortex-scheduling-controllers # Owner info adds a configmap to the kubernetes cluster with information on diff --git a/helm/bundles/cortex-nova/Chart.yaml b/helm/bundles/cortex-nova/Chart.yaml index b26a23d2c..0ed98c9d1 100644 --- a/helm/bundles/cortex-nova/Chart.yaml +++ b/helm/bundles/cortex-nova/Chart.yaml @@ -5,23 +5,23 @@ apiVersion: v2 name: cortex-nova description: A Helm chart deploying Cortex for Nova. type: application -version: 0.0.108 +version: 0.0.109 appVersion: 0.1.0 dependencies: # from: file://../../library/cortex-postgres - name: cortex-postgres repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.6.28 + version: 0.6.29 # from: file://../../library/cortex - name: cortex repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.7.1 + version: 0.7.2 alias: cortex-knowledge-controllers # from: file://../../library/cortex - name: cortex repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.7.1 + version: 0.7.2 alias: cortex-scheduling-controllers # Owner info adds a configmap to the kubernetes cluster with information on diff --git a/helm/bundles/cortex-placement-shim/Chart.yaml b/helm/bundles/cortex-placement-shim/Chart.yaml index c0d19b9cb..b9b3f783c 100644 --- a/helm/bundles/cortex-placement-shim/Chart.yaml +++ b/helm/bundles/cortex-placement-shim/Chart.yaml @@ -5,13 +5,13 @@ apiVersion: v2 name: cortex-placement-shim description: A Helm chart deploying the Cortex placement shim. type: application -version: 0.1.33 +version: 0.1.34 appVersion: 0.1.0 dependencies: # from: file://../../library/cortex-shim - name: cortex-shim repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.1.33 + version: 0.1.34 # Owner info adds a configmap to the kubernetes cluster with information on # the service owner. This makes it easier to find out who to contact in case # of issues. See: https://github.com/sapcc/helm-charts/pkgs/container/helm-charts%2Fowner-info diff --git a/helm/bundles/cortex-pods/Chart.yaml b/helm/bundles/cortex-pods/Chart.yaml index 91dc12d98..4f565f388 100644 --- a/helm/bundles/cortex-pods/Chart.yaml +++ b/helm/bundles/cortex-pods/Chart.yaml @@ -5,13 +5,13 @@ apiVersion: v2 name: cortex-pods description: A Helm chart deploying Cortex for Pods. type: application -version: 0.0.108 +version: 0.0.109 appVersion: 0.1.0 dependencies: # from: file://../../library/cortex - name: cortex repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.7.1 + version: 0.7.2 # Owner info adds a configmap to the kubernetes cluster with information on # the service owner. This makes it easier to find out who to contact in case diff --git a/helm/library/cortex-postgres/Chart.yaml b/helm/library/cortex-postgres/Chart.yaml index c4733f880..ccccc54d2 100644 --- a/helm/library/cortex-postgres/Chart.yaml +++ b/helm/library/cortex-postgres/Chart.yaml @@ -5,5 +5,5 @@ apiVersion: v2 name: cortex-postgres description: Postgres setup for Cortex. type: application -version: 0.6.28 +version: 0.6.29 appVersion: "sha-4f5a623f" diff --git a/helm/library/cortex-shim/Chart.yaml b/helm/library/cortex-shim/Chart.yaml index dc010991d..e18aa113e 100644 --- a/helm/library/cortex-shim/Chart.yaml +++ b/helm/library/cortex-shim/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: cortex-shim description: A Helm chart to distribute cortex shims. type: application -version: 0.1.33 +version: 0.1.34 appVersion: "sha-eac4ca69" icon: "https://example.com/icon.png" dependencies: [] diff --git a/helm/library/cortex/Chart.yaml b/helm/library/cortex/Chart.yaml index b3526e67c..ddf9b080f 100644 --- a/helm/library/cortex/Chart.yaml +++ b/helm/library/cortex/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: cortex description: A Helm chart to distribute cortex. type: application -version: 0.7.1 +version: 0.7.2 appVersion: "sha-ece8785b" icon: "https://example.com/icon.png" dependencies: []