mirror of
https://github.com/cozystack/cozystack.git
synced 2026-11-08 21:14:56 +09:00
## Problem PR #2454 renamed `nodeGroups[*].ephemeralStorage` → `nodeGroups[*].diskSize` with a hard `{{ fail }}` guard. Any cluster whose HelmRelease still carries the legacy field cannot be reconciled by Flux at all — unrelated control-plane changes and MachineHealthCheck remediations are also blocked. ## Solution Add platform migration 41 that runs as a pre-upgrade hook before any chart resources are applied. The migration walks every `kuberneteses.apps.cozystack.io` Application CR cluster-wide and renames `nodeGroups[*].ephemeralStorage` to `nodeGroups[*].diskSize`, preserving the user's value. - Idempotent: a second run is a no-op (field is already absent) - Best-effort: a failed patch is logged; the version stamp stays at 41 so the migration retries on the next platform upgrade - Bumps `migrations.targetVersion` 41 → 42 The chart-side guard remains in place with an updated error message that directs operators to the migration job logs if the field somehow reappears post-upgrade. ## Testing Verified on dev cluster: migration correctly renames `ephemeralStorage` values in existing Application CRs. All 123 helm unit tests pass. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Release Notes * **Documentation** * Platform migration 41 now automatically handles the `ephemeralStorage` to `diskSize` field rename for Kubernetes node groups * Migration is transparent during upgrade with no manual configuration changes required * Error messages updated with clearer troubleshooting guidance * **Tests** * Updated test assertions for migration error messages <!-- review_stack_entry_start --> [](https://app.coderabbit.ai/change-stack/cozystack/cozystack/pull/2688?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack) <!-- review_stack_entry_end --> <!-- end of auto-generated comment: release notes by coderabbit.ai -->