Perform a Rolling Upgrade (beta)¶
This guide walks through upgrading every node in a running Ella Core high-availability cluster, one at a time, without taking the cluster offline. For background on mixed-version clusters, draining, and schema coordination, see High Availability.
Beta feature
High availability is currently in beta. It is available for testing and feedback in the main branch but not recommended for production use yet. Expect breaking changes as we iterate on the design and implementation.
Prerequisites¶
- A running cluster deployed via Deploy a High Availability Cluster.
- Admin credentials for the Ella Core UI, or an admin API token.
- The target Ella Core version available on the snap channel you track.
Upgrade one node¶
Repeat these steps for each node, upgrading the leader last.
- Identify the leader on the Cluster page of any healthy node.
- Pick the next node to upgrade — a follower, unless this is the last pass.
- Click Drain next to that node. Wait until its Drain State is
drained. -
On that host, refresh the snap:
sudo snap refresh ella-core -
On the Cluster page, wait for the node to return to Healthy.
- Click Resume next to the node. Wait for Drain State to clear back to
active. - Move to the next node.
Verify the upgrade¶
After every node has been refreshed, confirm on GET /api/v1/status from each node:
versionandrevisionmatch the target release.cluster.appliedSchemaVersionequals the top-levelschemaVersion.cluster.pendingMigrationis absent.
If cluster.pendingMigration is still present, the laggardNodeId field identifies the node that must be upgraded next.
Note
All steps in this guide can also be performed via the REST API. See the Cluster API reference for details.