diff --git a/Documentation/CRDs/Cluster/ceph-cluster-crd.md b/Documentation/CRDs/Cluster/ceph-cluster-crd.md index 5b9f7ade4..e6027bc73 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:v20.2.1`. 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.2`. 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. @@ -122,8 +122,8 @@ These are general purpose Ceph container with all necessary daemons and dependen | -------------------- | --------------------------------------------------------- | | 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) | +| vRELNUM.Y.Z | A specific release (e.g., v20.2.2) | +| vRELNUM.Y.Z-YYYYMMDD | A specific build (e.g., v20.2.2-20260616) | A specific will contain a specific release of Ceph as well as security fixes from the Operating System. @@ -457,7 +457,7 @@ metadata: namespace: rook-ceph spec: cephVersion: - image: quay.io/ceph/ceph:v20.2.1 + image: quay.io/ceph/ceph:v20.2.2 dataDirHostPath: /var/lib/rook mon: count: 3 @@ -565,7 +565,7 @@ metadata: namespace: rook-ceph spec: cephVersion: - image: quay.io/ceph/ceph:v20.2.1 + image: quay.io/ceph/ceph:v20.2.2 dataDirHostPath: /var/lib/rook mon: count: 3 @@ -695,7 +695,7 @@ kubectl -n rook-ceph get CephCluster -o yaml deviceClasses: - name: hdd version: - image: quay.io/ceph/ceph:v20.2.1 + image: quay.io/ceph/ceph:v20.2.2 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 e11811cda..bb151fbaf 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:v20.2.1 + image: quay.io/ceph/ceph:v20.2.2 dataDirHostPath: /var/lib/rook mon: count: 3 @@ -49,7 +49,7 @@ metadata: namespace: rook-ceph spec: cephVersion: - image: quay.io/ceph/ceph:v20.2.1 + image: quay.io/ceph/ceph:v20.2.2 dataDirHostPath: /var/lib/rook mon: count: 3 @@ -101,7 +101,7 @@ metadata: namespace: rook-ceph spec: cephVersion: - image: quay.io/ceph/ceph:v20.2.1 + image: quay.io/ceph/ceph:v20.2.2 dataDirHostPath: /var/lib/rook mon: count: 3 diff --git a/Documentation/CRDs/Cluster/pvc-cluster.md b/Documentation/CRDs/Cluster/pvc-cluster.md index b65aa8d8f..90cb3bcef 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:v20.2.1 + image: quay.io/ceph/ceph:v20.2.2 dataDirHostPath: /var/lib/rook mon: count: 3 @@ -72,7 +72,7 @@ spec: requests: storage: 10Gi cephVersion: - image: quay.io/ceph/ceph:v20.2.1 + image: quay.io/ceph/ceph:v20.2.2 allowUnsupported: false dashboard: enabled: true @@ -128,7 +128,7 @@ metadata: namespace: rook-ceph spec: cephVersion: - image: quay.io/ceph/ceph:v20.2.1 + image: quay.io/ceph/ceph:v20.2.2 dataDirHostPath: /var/lib/rook mon: count: 3 diff --git a/Documentation/CRDs/Cluster/stretch-cluster.md b/Documentation/CRDs/Cluster/stretch-cluster.md index 0d3689285..5e5c7bcd0 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:v20.2.1 + image: quay.io/ceph/ceph:v20.2.2 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/Helm-Charts/ceph-cluster-chart.md b/Documentation/Helm-Charts/ceph-cluster-chart.md index a3b0f5c3f..4702dd5d1 100644 --- a/Documentation/Helm-Charts/ceph-cluster-chart.md +++ b/Documentation/Helm-Charts/ceph-cluster-chart.md @@ -70,7 +70,7 @@ The following table lists the configurable parameters of the rook-operator chart | `cephFileSystems` | A list of CephFileSystem configurations to deploy | See [below](#ceph-file-systems) | | `cephImage.allowUnsupported` | | `false` | | `cephImage.repository` | | `"quay.io/ceph/ceph"` | -| `cephImage.tag` | | `"v20.2.1"` | +| `cephImage.tag` | | `"v20.2.2"` | | `cephObjectStores` | A list of CephObjectStore configurations to deploy | See [below](#ceph-object-stores) | | `clusterName` | The metadata.name of the CephCluster CR | The same as the namespace | | `configOverride` | Cluster ceph.conf override | `nil` | diff --git a/Documentation/Storage-Configuration/Advanced/cephx-key-rotation.md b/Documentation/Storage-Configuration/Advanced/cephx-key-rotation.md index 48e379694..f4141ccf2 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:v20.2.1 + image: quay.io/ceph/ceph:v20.2.2 security: cephx: daemon: diff --git a/Documentation/Upgrade/ceph-upgrade.md b/Documentation/Upgrade/ceph-upgrade.md index 36ad5b7e8..efe2bd520 100644 --- a/Documentation/Upgrade/ceph-upgrade.md +++ b/Documentation/Upgrade/ceph-upgrade.md @@ -31,7 +31,7 @@ The following Ceph versions are supported in this release of Rook: * Ceph Tentacle v20.2.0: Not recommended * IMPORTANT: **There is a known data corruption issue in v20.2.0**, if the "read affinity" feature is enabled. Read affinity is disabled by default, and is enabled by the CephCluster setting `csi.readAffinity.enabled: true`. - If read affinity is enabled in your cluster, upgrade to v20.2.1+. + If read affinity is enabled in your cluster, upgrade to v20.2.2+. If read affinity is enabled with v20.2.0, Rook automatically disables read affinity internally to help avoid this corruption. After the upgrade, existing applications must be restarted to fully disable the read affinity in existing volumes. See [this issue](https://github.com/rook/rook/issues/16839) for more details. @@ -46,7 +46,7 @@ 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., `v20.2.1-20260402`). +* The most explicit form of tags are full-ceph-version-and-build tags (e.g., `v20.2.2-20260616`). 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., `v20`) are useful for development and test clusters so that the @@ -63,7 +63,7 @@ CephCluster CRD (`spec.cephVersion.image`). ```console ROOK_CLUSTER_NAMESPACE=rook-ceph -NEW_CEPH_IMAGE='quay.io/ceph/ceph:v20.2.1-20260402' +NEW_CEPH_IMAGE='quay.io/ceph/ceph:v20.2.2-20260616' 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:v20.2.1-20260402 +kubectl -n rook-ceph set image deploy/rook-ceph-tools rook-ceph-tools=quay.io/ceph/ceph:v20.2.2-20260616 ``` #### **3. Wait for the pod updates** @@ -93,9 +93,9 @@ Confirm the upgrade is completed when the versions are all on the desired Ceph v 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=v19.2.3-0 - ceph-version=v20.2.1-0 + ceph-version=v20.2.2-0 This cluster is finished: - ceph-version=v20.2.1-0 + ceph-version=v20.2.2-0 ``` #### **4. Verify cluster health** diff --git a/deploy/charts/rook-ceph-cluster/values.yaml b/deploy/charts/rook-ceph-cluster/values.yaml index 46cc21390..d3f530512 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:v20.2.1 + image: #quay.io/ceph/ceph:v20.2.2 # -- Toolbox tolerations tolerations: [] # -- Toolbox affinity @@ -97,8 +97,8 @@ cephImage: repository: quay.io/ceph/ceph # 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:v20.2.1-20260402 - tag: v20.2.1 + # To be more precise, you can always use a timestamp tag such as quay.io/ceph/ceph:v20.2.2-20260616 + tag: v20.2.2 # Whether to allow unsupported versions of Ceph. Currently Squid and Tentacle are supported. # Future versions would require this to be set to `true`. # Do not set to true in production. diff --git a/deploy/examples/cluster-external-management.yaml b/deploy/examples/cluster-external-management.yaml index b6830a401..cf7522fcd 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:v20.2.1 # Should match external cluster version + image: quay.io/ceph/ceph:v20.2.2 # Should match external cluster version diff --git a/deploy/examples/cluster-on-local-pvc.yaml b/deploy/examples/cluster-on-local-pvc.yaml index 2f41cd29e..4900e1b25 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:v20.2.1 + image: quay.io/ceph/ceph:v20.2.2 allowUnsupported: false skipUpgradeChecks: false continueUpgradeAfterChecksEvenIfNotHealthy: false diff --git a/deploy/examples/cluster-on-pvc.yaml b/deploy/examples/cluster-on-pvc.yaml index 652d3cc73..f42364ac9 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:v20.2.1 + image: quay.io/ceph/ceph:v20.2.2 allowUnsupported: false skipUpgradeChecks: false continueUpgradeAfterChecksEvenIfNotHealthy: false diff --git a/deploy/examples/cluster-stretched-aws.yaml b/deploy/examples/cluster-stretched-aws.yaml index 7b4ca894a..fc5c85a43 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:v20.2.1 + image: quay.io/ceph/ceph:v20.2.2 allowUnsupported: true skipUpgradeChecks: false continueUpgradeAfterChecksEvenIfNotHealthy: false diff --git a/deploy/examples/cluster-stretched.yaml b/deploy/examples/cluster-stretched.yaml index a0ad82ed6..803d48278 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:v20.2.1 + image: quay.io/ceph/ceph:v20.2.2 allowUnsupported: true skipUpgradeChecks: false continueUpgradeAfterChecksEvenIfNotHealthy: false diff --git a/deploy/examples/cluster-tnf.yaml b/deploy/examples/cluster-tnf.yaml index 0044aeb3e..3d8822cdb 100644 --- a/deploy/examples/cluster-tnf.yaml +++ b/deploy/examples/cluster-tnf.yaml @@ -21,7 +21,7 @@ metadata: spec: dataDirHostPath: /var/lib/rook cephVersion: - image: quay.io/ceph/ceph:v20.2.1 + image: quay.io/ceph/ceph:v20.2.2 allowUnsupported: false # The path on the host where configuration files will be persisted # IMPORTANT: Disable host networking for floating monitor diff --git a/deploy/examples/cluster.yaml b/deploy/examples/cluster.yaml index 67e829243..4736c1176 100644 --- a/deploy/examples/cluster.yaml +++ b/deploy/examples/cluster.yaml @@ -19,9 +19,9 @@ spec: # v19 is Squid, v20 is Tentacle # RECOMMENDATION: 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/. - # If you want to be more precise, you can always use a timestamp tag such as quay.io/ceph/ceph:v20.2.1-20260402 + # If you want to be more precise, you can always use a timestamp tag such as quay.io/ceph/ceph:v20.2.2-20260616 # This tag might not contain a new Ceph version, just security fixes from the underlying operating system, which will reduce vulnerabilities - image: quay.io/ceph/ceph:v20.2.1 + image: quay.io/ceph/ceph:v20.2.2 # Whether to allow unsupported versions of Ceph. Currently Squid and Tentacle are supported. # Future versions such as Umbrella (v21) would require this to be set to `true`. # Do not set to true in production. diff --git a/deploy/examples/images.txt b/deploy/examples/images.txt index 80d95797b..7306ef2b1 100644 --- a/deploy/examples/images.txt +++ b/deploy/examples/images.txt @@ -1,6 +1,6 @@ docker.io/rook/ceph:master gcr.io/k8s-staging-sig-storage/objectstorage-sidecar:v0.2.2 -quay.io/ceph/ceph:v20.2.1 +quay.io/ceph/ceph:v20.2.2 quay.io/ceph/cosi:v0.1.4 quay.io/cephcsi/ceph-csi-operator:v1.0.1 quay.io/cephcsi/cephcsi:v3.17.0 diff --git a/design/ceph/ceph-cluster-cleanup.md b/design/ceph/ceph-cluster-cleanup.md index c79e4fd30..aa28f99f2 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:v20.2.1 + image: quay.io/ceph/ceph:v20.2.2 dataDirHostPath: /var/lib/rook mon: count: 3 diff --git a/images/ceph/Makefile b/images/ceph/Makefile index dd47a7400..e1f57ff09 100755 --- a/images/ceph/Makefile +++ b/images/ceph/Makefile @@ -16,7 +16,7 @@ include ../image.mk # ==================================================================================== # Image Build Options -CEPH_VERSION ?= v20.2.1-20260402 +CEPH_VERSION ?= v20.2.2-20260616 REGISTRY_NAME = quay.io BASEIMAGE = $(REGISTRY_NAME)/ceph/ceph:$(CEPH_VERSION) diff --git a/pkg/operator/ceph/cluster/mon/mon_test.go b/pkg/operator/ceph/cluster/mon/mon_test.go index a085ae242..8683b398f 100644 --- a/pkg/operator/ceph/cluster/mon/mon_test.go +++ b/pkg/operator/ceph/cluster/mon/mon_test.go @@ -1081,7 +1081,7 @@ func TestCheckIfArbiterReady(t *testing.T) { assert.False(t, ready) assert.NoError(t, err) - // Still rejected on tentacle v20.2.1 (pre-backport) + // Still rejected on tentacle v20.2.2 (pre-backport) c.ClusterInfo.CephVersion = cephver.CephVersion{Major: 20, Minor: 2, Extra: 1} ready, err = c.readyToConfigureArbiter(false) assert.False(t, ready) diff --git a/pkg/operator/ceph/config/keyring/cephx_test.go b/pkg/operator/ceph/config/keyring/cephx_test.go index e858e492c..413ef7392 100644 --- a/pkg/operator/ceph/config/keyring/cephx_test.go +++ b/pkg/operator/ceph/config/keyring/cephx_test.go @@ -102,7 +102,7 @@ func Test_parseCephVersionFromStatusVersion(t *testing.T) { wantErr bool }{ {"20.2.1-5", version.CephVersion{Major: 20, Minor: 2, Extra: 1, Build: 5}, false}, - {"v20.2.1-5", version.CephVersion{}, true}, + {"v20.2.2-5", version.CephVersion{}, true}, {"20.2.1", version.CephVersion{}, true}, {"20.2", version.CephVersion{}, true}, {"20", version.CephVersion{}, true}, diff --git a/tests/manifests/test-cluster-on-pvc-encrypted.yaml b/tests/manifests/test-cluster-on-pvc-encrypted.yaml index d0700a353..af2d36c33 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:v20.2.1 + image: quay.io/ceph/ceph:v20.2.2 allowUnsupported: true dashboard: enabled: false