For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/en/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/en/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/en/guides/hosted-private-cloud/opcp/how-to-upgrade-opcp.md.

How to upgrade OPCP

View as Markdown

Learn how to upgrade your OVHcloud On-Prem Cloud Platform (OPCP), from downloading the artifacts with the opcp-cli to performing the post-deployment checks

Objective

This guide explains how to upgrade your OVHcloud On-Prem Cloud Platform (OPCP): downloading the new artifacts, upgrading the opcp-cli, applying the new OPCP release, and validating the platform once the upgrade is complete.

Requirements

  • An operational OPCP infrastructure.
  • Administrative (root) access to the OPCP control-plane, with opcp-cli, opcp-diag, needrestart, flux and tfctl installed and configured.
  • Access to the official S31 bucket provided for your OPCP delivery, in order to download the opcp-cli, the new OPCP bundle, the RELEASE-NOTES, and their corresponding .minisig signature files.

Instructions

1. Running the pre-deployment checks

On the OPCP control-plane, run opcp-diag to confirm the platform is healthy before starting the upgrade:

opcp-diag run -p

If any error is reported, check whether it needs to be fixed before going any further.

2. Downloading the artifacts

Get access to the official S3 bucket in order to download the latest version of:

  • the opcp-cli,
  • the new OPCP bundle,
  • the RELEASE-NOTES of the versions that will be deployed.

You will also find the corresponding .minisig files in the bucket. They are used to check that the downloaded files are not corrupted before upgrading your OPCP product.

Info

If you are currently using an OPCP product in AirGap mode, you should have received a read-only user to access this bucket. Refer to Use Object Storage with S3cmd to get started with Object Storage.

Once the s3cmd command is configured, you can list the artifacts to download:

s3cmd ls
2026-08-14 16:19  s3://opcp-distribution-gra

s3cmd ls s3://opcp-distribution-gra
                          DIR  s3://opcp-distribution-gra/bundle/
                          DIR  s3://opcp-distribution-gra/opcp-cli/
                          DIR  s3://opcp-distribution-gra/opcp-controller-debian-image/

s3cmd ls s3://opcp-distribution-gra/opcp-cli/v3.1.21/
2026-07-15 14:38    186822902  s3://opcp-distribution-gra/opcp-cli/v3.1.21/opcp-cli-linux-amd64
2026-07-15 14:38          312  s3://opcp-distribution-gra/opcp-cli/v3.1.21/opcp-cli-linux-amd64.minisig

s3cmd ls s3://opcp-distribution-gra/bundle/3.0.6/
2026-07-16 14:49  12045479079  s3://opcp-distribution-gra/bundle/3.0.6/opcp-binaries-3.0.6.tar.gz
2026-07-16 14:49          310  s3://opcp-distribution-gra/bundle/3.0.6/opcp-binaries-3.0.6.tar.gz.minisig
2026-07-16 14:50   2333361766  s3://opcp-distribution-gra/bundle/3.0.6/opcp-glance-images-3.0.6.tar.gz
2026-07-16 14:50          310  s3://opcp-distribution-gra/bundle/3.0.6/opcp-glance-images-3.0.6.tar.gz.minisig
2026-07-16 14:50      2608231  s3://opcp-distribution-gra/bundle/3.0.6/opcp-helm-charts-3.0.6.tar.gz
2026-07-16 14:50          310  s3://opcp-distribution-gra/bundle/3.0.6/opcp-helm-charts-3.0.6.tar.gz.minisig
2026-07-16 15:01  16121324032  s3://opcp-distribution-gra/bundle/3.0.6/opcp-images-3.0.6.tar
2026-07-16 15:01          310  s3://opcp-distribution-gra/bundle/3.0.6/opcp-images-3.0.6.tar.minisig
2026-07-16 15:01      2451332  s3://opcp-distribution-gra/bundle/3.0.6/opcp-irobox-3.0.6.tar.gz
2026-07-16 15:01          310  s3://opcp-distribution-gra/bundle/3.0.6/opcp-irobox-3.0.6.tar.gz.minisig
2026-07-16 15:02    968468765  s3://opcp-distribution-gra/bundle/3.0.6/opcp-packages-3.0.6.tar.gz
2026-07-16 15:02          310  s3://opcp-distribution-gra/bundle/3.0.6/opcp-packages-3.0.6.tar.gz.minisig

s3cmd get s3://opcp-distribution-gra/opcp-cli/v3.1.21/opcp-cli-linux-amd64
download: 's3://opcp-distribution-gra/opcp-cli/v3.1.21/opcp-cli-linux-amd64' -> './opcp-cli-linux-amd64'  [1 of 1]
 186822902 of 186822902   100% in   11s    15.98 MB/s  done

Once you have downloaded the required files, push them to one of your OPCP controllers, under the /home/opcp-admin path. In HA mode (3 controllers), the artifacts are automatically synchronized between all the controllers, so you do not need to push the files to every controller.

3. Reading the RELEASE-NOTES

Some versions require manual actions to prepare services before the upgrade.

Read the RELEASE-NOTES carefully, as some actions may be required before the upgrade starts and others after it ends.

4. Upgrading the opcp-cli

If mentioned in the RELEASE-NOTES, upload the new opcp-cli binary and its signature to the remote managed OPCP control-plane.

Then, as root, update opcp-cli:

root@opcp-reg-prd-0-0:~ $ opcp-cli update --bin /home/opcp-admin/opcp-cli-linux-amd64 --signature /home/opcp-admin/opcp-cli-linux-amd64.minisig
✅ Command 'update' completed in 521.528004ms

root@opcp-reg-prd-0-0:~ $ opcp-cli version
opcp-cli version
Opcp-cli version: v3.1.21
Opcp-cli commit: 4c11635
Opcp-cli build time: 2026-07-13_15:15:23

Deployed artifacts:
  images          configured: 3.0.6        deployed: 3.0.6        build-time: 2026-07-13T09:28:08Z      deployed-at: 2026-07-16T12:47:52Z
  packages        configured: 3.0.6        deployed: 3.0.6        build-time: 2026-07-13T09:27:28Z      deployed-at: 2026-07-16T12:48:00Z
  binaries        configured: 3.0.6        deployed: 3.0.6        build-time: 2026-07-13T09:31:36Z      deployed-at: 2026-07-16T12:50:05Z
  helm-charts     configured: 3.0.6        deployed: 3.0.6        build-time: 2026-07-13T09:28:07Z      deployed-at: 2026-07-16T12:50:06Z
  glance-images   configured: 3.0.6        deployed: 3.0.6        build-time: 2026-07-13T09:27:36Z      deployed-at: 2026-07-16T12:55:16Z
  irobox          configured: 3.0.6        deployed: 3.0.6        build-time: 2026-07-13T09:26:28Z      deployed-at: 2026-08-26T08:47:18Z

Remove the uploaded files once the update is confirmed:

root@opcp-reg-prd-0-0:~ $ rm /home/ovh/opcp-cli-linux-amd64*

5. Upgrading the OPCP artifacts

As root on the remote managed OPCP control-plane, open the configuration file and update the versions:

opcp-cli config edit

Update the global version. For example:

opcp-version:
  global: 3.0.6

Then apply the new release:

opcp-cli deploy

The following steps can take up to 30 minutes, depending on what is updated in the release:

  • extracting Glance images,
  • starting the deployment on the remote nodes,
  • executing the deployment of the control plane, which can take up to 10 minutes.

You can follow the detailed logs in /var/log/opcp-cli/opcp-cli.log. To do this, open a new terminal window and run:

tail -F /var/log/opcp-cli/opcp-cli.log | jq .msg

6. Performing the final checks

Checking if some services need a restart

Use needrestart to check whether some services need to be restarted:

needrestart -r l
Warning

Restarting services can have an impact on the platform. Only proceed if it is required.

If needed, restart the required services:

needrestart -ra
needrestart

Waiting for reconciliation

Wait for the Flux reconciliation to complete and the Terraform runs to finish:

flux get all -A --status-selector ready=false
flux get all -A --status-selector ready=unknown
tfctl get

If needed, apply a fix. Sometimes you need to relaunch some pods, so be patient.

Post-deployment checks

On the OPCP control-plane, run opcp-diag again:

opcp-diag run -p

If any error is reported, check whether it needs to be fixed.

You can also try to access the UI to confirm that it works properly.

Go further

If you need training or technical assistance implementing our solutions, contact your sales representative or visit our Professional Services page to request a quote and have your project analyzed by our experts.

Join our community of users.

1: S3 is a trademark of Amazon Technologies, Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies, Inc.

Was this page helpful?