Upgrade PX-Backup


To upgrade from the PX-Backup version 2.x.x to 2.2.3, you can use just the px-central chart.

Upgrade from 2.x.x to 2.2.3

To upgrade from PX-Backup version 2.x.x to 2.2.3:

  1. Update your Helm repository:

    helm repo update
  2. Retrieve all custom values you used during the PX-Backup installation. Enter the following helm get values command to generate a YAML file, replacing the <namespace> and <release-name> parameters to match your environment:

    helm get values --namespace <namespace> <release-name> -o yaml > values.yaml
  3. Delete the post install hook job:

    kubectl delete job pxcentral-post-install-hook --namespace <namespace>
  4. Run the helm upgrade command to upgrade PX-Backup, using the -f flag to pass the custom values.yaml file you generated above and replacing <release-name>, <repo-name>, and <namespace> parameters to match your environment:

    helm upgrade <release-name> <repo-name>/px-central --namespace <namespace> -f values.yaml

    Note: If the PX-Backup version is 2.0.0, then set the administrator password in the above helm upgrade command:

    helm upgrade <release-name> <repo-name>/px-central --namespace <namespace> --set oidc.centralOIDC.defaultPassword=<current-admin-password> -f values.yaml

Consider you installed or upgraded an earlier PX-Backup version using the values.yaml, which you either:

In this case, you must specify the changes you made in the earlier version values.yaml in the new values.yaml that you use for installing or upgrading to PX-Backup 2.2.3.

For example: In the existing values.yaml, if the persistentStorage.storageClassName parameter is set with the value portworx-sc, then you must the set the same portworx-sc value in the new values.yaml.

Access permissions in PX-Backup 2.x.x

The permissions available to administrators from the PX-Backup 2.x.x versions to access resources are:

  • Can view and backup clusters that you added.
  • Can view all user created backups in the Backup page.
  • Can view all PX-Backup Security objects such as cloud credentials, backup locations, schedule policies, and backup rules of all users.
  • Cannot view all non-PX-Backup Security objects.

The access permissions available to a user in case of backup sync are:

  • If a user is the owner of a bucket, then the Backups page lists backups of all users who used that bucket.
  • If a user is a collaborator, then the user can view own backups only.

Upgrade from 1.2.x to 2.2.3

You cannot directly upgrade from PX-Backup version 1.2.x to 2.2.3. To upgrade PX-Backup from versions 1.2.x to 2.2.3, you must:

  1. Upgrade from one of the PX-Backup versions 1.2.x to 2.1.2
  2. Then upgrade from version 2.1.2 to 2.2.3

To upgrade from one of the PX-Backup 1.2.x version to 2.1.2:

  1. Download the migration.sh file:

    curl https://raw.githubusercontent.com/portworx/helm/master/single_chart_migration/migration.sh -o migration.sh
  2. Change the migration.sh file permissions to make it executable:

    chmod +x migration.sh
  3. Update the Helm repository:

    helm repo update
  4. Search for the Portworx repository:

    helm search repo portworx
  5. Get the namespace where the PX-Backup components are installed:

    helm ls -A | grep "px-backup-[0-9].[0-9].[0-9]" | awk '{print $2}'
  6. Run the migration.sh file to upgrade to PX-Backup 2.1.2:

    ./migration.sh --namespace <namespace> --helmrepo <helm repo name> --admin-password <current-admin-user-password> --upgrade-version 2.1.2

After upgrading from PX-Backup 1.2.x version to 2.1.2, upgrade to version 2.2.3 by following the steps in the Upgrade from 2.x.x to 2.2.3 section.

If you are in air-gapped environment, then follow the steps below to upgrade PX-Backup from the prior versions to 2.x.x:

  1. Clone the Portworx helm repository.

    git clone https://github.com/portworx/helm.git
  2. Make the migration.sh an executable file.

    chmod +x /single_chart_migration/migration.sh
  3. Get the namespace where the PX-Backup components are installed.

    helm ls -A | grep "px-backup-[0-9].[0-9].[0-9]" | awk '{print $2}'
  4. Modify the px-backup/values.yaml file matching your internal registry, repository, and image pull secret parameters. Pass the modified values.yaml file with the --helm-values-file option.

  5. Run the migration.sh file to upgrade to PX-Backup 2.x.x.

    ./migration.sh --namespace <namespace> --helmrepo <current-directory/charts> --admin-password <current-admin-user- password> --air-gapped --helm-values-file <values.yaml>

    Note: PX-Backup supports object lock from version 2.2.0. For more information, refer to S3 Object Lock in PX-Backup. You need the permissions listed below to check if the bucket configured in the backup location supports object lock. If you are upgrading to PX-Backup 2.2.0 from any lower version, ensure that the following object lock related permissions are enabled in the AWS console:

    • s3:GetBucketObjectLockConfiguration
    • s3:GetObjectLegalHold
    • s3:GetObjectRetention

Last edited: Monday, Jan 30, 2023