Page MenuHomeClusterLabs Projects

Pacemaker 3.0 Configuration Changes
Updated 6 Days AgoPublic

Start-up environment variables

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

  • Pacemaker no longer uses the HA_cib_timeout, HA_shutdown_delay, PCMK_cib_timeout, PCMK_dh_min_bits, or PCMK_shutdown_delay variables.
  • Pacemaker now interprets the value of PCMK_panic_action case-sensitively, and invalid values will be logged as a warning.

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 (if you are running Pacemaker 2.1.8 or later, you can check the logs for deprecation warnings).
  • Deprecated schemas have been dropped. The validate-with attribute of the cib XML element may no longer be omitted or set to the deprecated values pacemaker-0.6, transitional-0.6, pacemaker-0.7, pacemaker-1.1, pacemaker-next, or any unknown value. 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. (Disabling validation by setting validate-with to none remains allowed and deprecated.)
  • Schema names are now case-sensitive. The validate-with attribute of the cib XML element must now match the schema file names by case (all lowercase). 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.
  • Support for the following deprecated (and mostly undocumented) features has been dropped. Any uses in existing configurations will be automatically and silently converted to current syntax when possible. They will not be allowed in new configurations, or in existing ones after running cibadmin --upgrade.
    • cluster options: crmd-finalization-timeout, crmd-integration-timeout, crmd-transition-delay, remove-after-stop, and the stonith-action cluster option set to poweroff
    • nodes: type set to ping
    • primitive resources: nagios or upstart class
    • master resources (use clone resource with promotable meta-attribute set to true instead)
    • bundle resources: using rkt to launch containers; masters meta-attribute
    • operation options: can-fail, can_fail, and role_after_failure
    • resource options: restart-type
    • rules: moon in date_spec elements
    • constraints: lifetime elements in any constraint
  • Error checking is stricter (most of these errors are possible only with schema validation disabled, and so will not affect the vast majority of users)
    • Invalid fencing topology levels are now disallowed by the schema (rather than waiting until they are rejected by the fencer; valid levels are 1 through 9)
    • Resource history entries with an invalid rc-code (which should be possible only with manual mis-editing or a bug) will now be ignored rather than treated as action failures
    • Location constraints with an invalid score, boolean-op, or role, colocation constraints with an invalid score, rsc-role, or with-rsc-role, and ticket constraints with an invalid rsc-role are now ignored (previously, the default value would be used).
    • An nvpair element with an invalid id-ref attribute is now ignored even if it has a name and/or value attribute as well
    • An nvpair element with a valid id-ref attribute and also name and/or value attributes now ignores the name and value attributes
    • If a cluster_property_set, instance_attributes, meta_attributes, or utilization element contains multiple top-level rules, only the first will now be interpreted
    • A node with an invalid type is now ignored (previously, they were treated as ping nodes, contributing to quorum but unable to run resources)
    • Any instance_attributes in rsc_defaults is now ignored
  • Rule syntax is more strictly interpreted
    • A date expression is now treated as not passing if it is missing an id; contains an invalid operation; contains a date_spec or duration with a missing id or an attribute with an invalid range; has an operation of in_range, gt, or lt with an invalid or missing start or end; or uses date_spec without a date_spec element
    • An attribute expression is now treated as not passing if it is missing an id; has an invalid value-source or type; or has value missing when it is required or present when it is unused
    • A resource expression is now treated as not passing if it is missing an id
    • An operation expression is now treated as not passing if it is missing an id or interval or has an invalid interval
    • A rule is now treated as not passing if it is missing an id or has an invalid boolean-op
    • An rule with a boolean-op of or with no conditions is now properly treated as passing.
    • The schema will no longer allow rule syntax where it is unused, including: 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 (the correct spelling yeardays is allowed only in a time_spec); an invalid role name in any rule
  • Changes in defaults
    • action configured as a fence device parameter is now ignored rather than treated as a default fencing action
    • The concurrent-fencing cluster option now defaults to true and is deprecated
    • The globally-unique clone option now defaults to true when clone-node-max is greater than 1
  • Location constraints may now have at most a single top-level rule (previously, they could have any number; use separate location constraints for each top-level rule instead).
  • nvpair elements must now contain a value attribute (it is no longer optional).
  • If an nvpair element has an id-ref attribute, it can no longer also have a name attribute to override the referenced element.
  • Pacemaker has always allowed custom names to be configured in cluster options and resource options, which are ignored by Pacemaker but can be used by users' own tooling. The user has to take care not to conflict with any option names that Pacemaker uses. As of Pacemaker 2.0.0, when support for certain deprecated options was dropped, the schema enforced that users could not use those names as custom names, to prevent misunderstandings. Those restrictions have now been dropped, and if those names are configured, they will be ignored as with any other custom name.
Last Author
kgaillot
Last Edited
Thu, Nov 14, 6:09 PM

Event Timeline

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