-
-
Notifications
You must be signed in to change notification settings - Fork 14
docs: Add a guide for upgrading SDP across releases #956
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
4eb19d1
docs: Add a guide for upgrading SDP across releases
lfrancke 16808b5
docs: Name what the upgrade guide keeps apart
lfrancke 304a483
docs: Lead the upgrade guide with the upgrade policy
lfrancke 46da50b
docs: Link the upgrade planner from the upgrade guide
lfrancke b3bfb35
docs: Turn the upgrade guide into a single procedure
lfrancke 30b45ac
Reword a few sentences.
lfrancke c718b4e
docs: Check the operator logs before resuming the next stacklet
lfrancke File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,56 @@ | ||
| = Upgrade to a later SDP release | ||
| :description: Upgrade the Stackable Data Platform (SDP) one release at a time. | ||
|
|
||
| Upgrade the Stackable Data Platform (SDP) from the release you run to a later one. | ||
| The https://hub.stackable.tech/upgrade-planner[upgrade planner] on the Stackable Hub can be used to generate a detailed plan for your specific version combination. | ||
|
|
||
| [IMPORTANT] | ||
| ==== | ||
| Two rules from the xref:compliance:policies.adoc#_upgrade_policy[upgrade policy] are important to keep in mind for _every_ update: | ||
|
|
||
| * Skipping SDP releases is not supported. | ||
| Upgrade from one SDP release to the next, for example 24.11 → 25.3 → 25.7. | ||
| * Upgrade the operators first and the product versions afterwards. | ||
| Every product version is xref:compliance:policies.adoc#_deprecation[deprecated] for at least one SDP release before it is removed, so the operators can move to the next release while the products stay on the versions they run. | ||
| ==== | ||
|
|
||
| If you use custom images, the cluster definitions have to change together with the operators, see xref:concepts:product-image-selection.adoc#customimages[custom images]. | ||
|
|
||
| == Upgrade to the next release | ||
|
|
||
| Repeat these steps for every release between the one you run and the one you want. | ||
| The commands for each release and any steps it needs by hand are in the relevant upgrade sections of the xref:ROOT:release-notes.adoc[release notes]. | ||
|
|
||
| . Read the release notes of the release you upgrade to, including the upgrade section and the product upgrade guides it links. | ||
| Some of these steps have to happen before the operators are replaced. | ||
|
|
||
| . Move every stacklet whose product version the next release no longer ships to a version both releases support, by changing its `spec.image.productVersion`. | ||
| Do the same for the Kubernetes or OpenShift version of the cluster. | ||
| The release notes and the https://hub.stackable.tech[Stackable Hub] list the product and platform versions each release supports. | ||
|
|
||
| . Pause reconciliation of every stacklet, see xref:concepts:operations/cluster_operations.adoc[]: | ||
| + | ||
| [source,shell] | ||
| ---- | ||
| $ kubectl patch <kind>/<name> --type=merge --patch '{"spec": {"clusterOperation": {"reconciliationPaused": true}}}' | ||
| ---- | ||
| + | ||
| Upgraded operators automatically and immediately restarts the stacklets they manage using the images of the new release, see xref:concepts:product-image-selection.adoc[]. | ||
| Pausing reconciliation lets you restart them one at a time at your own pace instead of all at once. | ||
|
|
||
| . Upgrade the operators as the release notes describes, for example with `stackablectl release upgrade <release>`. | ||
| Replace the CustomResourceDefinitions (CRDs) by hand if the release notes say so. | ||
|
|
||
| . Resume reconciliation of one stacklet: | ||
| + | ||
| [source,shell] | ||
| ---- | ||
| $ kubectl patch <kind>/<name> --type=merge --patch '{"spec": {"clusterOperation": {"reconciliationPaused": false}}}' | ||
| ---- | ||
| + | ||
| The operator restarts the stacklet using the new images. | ||
| Wait until all its Pods are ready again and the operator logs show no errors, then resume the next one. | ||
|
|
||
| . Change `spec.image.productVersion` where you want a newer product version. | ||
| Each change restarts that stacklet once more. | ||
| Some products need a manual process for a version change, such as xref:hdfs:usage-guide/upgrading.adoc[Apache Hadoop HDFS]. | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.