Page MenuHomeClusterLabs Projects

Pacemaker 3.0 Configuration Changes
Updated 31 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

Dependencies

The intent would be to support dependency versions that are available in supported releases of major Linux distributions (ideally but not always including long-term support), specifically including:

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

The only expected changes would be these new minimum dependency versions:

  • automake 1.14
  • gettext 0.19.6
  • libdbus 1.5.12
  • libqb 1.0.1
  • libxml2 2.9.2
  • pkg-config 0.28 (or pkgconf)
  • Python 3.5

configure script

Drop support for the following options:

  • --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-nagios (deprecated in Pacemaker 2.1.6)

RPMs

  • Drop support for setting the RPMDEST Makefile variable to toplevel (the default of subtree and explicit paths will still be supported)
  • Drop support for the --with-doc and --without-doc spec file options (documentation will always be built)
  • The --with-stonithd and --without-stonithd spec file option will be renamed to something more descriptive (it enables support for Linux-HA fencing agents)

Configuration Information Base (CIB) XML changes

XML syntax will now be strictly interpreted. Previously, some simple XML syntax errors would be ignored.

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)
  • Drop support for deprecated (and mostly undocumented) features:
    • 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
    • The 0.6, 0.7, and pacemaker-next CIB schemas (used as the value of the validate-with CIB property)
    • 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
kgaillot
Last Edited
Jan 24 2024, 1:03 PM