Skip to content

Commit 94943bd

Browse files
docs(release): fix broken links and PR refs in v1.4.0 changelog
- Resource Presets doc URL: /docs/operations/resource-presets/ → /docs/v1.4/guides/resource-management/ (was 404) - HAMi doc URL: /docs/operations/kubernetes/hami/ → /docs/v1.4/kubernetes/gpu-sharing/ (was 404) - Upgrade-notes PR ref for presets: #2426 → #2607 - Upgrade-notes PR ref for postgres parameters: #2475 → #2466 Assisted-By: Claude <[email protected]> Signed-off-by: Myasnikov Daniil <[email protected]>
1 parent 4bf1cdc commit 94943bd

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

‎docs/changelogs/v1.4.0.md‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Resource presets now follow a cloud-style `<series>.<size>` taxonomy with **40 p
3838

3939
Each series ships eight sizes (`nano` → `4xlarge`). The seven legacy flat names (`nano` … `2xlarge`) are kept as deprecated aliases that map 1:1 by CPU and memory, so `helm template ... --set resourcesPreset=small` still renders `1 CPU / 512Mi` exactly as before. **Migration 39** walks every `HelmRelease.spec.values` and every app CR under `apps.cozystack.io/v1alpha1` and rewrites legacy values to their instance-type equivalents (`small → t1.small`, `medium → c1.small`, etc); the migration is idempotent and dry-runnable via `MIGRATION_DRY_RUN=1`. The `cozystack-api` emits deprecation warnings on every `Create`/`Update` against an app CR that still carries a legacy value, naming the JSON path and the 1:1 replacement.
4040

41-
Operators see no behavioural change on upgrade — defaults preserve resources exactly. New deployments get the richer taxonomy and can select an explicit CPU/memory ratio per workload. See [Resource Presets](https://cozystack.io/docs/operations/resource-presets/) for the full size matrix ([**@lexfrei**](https://github.com/lexfrei) and [**@matthieu-robin**](https://github.com/matthieu-robin) in #2607).
41+
Operators see no behavioural change on upgrade — defaults preserve resources exactly. New deployments get the richer taxonomy and can select an explicit CPU/memory ratio per workload. See [Resource Presets](https://cozystack.io/docs/v1.4/guides/resource-management/) for the full size matrix ([**@lexfrei**](https://github.com/lexfrei) and [**@matthieu-robin**](https://github.com/matthieu-robin) in #2607).
4242

4343
### Declarative Backup Strategies for Managed Apps
4444

@@ -50,7 +50,7 @@ Credentials are referenced by Kubernetes Secret name (never inline) and RBAC is
5050

5151
The new `hami` system package integrates [HAMi](https://github.com/Project-HAMi/HAMi) v2.8.1 (CNCF Sandbox) for **fractional GPU sharing in tenant clusters**. HAMi exposes per-tenant `nvidia.com/gpu`, `nvidia.com/gpumem`, and `nvidia.com/gpucores` resources so multiple pods can share a single physical GPU with explicit memory and compute slicing; the device plugin, scheduler extender, mutating webhook, and RuntimeClass are bundled. The integration auto-disables the GPU Operator's native device plugin to avoid conflict, and HAMi is exposed as an opt-in toggle (`hami.enabled`) on the tenant Kubernetes addon with a hard dependency on the GPU Operator.
5252

53-
The release notes call out an important compatibility caveat: HAMi-core relies on a private glibc symbol (`_dl_sym`) removed in glibc 2.34, so compute isolation only works on container images that ship glibc < 2.34 (Ubuntu 22.04+, current PyTorch/TensorFlow official images do not). Alpine/musl is unsupported. Memory enforcement works on all images. See the package README and the [HAMi documentation](https://cozystack.io/docs/operations/kubernetes/hami/) for the supported image matrix ([**@Arsolitt**](https://github.com/Arsolitt) in #2484).
53+
The release notes call out an important compatibility caveat: HAMi-core relies on a private glibc symbol (`_dl_sym`) removed in glibc 2.34, so compute isolation only works on container images that ship glibc < 2.34 (Ubuntu 22.04+, current PyTorch/TensorFlow official images do not). Alpine/musl is unsupported. Memory enforcement works on all images. See the package README and the [HAMi documentation](https://cozystack.io/docs/v1.4/kubernetes/gpu-sharing/) for the supported image matrix ([**@Arsolitt**](https://github.com/Arsolitt) in #2484).
5454

5555
### Ouroboros: One-Switch PROXY-Protocol + Hairpin-NAT Fix
5656

@@ -78,9 +78,9 @@ Most operators can take v1.4.0 with no manual action — Cozystack stays on the
7878

7979
* **KubeVirt VMs running before the upgrade need a cold restart.** With #2502, KubeVirt jumps v1.6.3 → v1.8.2 which crosses the upstream QEMU bump (1.6.x → 1.7.x+). Live-migration of VMs that were running before the upgrade fails permanently with `qemu-kvm: error while loading state for instance ... virtio-net` / `operation failed: job 'migration in' failed: Operation not permitted` — this is upstream [kubevirt/kubevirt#16386](https://github.com/kubevirt/kubevirt/issues/16386). Switching `workloadUpdateMethods` from `[LiveMigrate, Evict]` to `[Evict]` does not help (the eviction webhook re-routes through live-migrate). **Action required:** after the platform upgrade, cold-restart pre-existing VMs (`virtctl stop` / `virtctl start`, or set `runStrategy: RerunOnFailure` and delete the VMI) so they relaunch on the new virt-launcher. New VMs created after the upgrade are unaffected.
8080

81-
* **Resource presets gain new names; legacy names keep working.** With #2426 / Migration 39, presets follow a `<series>.<size>` taxonomy (`t1`/`c1`/`s1`/`u1`/`m1` × `nano`–`4xlarge`). The seven legacy flat names (`nano`, `micro`, `small`, `medium`, `large`, `xlarge`, `2xlarge`) **remain accepted as deprecated aliases** with the exact pre-rename CPU/memory by 1:1 mapping — no behavioural change for existing deployments. Stored values are rewritten on upgrade. You will see deprecation warnings on `Create`/`Update` against app CRs that still carry a legacy preset; migrate at your own pace before they are removed in a future release.
81+
* **Resource presets gain new names; legacy names keep working.** With #2607 / Migration 39, presets follow a `<series>.<size>` taxonomy (`t1`/`c1`/`s1`/`u1`/`m1` × `nano`–`4xlarge`). The seven legacy flat names (`nano`, `micro`, `small`, `medium`, `large`, `xlarge`, `2xlarge`) **remain accepted as deprecated aliases** with the exact pre-rename CPU/memory by 1:1 mapping — no behavioural change for existing deployments. Stored values are rewritten on upgrade. You will see deprecation warnings on `Create`/`Update` against app CRs that still carry a legacy preset; migrate at your own pace before they are removed in a future release.
8282

83-
* **PostgreSQL parameters are now type-checked.** With #2475, `postgresql.parameters` becomes a typed `map[string]string` with a case-insensitive denylist for parameters that would allow arbitrary code execution: `archive_command`, `restore_command`, `ssl_passphrase_command`, `dynamic_library_path`, and any `*_preload_libraries`. Common settings like `max_connections`, `shared_buffers`, `work_mem`, etc. are unaffected. If you relied on any of the denylisted parameters, the deployment will fail to render with a clear error and you must remove them.
83+
* **PostgreSQL parameters are now type-checked.** With #2466, `postgresql.parameters` becomes a typed `map[string]string` with a case-insensitive denylist for parameters that would allow arbitrary code execution: `archive_command`, `restore_command`, `ssl_passphrase_command`, `dynamic_library_path`, and any `*_preload_libraries`. Common settings like `max_connections`, `shared_buffers`, `work_mem`, etc. are unaffected. If you relied on any of the denylisted parameters, the deployment will fail to render with a clear error and you must remove them.
8484

8585
* **cert-manager pods now run as UID 65532.** Upstream cert-manager v1.20 changes the default container UID/GID from `1000/0` to `65532`. If you have custom PodSecurityPolicies, restrictive imagePullSecrets, or filesystem-mounted certs whose ownership is pinned to the old UID, update them. Operators who have not customised cert-manager security context need no action.
8686

0 commit comments

Comments
 (0)