Upgrading to Pacemaker 1.1.15 or later from an earlier version
Pacemaker 1.1.15 included the first-ever increase in the LRMD protocol version, along with a change in the interpretation of that version. This complicates rolling upgrades in clusters with Pacemaker Remote nodes. (The usual upgrade process may be followed in all other cases.)
Cluster nodes running an older version of Pacemaker will not be able to talk to any Pacemaker Remote nodes running 1.1.15 or later, and vice versa. If a rolling upgrade is desired, it should be performed like this:
- Upgrade about half of the full cluster nodes:
- Add -INFINITY location constraints for each remote node or guest node resource against the cluster node being upgraded. This ensures that no Pacemaker Remote nodes connect to the cluster node after it is upgraded.
- Stop and upgrade the cluster node, and return it to the cluster.
- Upgrade all the Pacemaker Remote nodes:
- Stop the remote node or guest node by setting its resource's target-role to Stopped.
- Remove all the constraints added in step 1 for the remote node or guest node, and add -INFINITY constraints for the remote node or guest node against all the other full cluster nodes. This ensures that the upgraded Pacemaker Remote node will not connect to an older cluster node.
- Upgrade the remote node or guest, and return it to the cluster by setting its resource's target-role to Started. For guest nodes, this involves bringing the virtual machine up outside cluster control, upgrading it, then stopping the virtual machine.
- Upgrade the remaining full cluster nodes:
- Upgrade the host as normal.
- Remove all constraints added for the node in step 2.
If the above process is not followed, the cluster will see failures of the remote node connection resources and guest node VM resources, potentially involving very lengthy recovery times, and depending on the order of upgrades, the remote nodes and guest nodes may at some point be unable to run until more nodes have been upgraded.