From 82e9c4de51cae6573ba400fbdf8ebca4e1efba72 Mon Sep 17 00:00:00 2001 From: Travis Nielsen Date: Mon, 27 Apr 2026 13:13:15 -0600 Subject: [PATCH] core: update all docs and examples to v20.2.1 With the default version now being v20.2.1, also update all of the examples, documentation, and default CI to run with that version Signed-off-by: Travis Nielsen (cherry picked from commit 62a9debceb0b8955b4604ecf8b988aaf698e82f8) --- Documentation/CRDs/Cluster/ceph-cluster-crd.md | 16 ++++++++-------- Documentation/CRDs/Cluster/host-cluster.md | 6 +++--- Documentation/CRDs/Cluster/pvc-cluster.md | 6 +++--- Documentation/CRDs/Cluster/stretch-cluster.md | 2 +- .../Advanced/cephx-key-rotation.md | 2 +- Documentation/Upgrade/ceph-upgrade.md | 14 +++++++------- deploy/charts/rook-ceph-cluster/values.yaml | 8 ++++---- deploy/examples/cluster-external-management.yaml | 2 +- deploy/examples/cluster-multus-test.yaml | 2 +- deploy/examples/cluster-on-local-pvc.yaml | 2 +- deploy/examples/cluster-on-pvc-minikube.yaml | 2 +- deploy/examples/cluster-on-pvc.yaml | 2 +- deploy/examples/cluster-stretched-aws.yaml | 2 +- deploy/examples/cluster-stretched.yaml | 2 +- deploy/examples/toolbox.yaml | 2 +- design/ceph/ceph-cluster-cleanup.md | 2 +- .../manifests/test-cluster-on-pvc-encrypted.yaml | 2 +- 17 files changed, 37 insertions(+), 37 deletions(-) diff --git a/Documentation/CRDs/Cluster/ceph-cluster-crd.md b/Documentation/CRDs/Cluster/ceph-cluster-crd.md index fa7137e6f..f915644a6 100755 --- a/Documentation/CRDs/Cluster/ceph-cluster-crd.md +++ b/Documentation/CRDs/Cluster/ceph-cluster-crd.md @@ -26,7 +26,7 @@ Settings can be specified at the global level to apply to the cluster as a whole * `external`: * `enable`: if `true`, the cluster will not be managed by Rook but via an external entity. This mode is intended to connect to an existing cluster. In this case, Rook will only consume the external cluster. However, Rook will be able to deploy various daemons in Kubernetes such as object gateways, mds and nfs if an image is provided and will refuse otherwise. If this setting is enabled **all** the other options will be ignored except `cephVersion.image` and `dataDirHostPath`. See [external cluster configuration](external-cluster/external-cluster.md). If `cephVersion.image` is left blank, Rook will refuse the creation of extra CRs like object, file and nfs. * `cephVersion`: The version information for launching the ceph daemons. - * `image`: The image used for running the ceph daemons. For example, `quay.io/ceph/ceph:v19.2.3`. For more details read the [container images section](#ceph-container-images). + * `image`: The image used for running the ceph daemons. For example, `quay.io/ceph/ceph:v20.2.1`. For more details read the [container images section](#ceph-container-images). For the latest ceph images, see the [Ceph DockerHub](https://hub.docker.com/r/ceph/ceph/tags/). To ensure a consistent version of the image is running across all nodes in the cluster, it is recommended to use a very specific image version. Tags also exist that would give the latest version, but they are only recommended for test environments. For example, the tag `v19` will be updated each time a new Squid build is released. @@ -120,10 +120,10 @@ These are general purpose Ceph container with all necessary daemons and dependen | TAG | MEANING | | -------------------- | --------------------------------------------------------- | -| vRELNUM | Latest release in this series (e.g., **v19** = Squid) | -| vRELNUM.Y | Latest stable release in this stable series (e.g., v19.2) | -| vRELNUM.Y.Z | A specific release (e.g., v19.2.3) | -| vRELNUM.Y.Z-YYYYMMDD | A specific build (e.g., v19.2.3-20250717) | +| vRELNUM | Latest release in this series (e.g., **v20** = Tentacle) | +| vRELNUM.Y | Latest stable release in this stable series (e.g., v20.2) | +| vRELNUM.Y.Z | A specific release (e.g., v20.2.1) | +| vRELNUM.Y.Z-YYYYMMDD | A specific build (e.g., v20.2.1-20260402) | A specific will contain a specific release of Ceph as well as security fixes from the Operating System. @@ -454,7 +454,7 @@ metadata: namespace: rook-ceph spec: cephVersion: - image: quay.io/ceph/ceph:v19.2.3 + image: quay.io/ceph/ceph:v20.2.1 dataDirHostPath: /var/lib/rook mon: count: 3 @@ -561,7 +561,7 @@ metadata: namespace: rook-ceph spec: cephVersion: - image: quay.io/ceph/ceph:v19.2.3 + image: quay.io/ceph/ceph:v20.2.1 dataDirHostPath: /var/lib/rook mon: count: 3 @@ -691,7 +691,7 @@ kubectl -n rook-ceph get CephCluster -o yaml deviceClasses: - name: hdd version: - image: quay.io/ceph/ceph:v19.2.3 + image: quay.io/ceph/ceph:v20.2.1 version: 16.2.6-0 conditions: - lastHeartbeatTime: "2021-03-02T21:22:11Z" diff --git a/Documentation/CRDs/Cluster/host-cluster.md b/Documentation/CRDs/Cluster/host-cluster.md index 513c7e1b4..e11811cda 100644 --- a/Documentation/CRDs/Cluster/host-cluster.md +++ b/Documentation/CRDs/Cluster/host-cluster.md @@ -22,7 +22,7 @@ metadata: spec: cephVersion: # see the "Cluster Settings" section below for more details on which image of ceph to run - image: quay.io/ceph/ceph:v19.2.3 + image: quay.io/ceph/ceph:v20.2.1 dataDirHostPath: /var/lib/rook mon: count: 3 @@ -49,7 +49,7 @@ metadata: namespace: rook-ceph spec: cephVersion: - image: quay.io/ceph/ceph:v19.2.3 + image: quay.io/ceph/ceph:v20.2.1 dataDirHostPath: /var/lib/rook mon: count: 3 @@ -101,7 +101,7 @@ metadata: namespace: rook-ceph spec: cephVersion: - image: quay.io/ceph/ceph:v19.2.3 + image: quay.io/ceph/ceph:v20.2.1 dataDirHostPath: /var/lib/rook mon: count: 3 diff --git a/Documentation/CRDs/Cluster/pvc-cluster.md b/Documentation/CRDs/Cluster/pvc-cluster.md index 64b6ea892..b65aa8d8f 100644 --- a/Documentation/CRDs/Cluster/pvc-cluster.md +++ b/Documentation/CRDs/Cluster/pvc-cluster.md @@ -18,7 +18,7 @@ metadata: namespace: rook-ceph spec: cephVersion: - image: quay.io/ceph/ceph:v19.2.3 + image: quay.io/ceph/ceph:v20.2.1 dataDirHostPath: /var/lib/rook mon: count: 3 @@ -72,7 +72,7 @@ spec: requests: storage: 10Gi cephVersion: - image: quay.io/ceph/ceph:v19.2.3 + image: quay.io/ceph/ceph:v20.2.1 allowUnsupported: false dashboard: enabled: true @@ -128,7 +128,7 @@ metadata: namespace: rook-ceph spec: cephVersion: - image: quay.io/ceph/ceph:v19.2.3 + image: quay.io/ceph/ceph:v20.2.1 dataDirHostPath: /var/lib/rook mon: count: 3 diff --git a/Documentation/CRDs/Cluster/stretch-cluster.md b/Documentation/CRDs/Cluster/stretch-cluster.md index ec92f7831..0d3689285 100644 --- a/Documentation/CRDs/Cluster/stretch-cluster.md +++ b/Documentation/CRDs/Cluster/stretch-cluster.md @@ -34,7 +34,7 @@ spec: - name: b - name: c cephVersion: - image: quay.io/ceph/ceph:v19.2.3 + image: quay.io/ceph/ceph:v20.2.1 allowUnsupported: true # Either storageClassDeviceSets or the storage section can be specified for creating OSDs. # This example uses all devices for simplicity. diff --git a/Documentation/Storage-Configuration/Advanced/cephx-key-rotation.md b/Documentation/Storage-Configuration/Advanced/cephx-key-rotation.md index 8ad490c97..48e379694 100644 --- a/Documentation/Storage-Configuration/Advanced/cephx-key-rotation.md +++ b/Documentation/Storage-Configuration/Advanced/cephx-key-rotation.md @@ -70,7 +70,7 @@ metadata: namespace: rook-ceph # namespace:cluster spec: cephVersion: - image: quay.io/ceph/ceph:v19.2.3 + image: quay.io/ceph/ceph:v20.2.1 security: cephx: daemon: diff --git a/Documentation/Upgrade/ceph-upgrade.md b/Documentation/Upgrade/ceph-upgrade.md index 2b5d79219..36ad5b7e8 100644 --- a/Documentation/Upgrade/ceph-upgrade.md +++ b/Documentation/Upgrade/ceph-upgrade.md @@ -46,15 +46,15 @@ Official Ceph container images can be found on [Quay](https://quay.io/repository These images are tagged in a few ways: -* The most explicit form of tags are full-ceph-version-and-build tags (e.g., `v19.2.3-20250717`). +* The most explicit form of tags are full-ceph-version-and-build tags (e.g., `v20.2.1-20260402`). These tags are recommended for production clusters, as there is no possibility for the cluster to be heterogeneous with respect to the version of Ceph running in containers. -* Ceph major version tags (e.g., `v19`) are useful for development and test clusters so that the +* Ceph major version tags (e.g., `v20`) are useful for development and test clusters so that the latest version of Ceph is always available. **Ceph containers other than the official images from the registry above will not be supported.** -### Example Upgrade to Ceph Squid +### Example Upgrade to Ceph Tentacle #### **1. Update the Ceph daemons** @@ -63,7 +63,7 @@ CephCluster CRD (`spec.cephVersion.image`). ```console ROOK_CLUSTER_NAMESPACE=rook-ceph -NEW_CEPH_IMAGE='quay.io/ceph/ceph:v19.2.3-20250717' +NEW_CEPH_IMAGE='quay.io/ceph/ceph:v20.2.1-20260402' kubectl -n $ROOK_CLUSTER_NAMESPACE patch CephCluster $ROOK_CLUSTER_NAMESPACE --type=merge -p "{\"spec\": {\"cephVersion\": {\"image\": \"$NEW_CEPH_IMAGE\"}}}" ``` @@ -75,7 +75,7 @@ employed by the new Rook operator release. Employing an outdated Ceph version wi in unexpected behaviour. ```console -kubectl -n rook-ceph set image deploy/rook-ceph-tools rook-ceph-tools=quay.io/ceph/ceph:v19.2.3-20250717 +kubectl -n rook-ceph set image deploy/rook-ceph-tools rook-ceph-tools=quay.io/ceph/ceph:v20.2.1-20260402 ``` #### **3. Wait for the pod updates** @@ -92,10 +92,10 @@ Confirm the upgrade is completed when the versions are all on the desired Ceph v ```console kubectl -n $ROOK_CLUSTER_NAMESPACE get deployment -l rook_cluster=$ROOK_CLUSTER_NAMESPACE -o jsonpath='{range .items[*]}{"ceph-version="}{.metadata.labels.ceph-version}{"\n"}{end}' | sort | uniq This cluster is not yet finished: - ceph-version=v18.2.4-0 ceph-version=v19.2.3-0 + ceph-version=v20.2.1-0 This cluster is finished: - ceph-version=v19.2.3-0 + ceph-version=v20.2.1-0 ``` #### **4. Verify cluster health** diff --git a/deploy/charts/rook-ceph-cluster/values.yaml b/deploy/charts/rook-ceph-cluster/values.yaml index 2b1efa6d5..0056275a1 100644 --- a/deploy/charts/rook-ceph-cluster/values.yaml +++ b/deploy/charts/rook-ceph-cluster/values.yaml @@ -25,7 +25,7 @@ toolbox: # -- Enable Ceph debugging pod deployment. See [toolbox](../Troubleshooting/ceph-toolbox.md) enabled: false # -- Toolbox image, defaults to the image used by the Ceph cluster - image: #quay.io/ceph/ceph:v19.2.3 + image: #quay.io/ceph/ceph:v20.2.1 # -- Toolbox tolerations tolerations: [] # -- Toolbox affinity @@ -95,12 +95,12 @@ cephClusterMetadata: cephImage: # The repository from which to pull the ceph image repository: quay.io/ceph/ceph - # In production, use a specific version tag instead of the general v19 flag, which pulls the latest release and could result in different + # In production, use a specific version tag instead of the general v20 flag, which pulls the latest release and could result in different # versions running within the cluster. See tags available at https://hub.docker.com/r/ceph/ceph/tags/. - # To be more precise, you can always use a timestamp tag such as quay.io/ceph/ceph:v19.2.3-20250717 + # To be more precise, you can always use a timestamp tag such as quay.io/ceph/ceph:v20.2.1-20260402 tag: v20.2.1 # Whether to allow unsupported versions of Ceph. Currently Squid and Tentacle are supported. - # Future versions such as Tentacle (v20) would require this to be set to `true`. + # Future versions would require this to be set to `true`. # Do not set to true in production. allowUnsupported: false # The image pull policy for pulling the ceph image in the ceph daemon pods, defaults to IfNotPresent diff --git a/deploy/examples/cluster-external-management.yaml b/deploy/examples/cluster-external-management.yaml index db753963f..2be4cfb31 100644 --- a/deploy/examples/cluster-external-management.yaml +++ b/deploy/examples/cluster-external-management.yaml @@ -20,4 +20,4 @@ spec: dataDirHostPath: /var/lib/rook # providing an image is required, if you want to create other CRs (rgw, mds, nfs) cephVersion: - image: quay.io/ceph/ceph:v19.2.3 # Should match external cluster version + image: quay.io/ceph/ceph:v20.2.1 # Should match external cluster version diff --git a/deploy/examples/cluster-multus-test.yaml b/deploy/examples/cluster-multus-test.yaml index 5342c762d..f6afc8bc4 100644 --- a/deploy/examples/cluster-multus-test.yaml +++ b/deploy/examples/cluster-multus-test.yaml @@ -15,7 +15,7 @@ metadata: spec: dataDirHostPath: /var/lib/rook cephVersion: - image: quay.io/ceph/ceph:v19 + image: quay.io/ceph/ceph:v20 allowUnsupported: true mon: count: 1 diff --git a/deploy/examples/cluster-on-local-pvc.yaml b/deploy/examples/cluster-on-local-pvc.yaml index b41187aae..2f41cd29e 100644 --- a/deploy/examples/cluster-on-local-pvc.yaml +++ b/deploy/examples/cluster-on-local-pvc.yaml @@ -174,7 +174,7 @@ spec: requests: storage: 10Gi cephVersion: - image: quay.io/ceph/ceph:v19.2.3 + image: quay.io/ceph/ceph:v20.2.1 allowUnsupported: false skipUpgradeChecks: false continueUpgradeAfterChecksEvenIfNotHealthy: false diff --git a/deploy/examples/cluster-on-pvc-minikube.yaml b/deploy/examples/cluster-on-pvc-minikube.yaml index 3bceac29b..97fe176c6 100644 --- a/deploy/examples/cluster-on-pvc-minikube.yaml +++ b/deploy/examples/cluster-on-pvc-minikube.yaml @@ -150,7 +150,7 @@ spec: crashCollector: disable: false cephVersion: - image: quay.io/ceph/ceph:v19 + image: quay.io/ceph/ceph:v20 allowUnsupported: false skipUpgradeChecks: false continueUpgradeAfterChecksEvenIfNotHealthy: false diff --git a/deploy/examples/cluster-on-pvc.yaml b/deploy/examples/cluster-on-pvc.yaml index 5198e2518..652d3cc73 100644 --- a/deploy/examples/cluster-on-pvc.yaml +++ b/deploy/examples/cluster-on-pvc.yaml @@ -34,7 +34,7 @@ spec: requests: storage: 10Gi cephVersion: - image: quay.io/ceph/ceph:v19.2.3 + image: quay.io/ceph/ceph:v20.2.1 allowUnsupported: false skipUpgradeChecks: false continueUpgradeAfterChecksEvenIfNotHealthy: false diff --git a/deploy/examples/cluster-stretched-aws.yaml b/deploy/examples/cluster-stretched-aws.yaml index 196d60753..7b4ca894a 100644 --- a/deploy/examples/cluster-stretched-aws.yaml +++ b/deploy/examples/cluster-stretched-aws.yaml @@ -45,7 +45,7 @@ spec: mgr: count: 2 cephVersion: - image: quay.io/ceph/ceph:v19.2.3 + image: quay.io/ceph/ceph:v20.2.1 allowUnsupported: true skipUpgradeChecks: false continueUpgradeAfterChecksEvenIfNotHealthy: false diff --git a/deploy/examples/cluster-stretched.yaml b/deploy/examples/cluster-stretched.yaml index 14c7d1c8c..a0ad82ed6 100644 --- a/deploy/examples/cluster-stretched.yaml +++ b/deploy/examples/cluster-stretched.yaml @@ -39,7 +39,7 @@ spec: mgr: count: 2 cephVersion: - image: quay.io/ceph/ceph:v19.2.3 + image: quay.io/ceph/ceph:v20.2.1 allowUnsupported: true skipUpgradeChecks: false continueUpgradeAfterChecksEvenIfNotHealthy: false diff --git a/deploy/examples/toolbox.yaml b/deploy/examples/toolbox.yaml index 98d9b734c..d0cad429d 100644 --- a/deploy/examples/toolbox.yaml +++ b/deploy/examples/toolbox.yaml @@ -19,7 +19,7 @@ spec: serviceAccountName: rook-ceph-default containers: - name: rook-ceph-tools - image: quay.io/ceph/ceph:v19 + image: quay.io/ceph/ceph:v20 command: - /bin/bash - -c diff --git a/design/ceph/ceph-cluster-cleanup.md b/design/ceph/ceph-cluster-cleanup.md index 908e59ba6..c79e4fd30 100644 --- a/design/ceph/ceph-cluster-cleanup.md +++ b/design/ceph/ceph-cluster-cleanup.md @@ -34,7 +34,7 @@ metadata: namespace: rook-ceph spec: cephVersion: - image: quay.io/ceph/ceph:v19.2.3 + image: quay.io/ceph/ceph:v20.2.1 dataDirHostPath: /var/lib/rook mon: count: 3 diff --git a/tests/manifests/test-cluster-on-pvc-encrypted.yaml b/tests/manifests/test-cluster-on-pvc-encrypted.yaml index 9b41e856a..d0700a353 100644 --- a/tests/manifests/test-cluster-on-pvc-encrypted.yaml +++ b/tests/manifests/test-cluster-on-pvc-encrypted.yaml @@ -14,7 +14,7 @@ spec: requests: storage: 5Gi cephVersion: - image: quay.io/ceph/ceph:v19.2.3 + image: quay.io/ceph/ceph:v20.2.1 allowUnsupported: true dashboard: enabled: false