Chapter 3. Clustering

Unfencing is done in resource cleanup only if relevant parameters changed

Previously, in a cluster that included a fence device that supports unfencing, such as fence_scsi or fence_mpath, a general resource cleanup or a cleanup of any stonith resource would always result in unfencing, including a restart of all resources. Now, unfencing is only done if the parameters to the device that supports unfencing changed. (BZ#1427643)

pacemaker rebased to version 1.1.18

The pacemaker packages have been upgraded to upstream version 1.1.18, which includes the following behavioral difference:
Pacemaker now probes virtual machines launched with a Pacemaker Remote connection ("guest nodes"), just as it probes any node that joins the cluster. This allows Pacemaker to catch services that were mistakenly started at boot or by hand, and to refresh its knowledge after a resource clean-up. As such, it is important in order to be able to avoid having a service running in conflicting locations. However, these probes must be executed and the results processed before any resources can be started on the guest node. This can result in a noticeable increase in start-up time. Also, if users were previously relying on the probes not being done, the probes may fail (for example, if the relevant software isn't installed on the guest).
These effects can be avoided in cases where it is not possible for certain resources to run on the guest nodes. Usually there will already be -INFINITY location constraints enforcing that. Users can add resource-discovery=never to the location constraint options to tell pacemaker not to probe that resource on the guest nodes. (This should not be done for any resource that can run on the guest.) (BZ#1513199)

clufter rebased to version 0.77.1

The clufter packages have been upgraded to upstream version 0.77.1, which provides a number of bug fixes, new features, and user experience enhancements over the previous version. Among the notable updates are the following:
  • When producing pcs commands, the clufter tool now supports a preferred ability to generate pcs commands that will update only the modifications made to a configuration by means of a differential update rather than a pushing a wholesale update of the entire configuration. Likewise when applicable, the clufter tool now supports instructing the pcs tool to configure user permissions (ACLs). For this to work across the instances of various major versions of the document schemas, clufter gained the notion of internal on-demand format upgrades, mirroring the internal mechanics of pacemaker. Similarly, clufter is now capable of configuring the bundle feature.
  • In any script-like output sequence such as that produced with the ccs2pcscmd and pcs2pcscmd families of clufter commands, the intended shell interpreter is now emitted in a valid form, so that the respective commented line can be honored by the operating system.
  • When using clufter to translate an existing configuration with the pcs2pcscmd-needle command in the case where the corosync.conf equivalent omits the cluster_name option (which is not the case with standard pcs-initiated configurations), the contained pcs cluster setup invocation no longer causes cluster misconfiguration with the name of the first given node interpreted as the required cluster name specification. The same invocation will now include the --encryption 0|1 switch when available, in order to reflect the original configuration accurately.
  • All clufter commands having a sequence of pcs commands at the output, meaning they are passed through a post-processing to improve readability (unless disabled with --noop=cmd-wrap), no longer have the issue that some characters with special meaning in shell language were not being quoted, which changed their interpretation.
  • The clufter tool now also covers some additional recently added means of configuration as facilitated with pcs (heuristics for a quorum device, meta attributes for top-level bundle resource units) when producing the sequence of configuring pcs commands to reflect existing configurations when applicable. On the corosync configuration interfacing side, the format parser no longer misinterprets commented-out lines with spaces or tabulators in front of the respective delimiter, and support for some mechanically introduced options was reconsidered under closer examination of what pcs actually handles.
For information on the capabilities of clufter, see the clufter(1) man page or the output of the clufter -h command. For examples of clufter usage, see the following Red Hat Knowledgebase article: https://access.redhat.com/articles/2810031. (BZ#1526494, BZ#1381531, BZ#1517834, BZ#1552666)