docs: deferred upgrade finalization on Kubernetes (DOC-2273)#1816
docs: deferred upgrade finalization on Kubernetes (DOC-2273)#1816JakeSCahill wants to merge 1 commit into
Conversation
Adds a Defer upgrade finalization section to the K8s rolling upgrade guide, extends the Roll back section for the unfinalized case, updates the shared limitations partial, and documents the post-finalization downgrade guard in troubleshooting. Validated end-to-end on kind v1.34 (operator 26.2.1-beta.3, 3 brokers): 26.1.13 with features_auto_finalization=false, roll to 26.2.1-rc4, status ready-to-finalize, image-tag rollback to 26.1.13 (healthy), re-upgrade, finalize (status finalized), and the downgrade guard (Incompatible downgrade detected crash-loop, roll halts, cluster stays available, recovery by setting the image forward).
✅ Deploy Preview for redpanda-docs-preview ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Documents deferred ("unfinalized") upgrades for Kubernetes deployments (DOC-2273, eng epic ENG-1067; core feature per ENG-1029 and the TOI writeup).
Changes
Defer upgrade finalizationsection inupgrade:k-rolling-upgrade.adoc: setfeatures_auto_finalization: falsebefore the upgrade (26.1.9+/25.3.15+, Enterprise), roll as usual (no operator/chart changes needed), verify withrpk cluster upgrade status(real observed output), soak, thenrpk cluster upgrade finalize(irreversible) — plus the three sharp caveats (config flip does not finalize; finalize requests are not persisted across controller leadership changes; one hop at a time).rolling-upgrades/upgrade-limitations.adoc): Rollbacks and Downgrades bullets gain the deferred-finalization exception, phrased generically because the partial also serves the Linux page (DOC-2013, Joyce).Incompatible downgrade detectedguard after finalization, why the roll halts at the first refused broker, and the validated recovery (set the image forward; deleting the crash-looping Pod does not help because the StatefulSet recreates it at the old revision).Validation (kind v1.34.0, operator 26.2.1-beta.3, 3 brokers)
Full loop verified live: 26.1.13 with the flag set → roll to 26.2.1-rc4 →
ready to finalize→ image-tag rollback to 26.1.13 (cluster healthy on old binary) → re-upgrade →finalize→finalizedon first poll → downgrade attempt refused with the guard signature, roll halted at broker 0 while the cluster stayed available → recovery by setting the image forward.Coordination
features_auto_finalizationproperty reference already exists; therpk cluster upgradereference pages come with the 26.2 rpk regen.