Upgrade the PX Plugin

This guide describes upgrading the Portworx docker volume plugin.

The commands in this guide upgrade the plugin to version 1.2.5. You will need to run the below sequence on all Portworx nodes in the cluster.

  1. List the plugin ID
    $ docker plugin ls
    ID                  NAME                DESCRIPTION                         ENABLED
    501536d2e2ed        portworx/px:latest   Portworx Data Services for Docker   true
  2. Disable the Portworx plugin
    $ docker plugin disable 501536d2e2ed
  3. Upgrade the Portworx plugin

Use the following command to upgrade a plugin to a specific image.

$ docker plugin upgrade 501536d2e2ed portworx/px:1.2.10
Upgrading plugin portworx/px:latest from portworx/px:latest to portworx/px:1.2.10
Plugin images do not match, are you sure? y
Plugin "portworx/px:1.2.5" is requesting the following privileges:
 - network: [host]
 - mount: [/dev]
 - mount: [/etc/pwx]
 - mount: [/var/lib/osd]
 - mount: [/opt/pwx/bin]
 - mount: [/var/run/docker.sock]
 - mount: [/lib/modules]
 - mount: [/usr/src]
 - mount: [/var/cores]
 - allow-all-devices: [true]
Do you grant the above permissions? [y/N] y
1.2.10: Pulling from portworx/px
1d7345f9dd3b: Download complete
Digest: sha256:65da96a98d2f3fba872ef0b90191c451b1bf6c5e1bb51e16e4012bcff6f8e51a
Status: Downloaded newer image for portworx/px:1.2.10
Upgraded plugin portworx/px:latest to portworx/px:1.2.10

If you see an error message like device or resource busy, you will see to restart the docker service and then re-attempt the above upgrade.

  1. Enable the Portworx plugin
    $  docker plugin enable 501536d2e2ed
  2. Check version and status
    $ /opt/pwx/bin/pxctl -v
    pxctl version 1.2.5-7b6ab38
    $ /opt/pwx/bin/pxctl status

Upgrade the PX container

If you installed PX as a standalone container, you can upgrade PX using the PX CLI command on each host as follows:

# pxctl upgrade

To specify a tag, you can run:

# pxctl upgrade --tag 1.2.9