Upgrade Portworx Backup


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

Upgrade from 2.x.x to 2.3.2

To upgrade from Portworx Backup version 2.x.x to 2.3.2:

  1. Update your Helm repository:

    helm repo update
  2. Retrieve all custom values you used during the Portworx 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 Portworx 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 Portworx 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 Portworx 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 Portworx Backup 2.3.2.

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.

Upgrade from 1.2.x to 2.3.2

You cannot directly upgrade from Portworx Backup version 1.2.x to 2.3.2. To upgrade Portworx Backup from versions 1.2.x to 2.3.2, you must:

  1. Upgrade from one of the Portworx Backup versions 1.2.x to 2.1.2

  2. Then upgrade from version 2.1.2 to 2.3.2

To upgrade from one of the Portworx 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 Portworx 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 Portworx 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 Portworx Backup 1.2.x version to 2.1.2, upgrade to version 2.3.2 by following the steps in the Upgrade from 2.1.2 to 2.3.2 section.

Access permissions in Portworx Backup 2.x.x

Users with admin role can access the following resources in the Portworx Backup user interface:

  • Can view and backup clusters that you added.
  • Can view all user created backups in the Backup page.
  • Can view all Portworx Backup Security objects such as cloud credentials, backup locations, schedule policies, and backup rules of all users.
  • Cannot view all non-Portworx 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.

Air-gapped upgrade

If you are in air-gapped environment, then follow the steps below to upgrade Portworx Backup from the prior versions to 2.3.2:

  1. To pull the Docker images listed in Air-gapped install and push them to an internal registry:

    a. Download the pxcentral-ag-install-backup.sh air-gapped bootstrap Portworx Backup install script:

    curl -o pxcentral-ag-install-backup.sh -L     
    "https://install.portworx.com/pxcentral-air-gapped?px-backup=true"

    You can also download the install script for a specific release by specifying a version query.

    For example:

    curl -o pxcentral-ag-install-backup.sh -L "https://install.portworx.com/pxcentral-air-gapped?version=2.3.2&px-backup=true"

    b. Provide execute permission for the install script:

    chmod +x pxcentral-ag-install-backup.sh

    c. Pull the container images using the pxcentral-ag-install-backup.sh script:

    ./pxcentral-ag-install-backup.sh pull

    d. Push the images to a local registry server, accessible by the air-gapped nodes. Replace with your registry location:

    ./pxcentral-ag-install-backup.sh push <repo>
  2. To generate the customized values.yaml for px-backup installation spec (Helm command):

    a. Login to the Central site, in the Product Catalog, choose px-backup and choose On-premises and click Continue.

    b. In the Spec Details tab, provide the required values and click Use custom registry to specify the values for registry, repository, image pull secret and click Next.

    NOTE: Create a secret only if image pulling from an internal repository requires credentials.

    c. In the Complete tab, navigate to the Click here link under Step 2 and download the values-px-central.yaml.

  3. Retrieve all custom values you used during the Portworx Backup installation. Enter the following helm get values command to generate a YAML file, replacing the and parameters to match your environment:

      helm get values --namespace <namespace> <release-name> -o yaml> prev-values.yaml
  4. Modify the values-px-central.yaml downloaded from central SpecGen in Step 2c with the changed values from prev-values.yaml.

    For example: Replace storage class value in values-px-central.yaml with that of prev-values.yaml.

  5. Delete the post install hook job:

    kubectl delete job pxcentral-post-install-hook --namespace <namespace>
  6. From the machine where you run the helm3 command:

    a. Download the latest px-central package with the following command.

    curl -o  https://raw.githubusercontent.com/portworx/helm/master/stable/px-central-2.3.2.tgz

    b. Modify the Helm command generated from Step 2c to provide the helm package, instead of providing the repository.

    For example:

      helm upgrade px-central px-central-2.3.2.tgz --namespace <name of namespace> --create-namespace --version 2.3.2 -f values-px-central.yaml

    Note: Portworx Backup supports object lock from version 2.2.0. For more information, refer to S3 Object Lock in Portworx 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 Portworx 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: Tuesday, Dec 20, 2022