Documentation

Support

Upgrade your solution

Pull a more recent release, sync updated images, and redeploy using the vpctl tool
Read time 1 minuteLast updated 9 hours ago

Warning
The upgrade process generates new configuration files and charts. The recommended practice is to ensure that the current configuration is committed to source control before any upgrade, so that you can roll back to the previous configuration.
The upgrade process uses the vpctl tool to pull a more recent release and redeploy the solution. To upgrade your solution, complete these steps:

1. Update the manifest version

Update the
releaseVersion
key in your
manifest.yaml
file to the desired version:
releaseVersion: 0.9.0

2. Pull the new release

Run this command:
vpctl release pull --clean-output

3. Review the changelog

In the extracted release, compare the changes between the two versions and check for any required changes in configuration:
cat extracted-release/CHANGELOG.md
If some configurations require changes, update your
manifest.yaml
file accordingly.

4. Sync the updated artifacts

Authenticate to both registries, then sync Docker images and ORAS artifacts to your private registry:
docker login uccmpprivatecloud.azurecr.iodocker login <your-registry-url>vpctl artifact sync preflightvpctl artifact sync images --skip-existing --cleanupvpctl artifact sync oras
The
--skip-existing
flag skips images that are already in your registry, and
--cleanup
removes local images after each push.

5. Regenerate and deploy the secrets

If the new release introduces new secrets, regenerate the secrets:
vpctl secret generate --import secrets.import.yaml --use-defaultsvpctl secret deploy

6. Regenerate and deploy the charts

Helm deployment

vpctl release generate --clean-outputvpctl release deploy --dry-runvpctl release deploy

ArgoCD deployment

vpctl release generate --format argocd --clean-outputgit add generated-charts/git commit -m "Upgrade to release v0.9.0"git pushvpctl release deploy --format argocd

7. Verify the upgrade

Check that all pods are running:
kubectl get pods --all-namespaces --watch
Ensure that all pods eventually move to the Running state. If a pod isn't running, describe it and check its logs to find the issue. The upgrade process results in these changes:
  • Updated container images are deployed.
  • New or modified Helm charts are applied.
  • Configuration changes from the new release take effect.