Upgrade the Operator
Use this procedure when you publish a new Alauda Storage Operator version into OperatorHub on an existing cluster.
To move an existing cluster from Ceph Squid (v19) to Ceph Tentacle (v20), see Upgrade Ceph from Squid (v19) to Tentacle (v20). That upgrade changes the Operator channel and is not triggered by publishing a package alone.
Approving that Operator package is the confirmation for both the Operator control plane and the Ceph image bound to the package. You do not patch CephCluster.spec.cephVersion.image from the console, and you do not wait on the details page for the data plane to finish.
The recommended path is the Upgrade to button on the Alauda Storage cluster details page. That button only approves the pending InstallPlan for rook-ceph/rook-operator. Use kubectl when the button is unavailable.
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 startProcedure1. Confirm Manual approval2. Upload the new Operator package3. Approve the Operator packageRecommended: Ceph details pageFallback: kubectl4. Verify 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 Storage Operator package that matches the cluster architecture.
- For internal mode, confirm
CephClusterisReadyandstatus.ceph.healthisHEALTH_OK. The details-page button stays disabled while local health is notHEALTH_OK. - For external mode (
spec.external.enable: true), the same button upgrades only the Operator. It does not write a local Ceph image. - Do not edit generated CSV manifests as a persistent customization. Subsequent OLM reconciles can overwrite those edits. See Architecture.
Procedure
1. Confirm Manual approval
The output must be Manual. If it is not, set it before you upload the package:
You can also set Upgrade Strategy to Manual in Marketplace > OperatorHub > Alauda Storage.
2. Upload the new Operator package
Upload the new Alauda Storage 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. Approving that plan accepts the Operator version and the Ceph image bound to that package.
Recommended: Ceph details page
- Log in and switch to the Administrator view.
- Open the Alauda Storage 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 and does not parse PackageManifest images.
Fallback: kubectl
UpgradePending and InstallPlanPending=True mean the plan is waiting for approval. Approve only that referenced plan:
4. Verify the Operator and data plane
Wait until the new CSV is Succeeded and the Subscription is AtLatestKnown:
For internal mode, after the installed CSV is Succeeded, the platform writes the unique CSV relatedImages entry whose name is ceph onto CephCluster.spec.cephVersion.image. If that image is already the running value, Ceph daemons do not roll. If the package has no unique name=ceph image, the platform does not guess another image.
Confirm:
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
-
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, 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
- Upgrade Ceph from Squid (v19) to Tentacle (v20) — switch to the next Ceph major version
- Upload Packages — upload the Operator package
- Operator —
Subscription,InstallPlan, and approval strategy - Deploying in Internal Mode — install-time Upgrade Strategy
Ceph is a trademark or registered trademark of Red Hat, Inc. or its subsidiaries in the United States and other countries. Rook® is a registered trademark of The Linux Foundation. Alauda is an independent vendor. This product is not affiliated with, endorsed by, or sponsored by LF Projects, LLC or The Linux Foundation. All trademarks are the property of their respective owners and are used here for identification purposes only.