Skip to content

Minor and major upgrade procedure#

Use this procedure to upgrade a Helm-managed MSR 4 deployment to a new minor or major version. The procedure retrieves the default values for the target release, so you can reconcile them against your current configuration before you run the upgrade.

  1. Retrieve the default values for the target version.

    Pull the Helm chart values schema for the version you are upgrading to. This lets you identify new or changed configuration fields before you run the upgrade.

    helm show values oci://registry.mirantis.com/harbor/helm/msr \
      --version <TARGET-VERSION> > msr-values-new-defaults.yaml
    

    Replace <TARGET-VERSION> with the exact MSR version you are upgrading to, for example 4.13.5. For available version tags, refer to the release notes.

  2. Update your values file.

    Compare your backed-up values file against the new defaults and carry your existing settings forward. Pay attention to fields that were added or restructured between versions.

    Preserve secretKey

    If your deployment has a secretKey value configured, carry it forward exactly as-is. Changing this value after initial deployment breaks decryption of stored credentials and prevents authentication from working.

  3. Optional. Preview the upgrade.

    Use the helm diff plugin to review the exact changes before you commit to the upgrade.

    Install the plugin if it is not already present:

    helm plugin install https://github.com/databus23/helm-diff
    

    Run the diff command:

    helm diff upgrade <RELEASE-NAME> \
      oci://registry.mirantis.com/harbor/helm/msr \
      --version <TARGET-VERSION> \
      --namespace <NAMESPACE> \
      --values <PATH-TO/msr-values.yaml>
    
  4. Run the Helm upgrade.

    Run helm upgrade with the updated values file. Use the same release name and namespace as the original installation.

    helm upgrade <RELEASE-NAME> \
      oci://registry.mirantis.com/harbor/helm/msr \
      --version <TARGET-VERSION> \
      --namespace <NAMESPACE> \
      --values <PATH-TO/msr-values.yaml> \
      --atomic
    

    The --atomic flag rolls the release back automatically if the upgrade doesn't complete within the timeout period. Remove this flag only if you intend to manage rollback manually.

  5. Verify the upgrade.

    Confirm that all pods are running and the release reflects the new version.

    # Verify all pods are in Running or Completed state
    kubectl get pods -n <NAMESPACE>
    
    # Confirm the chart version
    helm list -n <NAMESPACE>
    
    # Check for recent error events
    kubectl get events -n <NAMESPACE> --sort-by='.lastTimestamp'
    

    Log in to the MSR web UI at your configured externalURL and verify that the deployment functions as expected.