Skip to content
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

Upgrade rewrites for v24.3 #19098

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

Upgrade rewrites for v24.3 #19098

wants to merge 3 commits into from

Conversation

mdlinville
Copy link
Contributor

@mdlinville mdlinville commented Nov 5, 2024

Upgrade rewrites for v24.3

  • [DOC-11170] Document version skipping
  • [DOC-8495] Incorrect details about alpha releases
  • [DOC-8412] Add details about monitoring upgrade progress
  • [DOC-11046] Discuss major and minor version upgrades separately
  • [DOC-11650] v24.3 upgrade instructions
  • Modularize Cloud and CRDB upgrade pages to use includes
  • Reduce version-specific details in upgrade pages
  • Update Kubernetes upgrade docs, reuse as much from self-hosted as possible, except do not update them to use the new setting because it doesn't work for the Operator

Previews

Cloud: src/current/cockroachcloud/upgrade-cockroach-version.md
Self-hosted: src/current/v24.3/upgrade-cockroach-version.md
Self-hosted Kubernetes: src/current/v24.3/upgrade-cockroachdb-kubernetes.md

Copy link

github-actions bot commented Nov 5, 2024

Files changed:

  • src/current/_includes/common/upgrade/disable-auto-finalization.md
  • src/current/_includes/common/upgrade/finalize-cloud.md
  • src/current/_includes/common/upgrade/finalize-kubernetes.md
  • src/current/_includes/common/upgrade/finalize-self-hosted.md
  • src/current/_includes/common/upgrade/major-version-upgrade-cloud.md
  • src/current/_includes/common/upgrade/major-version-upgrade-kubernetes.md
  • src/current/_includes/common/upgrade/major-version-upgrade-self-hosted.md
  • src/current/_includes/common/upgrade/overview.md
  • src/current/_includes/common/upgrade/patch-rollback-kubernetes.md
  • src/current/_includes/common/upgrade/patch-rollback-self-hosted.md
  • src/current/_includes/common/upgrade/patch-upgrade-kubernetes.md
  • src/current/_includes/common/upgrade/patch-upgrade-self-hosted.md
  • src/current/_includes/common/upgrade/prepare-to-upgrade-cloud.md
  • src/current/_includes/common/upgrade/prepare-to-upgrade-kubernetes.md
  • src/current/_includes/common/upgrade/prepare-to-upgrade-self-hosted.md
  • src/current/_includes/common/upgrade/rollback-cloud.md
  • src/current/_includes/common/upgrade/rollback-kubernetes.md
  • src/current/_includes/common/upgrade/rollback-self-hosted.md
  • src/current/_includes/common/upgrade/see-also-cloud.md
  • src/current/_includes/common/upgrade/see-also-self-hosted.md
  • src/current/_includes/common/upgrade/troubleshooting-cloud.md
  • src/current/_includes/common/upgrade/troubleshooting-self-hosted.md
  • src/current/_includes/common/upgrade/upgrade-high-level.md
  • src/current/_includes/v24.2/recommend-backups-for-upgrade.md:
  • src/current/_includes/v24.2/upgrade-requirements.md:
    • Warning: include not used in any v24.2 file or include
  • src/current/_includes/v24.3/backups/recommend-backups-for-upgrade.md:
  • src/current/_includes/v24.3/orchestration/kubernetes-upgrade-cluster-helm.md:
    • Warning: include not used in any v24.3 file or include
  • src/current/_includes/v24.3/orchestration/kubernetes-upgrade-cluster-manual.md:
    • Warning: include not used in any v24.3 file or include
  • src/current/_includes/v24.3/upgrade-requirements.md:
    • Warning: include not used in any v24.3 file or include
  • src/current/cockroachcloud/upgrade-cockroach-version.md
  • src/current/v24.3/upgrade-cockroach-version.md
  • src/current/v24.3/upgrade-cockroachdb-kubernetes.md

Copy link

netlify bot commented Nov 5, 2024

Deploy Preview for cockroachdb-interactivetutorials-docs canceled.

Name Link
🔨 Latest commit ead89d8
🔍 Latest deploy log https://app.netlify.com/sites/cockroachdb-interactivetutorials-docs/deploys/672abaabcd7c760008f16196

Copy link

netlify bot commented Nov 5, 2024

Deploy Preview for cockroachdb-api-docs canceled.

Name Link
🔨 Latest commit ead89d8
🔍 Latest deploy log https://app.netlify.com/sites/cockroachdb-api-docs/deploys/672abaabf81fec000845375e

@mdlinville mdlinville requested review from dcrosta and dt November 5, 2024 22:01
@mdlinville
Copy link
Contributor Author

@dcrosta Please review the Cloud upgrade page (or nominate another reviewer)
@dt Please review the Self-Hosted upgrade page (or nominate another reviewer)

The bulk of this PR is modularizing the content into includes to build up both the self-hsoted and Cloud pages. It may be simpler to rely on the HTML previews to do the reviews.

Copy link

netlify bot commented Nov 5, 2024

Deploy Preview for cockroachdb-docs failed. Why did it fail? →

Name Link
🔨 Latest commit ead89d8
🔍 Latest deploy log https://app.netlify.com/sites/cockroachdb-docs/deploys/672abaab9b26c50008a3d641

@mdlinville mdlinville force-pushed the DOC-11170 branch 2 times, most recently from 05fb164 to 70f6b55 Compare November 6, 2024 00:01
- [DOC-11170] Document version skipping
- [DOC-8495] Incorrect details about alpha releases
- [DOC-8412] Add details about monitoring upgrade progress
- [DOC-11046] Discuss major and minor version upgrades separately
- [DOC-11650] v24.3 upgrade instructions
- Modularize Cloud and CRDB upgrade pages to use includes
- Reduce version-specific details in upgrade pages
@mdlinville mdlinville force-pushed the DOC-11170 branch 2 times, most recently from c6a2c68 to 90ec1bd Compare November 6, 2024 00:29
Copy link

@dcrosta dcrosta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple of nits & suggestions, but overall lgtm!

1. Click the cluster's name to open the **Cluster Details** page.
1. At the top of the page, click **Finalize**.

When finalization begins, a series of migration jobs run to enable certain types of features and changes in the new major version that cannot be rolled back. These include changes to system schemas, indexes, and descriptors, and enabling certain types of improvements and new features. These temporary limitations are listed in the release notes for the new major version. Until the upgrade is finalized, these features and functions will not be available and the command `SHOW CLUSTER SETTING version` will continue to report the previous major version.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "These temporary limitations" sentence feels like it belongs in its own paragraph, with a statement that there are temporary limits.

Before beginning a major-version upgrade:

1. **CockroachDB {{ site.data.products.advanced }}**: Verify the overall health of your cluster using the [DB Console]({% link cockroachcloud/tools-page.md %}#access-the-db-console.md):
- Under **Node Status**, make sure all nodes that should be live are listed as such. If any nodes are unexpectedly listed as `SUSPECT` or `DEAD`, identify why the nodes are offline and either restart them or [decommission]({% link {{ site.current_cloud_version }}/node-shutdown.md %}?filters=decommission#remove-nodes) them before beginning your upgrade. If there are `DEAD` and non-decommissioned nodes in your cluster, the upgrade cannot be finalized.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@joshimhoff can you comment on whether this is something cloud customers need to do? Does our automation ever allow suspect or dead nodes to stick around?

1. Click the cluster's name to open the **Cluster Details** page.
1. At the top of the page, click **Roll back**.

A CockroachDB {{ site.data.products.standard }} or {{ site.data.products.basic }} cluster remains fully available while it is rolled back. For a multi-node CockroachDB {{ site.data.products.advanced }} cluster, nodes are rolled back one at a time in a rolling fashion so the cluster remains available, with one node unavailable at a time. A single-node CockroachDB {{ site.data.products.advanced }} cluster will be unavailable while the cluster is rolled back and restarted. Like an upgrade, a rollback must be finalized.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mdlinville Basic clusters cannot be rolled back by the user -- CRL controls upgrades on basic clusters, users neither get to choose when they happen nor to roll back

1. At the top of the page, click **Roll back**.

A CockroachDB {{ site.data.products.standard }} or {{ site.data.products.basic }} cluster remains fully available while it is rolled back. For a multi-node CockroachDB {{ site.data.products.advanced }} cluster, nodes are rolled back one at a time in a rolling fashion so the cluster remains available, with one node unavailable at a time. A single-node CockroachDB {{ site.data.products.advanced }} cluster will be unavailable while the cluster is rolled back and restarted. Like an upgrade, a rollback must be finalized.
1. Like a major-version upgrade, a rollback must be [finalized](#finalize-a-major-versino-upgrade). When the rollback is finalized, the rollback is complete.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Like a major-version upgrade, a rollback must be [finalized](#finalize-a-major-versino-upgrade). When the rollback is finalized, the rollback is complete.

1. Click the cluster's name to open the **Cluster Details** page.
1. At the top of the page, click **Roll back**.

A CockroachDB {{ site.data.products.standard }} or {{ site.data.products.basic }} cluster remains fully available while it is rolled back. For a multi-node CockroachDB {{ site.data.products.advanced }} cluster, nodes are rolled back one at a time in a rolling fashion so the cluster remains available, with one node unavailable at a time. A single-node CockroachDB {{ site.data.products.advanced }} cluster will be unavailable while the cluster is rolled back and restarted. Like an upgrade, a rollback must be finalized.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
A CockroachDB {{ site.data.products.standard }} or {{ site.data.products.basic }} cluster remains fully available while it is rolled back. For a multi-node CockroachDB {{ site.data.products.advanced }} cluster, nodes are rolled back one at a time in a rolling fashion so the cluster remains available, with one node unavailable at a time. A single-node CockroachDB {{ site.data.products.advanced }} cluster will be unavailable while the cluster is rolled back and restarted. Like an upgrade, a rollback must be finalized.
A CockroachDB {{ site.data.products.standard }} or {{ site.data.products.basic }} cluster remains fully available while it is rolled back. For a multi-node CockroachDB {{ site.data.products.advanced }} cluster, nodes are rolled back one at a time in a rolling fashion so the cluster remains available, with one node unavailable at a time. A single-node CockroachDB {{ site.data.products.advanced }} cluster will be unavailable while the cluster is rolled back and restarted.

Roll back doesn't require an additional user step after they click the button the first time -- there is no finalization for rollback.


To learn more about CockroachDB major versions and patches, refer to the [Releases Overview]({% link releases/index.md %}#overview).
For CockroachDB {{ site.data.products.standard }} and CockroachDB {{ site.data.products.basic }}, a cluster's resources are not impacted by an ongoing upgrade.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
For CockroachDB {{ site.data.products.standard }} and CockroachDB {{ site.data.products.basic }}, a cluster's resources are not impacted by an ongoing upgrade.
For CockroachDB {{ site.data.products.standard }} and CockroachDB {{ site.data.products.basic }}, a cluster remains available during an upgrade.

or something like this?

## Upgrades and maintenance windows

If you have [configured a maintenance window]({% link cockroachcloud/advanced-cluster-management.md %}) for a CockroachDB {{ site.data.products.advanced }} cluster, automatic patch upgrades are applied during the maintenance window. Major-version upgrades must be initiated manually.
For CockroachDB {{ site.data.products.advanced }}, nodes are upgraded one at a time in a rolling fashion, and the cluster's resources are reduced as each node is upgraded. If you have [configured a maintenance window]({% link cockroachcloud/advanced-cluster-management.md %}) for a CockroachDB {{ site.data.products.advanced }} cluster, automatic patch upgrades are applied during the maintenance window. Major-version upgrades must be initiated manually.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
For CockroachDB {{ site.data.products.advanced }}, nodes are upgraded one at a time in a rolling fashion, and the cluster's resources are reduced as each node is upgraded. If you have [configured a maintenance window]({% link cockroachcloud/advanced-cluster-management.md %}) for a CockroachDB {{ site.data.products.advanced }} cluster, automatic patch upgrades are applied during the maintenance window. Major-version upgrades must be initiated manually.
For CockroachDB {{ site.data.products.advanced }}, nodes are upgraded one at a time in a rolling fashion. Multi-node clusters will remain available during the upgrade, but will have reduced capacity as each node restarts. Single-node clusters will be unavailable while the node restarts.
## Upgrades and maintenance windows
If you have [configured a maintenance window]({% link cockroachcloud/advanced-cluster-management.md %}) for a CockroachDB {{ site.data.products.advanced }} cluster, automatic patch upgrades are applied during the maintenance window. Major-version upgrades must be initiated manually.

I suggest restoring the heading, as it leads into the following paragraph/callout as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants