Page MenuHomeClusterLabs Projects

Pacemaker 3.0 Configuration Changes
Updated 2 Days AgoPublic

This describes proposed configuration changes for a possible Pacemaker 3.0.0 release. Discussion should be directed to the users mailing list.

These changes are only proposed and may not make it into the final release.

The build process


In general, Pacemaker 3 will support dependency versions that are available in supported releases of major Linux distributions (usually but not always including long-term support releases). The following are specifically targeted for support:

  • Debian 10 "buster" and later
  • RHEL 8.0 and later
  • SUSE 15.0 and later
  • Ubuntu 18 "bionic" and later

The only changes are these new minimum dependency versions:

  • libdbus 1.5.12
  • libgnutls 2.12.0 (previously optional, this is now a required build dependency)
  • libqb 1.0.1
  • libxml2 2.9.2
  • pkg-config 0.28 (or pkgconf)
  • Python 3.6

configure script

The following configure script options are no longer supported:

  • --enable-legacy-links (deprecated in Pacemaker 2.1.0)
  • --enable-compat-2.0 (introduced in 2.1.0 explicitly for the 2.1 series only)
  • --enable-upstart (deprecated in Pacemaker 2.1.0)
  • --with-gnutls (GnuTLS is now required and cannot be disabled)
  • --with-nagios (deprecated in Pacemaker 2.1.6)


  • The RPMDEST Makefile variable may no longer be set to toplevel. The default of subtree, and explicit paths, are still supported.
  • The spec file now longer supports the --with-doc and --without-doc options. Documentation will always be built.
  • Pacemaker's logrotate script is now part of the pacemaker package instead of the pacemaker-cli package.
  • The --with stonithd/--without stonithd spec file option, which controls support for Linux-HA fencing agents, has been renamed to --with linuxha/--without linuxha

Resource agents

  • The obsolete and deprecated ocf:pacemaker:o2cb resource agent (which manages the no-longer-used ocf_controld.pcmk daemon for OCFS2 file systems) has been dropped.

Start-up environment variables

These are typically set under /etc/sysconfig or /etc/default.

Pacemaker will no longer use the HA_cib_timeout, HA_shutdown_delay, PCMK_cib_timeout, or PCMK_shutdown_delay variables.

Configuration Information Base (CIB) XML changes

XML syntax in the CIB must now be correctly formed. Previously, some simple XML syntax errors would be ignored. Upgrades will not succeed if the XML syntax is invalid, so ensure it is valid before upgrading any node in the cluster.

Schema validation is now required for the CIB. The validate-with attribute of the cib XML element must be specified, and may no longer be set to the deprecated values none, pacemaker-0.6, transitional-0.6, pacemaker-0.7, pacemaker-1.1, or pacemaker-next. Upgrades will not succeed unless the CIB has a supported value for validate-with before the upgrade, so ensure one is set before upgrading any node in the cluster.

The following will be automatically and silently dropped or converted to current syntax when used in existing configurations, but disallowed in new ones (as well as existing ones after running cibadmin --upgrade).

  • The schema will have stricter error checking.
    • Clones using non-OCF resource agents and the globally-unique meta-attribute set to true will be considered an error and ignored (currently, a warning is logged but the resource is allowed)
    • Invalid topology levels will be disallowed in the CIB rather than wait until they are rejected by the fencer (valid levels are 1 through 9)
    • The value of an acl_target element's id attribute must be of the XML ID type (noncompliant names will be given an auto-generated ID and moved to the name attribute)
    • Empty groups will be ignored (currently they can have some effect in constraints)
  • Support for these deprecated (and mostly undocumented) features will be dropped.
    • nagios class resources
    • upstart class resources
    • bundles using rkt to launch containers
    • master resources (they will be converted to clone elements with the promotable meta-attribute set to true)
    • remove-after-stop cluster option
    • moon in date_spec elements in rules
    • Nodes with type set to ping
    • ordering attribute of resource sets in colocation constraints
    • can-fail (or can_fail) resource meta-attribute (if possible, it will converted to on-fail operation meta-attributes set to ignore)
    • restart-type resource meta-attribute
    • role-after-failure resource meta-attribute
    • score in an ordering constraint (if possible, a value of 0 will be transformed to a kind of optional)
    • stonith-action cluster option set to poweroff (it will be transformed to off)
    • collocated and ordered group options (if possible, a value of false will be transformed to resource sets in a colocation or ordering constraint instead)
    • lifetime elements inside a constraint (any rules they contain will be left inside the constraint directly)
  • Rules will now be more strictly interpreted, with the following options causing an error rather than being silently ignored where they aren't relevant.
    • op_expression in a rule anywhere other than op_defaults
    • rsc_expression in a rule anywhere other than rsc_defaults or op_defaults
    • score or score-attribute in a rule anywhere other than a location constraint
    • value-source in a rule expression anywhere other than a location constraint
    • monthdays, weekdays, weekyears, or moon in a duration
    • yearsdays anywhere (yeardays is allowed only in a time_spec)
    • An invalid role name in any rule
Last Author
Last Edited
Mon, Jun 10, 1:33 PM

Event Timeline

kgaillot edited the content of this document. (Show Details)
kgaillot edited the content of this document. (Show Details)