Charmed Mongos K8s How to | Minor version upgrade

Perform a minor upgrade on a mongos-k8s router

This page contains:

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.

:warning: 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:

  1. Determine your current revision
  2. Determine new revision
  3. Upgrade the router

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:

  1. Recommended: Wait for 5-10 minutes to see if the router can heal itself
  2. Recommended: Roll back. To roll back completely, redo Step 3 using the revision number from Step 1.
  3. 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.