Perform a minor upgrade on a mongos-k8s router
This page contains:
- Supported charm revisions that are safe to upgrade to or from
- Minor upgrade steps
To perform an upgrade on a MongoDB sharded cluster, see the Charmed MongoDB K8s documentation.
Supported revisions
Below is a list of revisions of Charmed Mongos K8s that support upgrades.
Only upgrade to or from these supported revisions in a production environment.
Minor upgrade steps
Here is a summary of the steps to perform a minor upgrade:
Step 1: Determine your current revision
Find determine your current revision:
juju status | grep <juju-app-name> | head -1 | awk '{print $5}'
If your current revision is not in the list, then upgrade is not supported.
In the case that your upgrade is not successful, you will need this revision number to roll back your application.
Step 2: Determine new revision
Choose a revision to upgrade to from the list of available revisions to upgrade to
Step 3: Upgrade the router
Using the revision from Step 2, upgrade your application
juju refresh mongos-k8s --revision=<revision number>
The upgrade should begin, and upgrade all deployed mongos
routers. You can watch and wait for the upgrade to succeed with juju status --watch 1s
.
If all units show active
and idle
statuses after upgrading, then your upgrade succeeded.
If your upgrade failed, then juju status
will show that the unit is blocked with the message Unhealthy after refresh
. You can do the following:
- Recommended: Wait for 5-10 minutes to see if the router can heal itself
- Recommended: Roll back. To roll back completely, redo Step 3 using the revision number from Step 1.
- Not Recommended: Force an upgrade by running
juju run mongos-k8s/leader force-refresh-start
. Please note this can break your database and is not recommended.