Upgrade
Use this procedure when you publish a new Alauda Build of Rook-Ceph Operator version into OperatorHub on an existing cluster.
Choose the path that matches the platform version:
Approving the pending InstallPlan for rook-ceph/rook-operator installs the Operator CSV. On 4.4.1 and later, that approval is also the confirmation for the Ceph image bound to the package. On 4.4.0, the console does not write that image; you must patch it with kubectl.
Confirm that the Rook Operator Subscription uses Manual approval before you upload the new package. If installPlanApproval is Automatic, OLM starts the Operator upgrade as soon as the new version appears in the catalog.
TOC
Before you start1. Confirm Manual approval2. Upload the new Operator package3. Approve the Operator packageApply the Ceph image on 4.4.0Verify the Operator and data planeIf the details-page button stays disabledRelated topicsBefore you start
- Identify the namespace of the Rook Operator. The default namespace created by the Distributed Storage wizard is
rook-ceph. - Download the new Alauda Build of Rook-Ceph Operator package that matches the cluster architecture.
- For internal mode, confirm
CephClusterisReadyandstatus.ceph.healthisHEALTH_OK. - For external mode (
spec.external.enable: true), upgrade only the Operator. Do not patch a local Ceph image. - Do not edit generated CSV manifests as a persistent customization. Subsequent OLM reconciles can overwrite those edits. See Architecture.
1. Confirm Manual approval
The output must be Manual. If it is not, set it before you upload the package:
On 4.4.1 and later, you can also set Upgrade Strategy to Manual in Marketplace > OperatorHub > Alauda Build of Rook-Ceph.
2. Upload the new Operator package
Upload the new Alauda Build of Rook-Ceph package with violet, then confirm the target version is visible in OperatorHub.
Follow Upload Packages and the OperatorHub steps in Operator.
After the upload succeeds, OperatorHub shows the new version as available. Do not approve it until installPlanApproval is Manual.
3. Approve the Operator package
OLM creates an InstallPlan for the new CSV. Approve only the plan referenced by Subscription.status.installPlanRef.
The details-page button is available in 4.4.1 and later. On 4.4.0, skip this tab and use kubectl.
- Log in and switch to the Administrator view.
- Open the Rook-Ceph cluster details page.
- When the button is enabled, it shows Upgrade to followed by the target CSV version. The version comes from the pending InstallPlan target CSV (
spec.version, or the version segment of the CSV name such asrook-ceph.v4.4.1→4.4.1). - Click the button. The console sets that InstallPlan
spec.approvedtotrue. You can leave the page.
The button stays disabled when:
- The current user cannot update
InstallPlanobjects inrook-ceph. - The cluster is internal mode and
status.ceph.healthis notHEALTH_OK. - There is no pending unapproved InstallPlan referenced by
Subscription.status.installPlanRef. A newer CSV in the catalog is not enough if OLM has not created that InstallPlan.
While an approved plan is installing, the button can show that an upgrade is in progress. After the pending plan disappears, it shows that no upgrade is available.
The button does not write spec.cephVersion.image, does not create a StorageCluster, and does not parse PackageManifest images.
Apply the Ceph image on 4.4.0
4.4.0 does not follow the Ceph image after you approve the Operator package. For internal mode, select the Ceph daemon image from the new CSV by the relatedImage name ceph. Do not copy an image from the unfiltered relatedImages list.
If the command exits with an error, stop. Do not patch CephCluster until relatedImages contains exactly one entry whose name is ceph.
List CephCluster objects and patch spec.cephVersion.image to that unique image. Replace <cephcluster-name>:
On 4.4.1 and later, do not run this patch. Approving the package accepts the bound Ceph image.
Verify the Operator and data plane
Confirm the Operator CSV:
For internal mode, confirm CephCluster health and the Ceph image:
phase=Readyandhealth=HEALTH_OK.spec.cephVersion.imagematches the unique CSVrelatedImagesentry namedceph.- Existing PVCs remain
Bound.
For external mode, skip the local image check. Existing consumer volumes should remain Bound.
If the details-page button stays disabled
This section applies to 4.4.1 and later. On 4.4.0, there is no details-page button; use kubectl.
-
Confirm the user can update
installplansinrook-ceph. -
For internal mode, confirm
status.ceph.healthisHEALTH_OK. -
Inspect the Subscription and the referenced InstallPlan:
If the catalog already has a newer CSV but there is no pending unapproved InstallPlan, check whether
startingCSVis pinning the Subscription. Do not try to repair that pin from the details page. -
If the InstallPlan is already approved but the Ceph image did not change on 4.4.1 or later, confirm the installed CSV is
Succeededand thatrelatedImagescontains exactly one entry namedceph.
Do not delete the CephCluster or PV objects to cancel an upgrade.
Related topics
- Architecture — OLM upgrade overview
- Upload Packages — upload the Operator package
- Operator —
Subscription,InstallPlan, and approval strategy - Deploying in Internal Mode — install-time Upgrade Strategy