Stateful set support

IBM® Planning Analytics Workspace Distributed 2.1.8 deploys storage services as stateful sets.

Stateful sets are a more resilient storage solution, and provide the following advantages:
Consistent pod naming
Each storage pod is assigned the same ordinal based identifier, clearly indicating the order in which the storage pods were started.
Consistent rolling updates
Rolling updates are always applied in the order that the pods were started, allowing for a predictable storage pod update order.

Enabling stateful set support in IBM Planning Analytics Workspace Distributed

Stateful set support is not configured by default.

For new installs, it is recommended that stateful set support is enabled. To configure IBM Planning Analytics Workspace Distributed to employ stateful sets, set the following environment variable in paw.env:

export PA_KUBE_STORAGE_STATEFULSETS=true.

To employ stateful sets on existing deployments, a backup and restore must be performed as part of the IBM Planning Analytics Workspace Distributed upgrade. This is because stateful set versions of storage services use different persistent volume claims.

Before an upgrade begins, you are shown the following prompt:

*UPGRADE NOTICE*
You are about to upgrade from a Planning Analytics Workspace
release prior to the introduction of stateful set support and
will require a backup of your data to complete the upgrade
process. If you have not taken a backup, please STOP here and do
so.
Do you want to continue with this upgrade? (default 'n'):

When the upgrade is complete and the backup is created, you are prompted to restore IBM Planning Analytics Workspace Distributed from the backup:

To complete this upgrade, you will need to restore the Planning
Analytics Workspace backup of the previous version.

Supported storage types

IBM Planning Analytics Workspace Distributed supports the following storage types:

Table 1. Storage types supported by IBM Planning Analytics Workspace Distributed
Storage type Description
pod The persistent volume claim associated to each storage pod maps to a dedicated persistent volume.
shared The persistent volume claim associated to each storage pod maps to a single persistent volume.
node The persistent volume claim associated to each storage pod maps to one of three persistent volumes (one of each of three designated storage nodes). The persistent volume claim associated to each storage pod maps to a single persistent volume.

The stateful set version of the IBM Planning Analytics Workspace Distributed storage services do not support the node storage type. If configured, the storage type is changed to pod during the upgrade, and the storage size of each persistent volume claim is reduced to 1/5th of the size previously associated to the node storage. This ensures that the total physical storage requirements do not change within the cluster.

For example, paw.env contains the following entries before an upgrade:

export PA_KUBE_STORAGE_TYPE=node
export PA_KUBE_STORAGE_SIZE=10Gi

During an upgrade, the installation scripts indicate that the type and size are going to be changed:

Note: stateful sets do not support node storage type.
Reconfiguring storage type to pod.
Reducing storage size per pod to 2Gi. Press enter to accept this
new size, otherwise specify a new value:

After the upgrade, paw.env contains the following entries:

export PA_KUBE_STORAGE_TYPE=pod
export PA_KUBE_STORAGE_SIZE=2Gi