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 |
Review: deferred upgrade finalization on Kubernetes (DOC-2273)OverviewAdds a "Defer upgrade finalization" procedure to Verified — this all checks out
One real suggestion: link back to the concept pageThe new section never xrefs Minor
RisksLow. Docs-only, validated live per the PR body (the troubleshooting recovery path — image forward, not pod deletion — is the kind of detail that only comes from having actually run it). The shared-partial edit is the only cross-page surface, and it's phrased to serve both consumers. Verdict: accurate, well-validated, and correctly coordinated with the merged DOC-2013 work — good to merge once the concept-page xref is added. 🤖 Generated with Claude Code |
Feediver1
left a comment
There was a problem hiding this comment.
Check out the suggestion
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.