License operations using pxctl

This document explains how to manage your Portworx licenses with pxctl license. The CLI lets you add, activate, and transfer licenses. It also gives details about the installed licenses, and it shows what features are available within a given license.


Here’s how to get the list of the available subcommands:

pxctl license --help
Manage licenses

  pxctl license [flags]
  pxctl license [command]

Available Commands:
  activate    Activate license from a license server
  add         Add a license from a file
  list        List available licenses
  setls       Set license server
  transfer    Transfer license to remote PX cluster

  -h, --help   help for license

Global Flags:
      --ca string        path to root certificate for ssl usage
      --cert string      path to client certificate for ssl usage
      --color            output with color coding
      --config string    config file (default is $HOME/.pxctl.yaml)
      --context string   context name that overrides the current auth context
  -j, --json             output in json
      --key string       path to client key for ssl usage
      --raw              raw CLI output for instrumentation
      --ssl              ssl enabled for portworx

Use "pxctl license [command] --help" for more information about a command.

Now, let’s have a closer look at these commands.

List available licenses

You can use pxctl license list to list installed licenses as follows:

pxctl license list
Number of nodes maximum			1000
Number of volumes maximum		100000
Volume capacity [TB] maximum		  40
Storage aggregation			 yes
Shared volumes				 yes
Volume sets				 yes
BYOK data encryption			 yes
Resize volumes on demand		 yes
Snapshot to object store [CloudSnap]	 yes
Cluster-level migration [Kubemotion]	 yes
Bare-metal hosts			 yes
Virtual machine hosts			 yes
Product SKU				Trial		expires in 6 days, 12:13

LICENSE EXPIRES: 2019-04-07 23:59:59 +0000 UTC
For information on purchase, upgrades and support, see

As you can see, the command gives details on the features allowed under the current licenses and it also lists the SKU.

Activate a license

The easiest way to activate a license is to get an activation id from Portworx, Inc.. Next, run the following command on your Portworx node:

pxctl license activate <activation-id>

NOTE: You can also execute the pxctl license activate command inside a Pod as follows:

PX_POD=$(kubectl get pods -l name=portworx -n kube-system -o jsonpath='{.items[0]}')
kubectl exec $PX_POD -n kube-system -- /opt/pwx/bin/pxctl license activate <activation-id>

However, there are cases where the servers are configured without access to the Internet. Such customers should request an offline-activation license file, and install it like this:

pxctl license add <license file>

Connect to a license server

You can connect a Portworx cluster to a license server using the pxctl license setls command. To see the list of available flags, enter the -h flag:

pxctl license setls --help 
Set license server

  pxctl license setls [flags]

  pxctl license setls http://hostname:7070/fne/bin/capability

      --add feat1[,feat2,...]   add license features (feat1[,feat2,...] format)
      --ca-path files           extra root CA files (/usr/share/ca-certificates/extra/root-corp.crt[,/path2/lvl2-corp.crt] format)
  -h, --help                    help for setls
      --import-unknown-ca       auto-import self-signed root CA certificate
  -i, --interval .M.w.d.h.m.s   license borrow interval (.M.w.d.h.m.s [e.g. 1w15m] or number)

Connect your Portworx cluster to a license server by entering the pxctl license setls command with the following:

  • Optional: The --add option with a comma delimited list of additional feature licenses you want to add. This will add any of the specified feature licenses, as long as the license server has enough available feature license seats.
  • The license server endpoint.
pxctl license setls --add <feature-license>,<feature-license> <license-server-endpoint>

Last edited: Monday, Nov 16, 2020