Skip to main contentIBM DataPower Operator Documentation

Workload Rollbacks

The DataPowerService uses a StatefulSet to manage the DataPower Pods it deploys. We recommend versioning your Custom Resource YAML to enable rolling back changes you’ve deployed.

Rolling Updates

The default update strategy for the StatefulSet is RollingUpdate. This ensures ordered and graceful deployment and scaling of the workload when changes are made. We recommend reading through the Kubernetes documentation on Rolling Updates to understand this concept in more detail.

Versioning your Custom Resource

We recommend as a best practice that you should version control your DataPowerService Custom Resource YAMLs. Using a version control system such as git, you can easily revert changes you make to your configurations.

Rolling back a change

To roll back a given change, the process is as follows:

  1. Revert to the desired configuration using version control system, such as git.

  2. Apply change using oc apply or kubectl apply with desired YAML.

Example

# apply change
oc apply -f my-config.yaml
# check status, find that deployment is unstable
oc describe dp/my-resource
# decide to roll back the change, revert yaml locally using version control
# this can be accomplished a number a ways, some examples are:
git revert <last-commit>

Forced Rollback

If a change is applied to the DataPowerService Custom Resource that puts the StatefulSet into a failed state, in which a rolling update does not complete successfully, you may need to perform a Forced Rollback to recover.