Skip to content

Pacemaker 2.0.0 - Final

Compare
Choose a tag to compare
@kgaillot kgaillot released this 06 Jul 22:55
· 2863 commits to 2.0 since this release

Known regressions introduced in this release

  • When run from a Pacemaker Remote node, crm_node might not get the local node name correctly (fixed in 2.0.4)
  • Clone notifications can be incorrectly scheduled for a stopped Pacemaker Remote node and block all further cluster actions (fixed in 2.0.1)
  • Inccorrect behavior for completing interrupted live migrations (fixed in 2.0.1)
  • crm_resource --cleanup could fail to clean up all failures in one run (fixed in 2.0.1)

Deprecated features removed since Pacemaker-1.1.18

  • All of these have newer forms, and the cluster will automatically convert most older syntax usage in saved configurations to newer syntax as needed
  • Drop support for heartbeat and corosync 1 (whether using CMAN or plugin)
  • Drop support for rolling upgrades from Pacemaker versions older than 1.1.11
  • Drop support for built-in SMTP and SNMP in crm_mon
  • Drop support for legacy option aliases including default-action-timeout, default-resource-stickiness, resource-failure-stickiness,
    default-resource-failure-stickiness, is-managed-default, and all names using underbar instead of dash
  • Drop support for "requires" operation meta-attribute
  • Drop support for the pcmk_*_cmd, pcmk_arg_map, and pcmk_poweroff_action fence resource parameters
  • Drop support for deprecated command-line options to crmadmin, crm_attribute, crm_resource, crm_verify, crm_mon, and stonith_admin
  • Drop support for operation meta-attributes in instance_attributes
  • Drop support for PCMK_legacy and LRMD_MAX_CHILDREN environment variables
  • Drop support for undocumented resource isolation feature
  • Drop support for processing very old saved CIB files (including pre-0.6.0 start failure entries, pre-0.6.5 operation history entries,
    pre-0.7 transition keys, pre-1.1.4 migration history entries, pre-1.0 XML configuration schemas, pre-1.1.6 ticket state entries, and
    pre-1.1.7 failed recurring operation history entries)

Features added since Pacemaker-1.1.18

  • The pacemaker daemons have been renamed to make logs more intuitive and easier to search
  • The default location of the Pacemaker detail log is now /var/log/pacemaker/pacemaker.log (instead of being directly in /var/log), and Pacemaker will no longer use Corosync's logging preferences; configure script options are available to change default log locations
  • The detail log's message format has been improved
  • The master XML tag is deprecated in favor of using a standard clone tag with a new "promotable" meta-attribute set to true, and the "master-max" and "master-node-max" master meta-attributes are deprecated in favor of new "promoted-max" and "promoted-node-max" clone meta-attributes; documentation now refers to these as promotable clones rather than master/slave, stateful, or multistate clones, and refers to promotion scores instead of master scores
  • Administration-related documentation has been moved from the "Pacemaker Explained" document to a new "Pacemaker Administration" document
  • record-pending now defaults to TRUE (pending actions are shown in status)
  • All Python code in Pacemaker now supports both Python 2.7 and Python 3
  • The command-line tools now return consistent, well-defined exit codes; crm_error has an --exit option to list these
  • Pacemaker's systemd unit files now remove systemd's spawned process limit
  • mount, path, and timer systemd unit types are now supported as resources
  • A negative stonith-watchdog-timeout now tells the cluster to automatically calculate the value based on SBD_WATCHDOG_TIMEOUT (which was the behavior of 0 before 1.1.15; 0 retains its post-1.1.15 behavior of disabling use of the watchdog as a fencing device)
  • The undocumented restart-type and role_after_failure resource meta-attributes are now deprecated
  • Regression testing code has been consolidated and overhauled (the most obvious change is new command names)
  • build: create /etc/pacemaker directory when installing
  • build: improved portability to BSD-based platforms
  • tools: crm_resource --cleanup now cleans only failed operation history; crm_resource --reprobe retains the previous behavior of cleaning all
    operation history
  • tools: add stonith_admin --validate option to check device configuration
  • tools: crm_node is now in the pacemaker-cli package (instead of pacemaker)
  • alerts: add epoch and usec alert variables for improved SNMP alerts
  • controller: deprecate "crmd-*" cluster options in favor of new names
  • scheduler: deprecate stonith-action value "poweroff" (use "off" instead)
  • scheduler: deprecate require-all in rsc_order
  • libcrmcluster: prefer corosync name over ring0_addr
  • xml: allow local "kind" in resource_set within rsc_order

Changes since Pacemaker-1.1.18

  • Restore systemd unit dependency on DBus (regression in 1.1.17)
  • CIB: handle mixed-case node names when modifying attributes (regression in 1.1.17)
  • scheduler: avoid crash when logging ignored failure timeout (regression in 1.1.17)
  • attrd: ensure node name is broadcast at start-up (regression in 1.1.18)
  • scheduler: unfence before probing or starting fence devices (regression in 1.1.18)
  • tools: treat INFINITY correctly in crm_failcount (regression in 1.1.17)
  • tools: show master scores with crm_simulate -sL (regression in 1.1.18)
  • tools: crm_master did not work without explicit --lifetime (regression in 1.1.18)
  • Numerous changes to public C API of libraries
  • Choose current node correctly when a resource is multiply active
  • controller,executor,tools: avoid minor memory leaks
  • CIB: don't use empty CIB if real CIB has bad permissions
  • controller: avoid double free after ACL rejection of resource deletion
  • controller: don't record pending clone notifications in CIB
  • controller: always write faked failures to CIB whenever possible
  • controller: quorum gain without a node join should cause new transition
  • executor: handle systemd actions correctly when used with "service:"
  • executor: find absolute LSB paths when used with "service:"
  • scheduler: handle "requires" of "quorum" or "nothing" properly
  • scheduler: ensure orphaned recurring monitors have interval set
  • scheduler: handle pending migrations correctly when record-pending is true
  • scheduler: don't time out failures that cause fencing until fencing completes
  • scheduler: handle globally-unique bundle children correctly
  • scheduler: use correct default timeout for monitors
  • scheduler: "symmetrical" defaults to "false" for serialize orders
  • scheduler: avoid potential use-of-NULL when unpacking ordering constraint
  • scheduler: properly cancel recurring monitors
  • scheduler: do not schedule notifications for unrunnable actions
  • scheduler: ensure stops occur after stopped remote connections come back up
  • scheduler: consider only allowed nodes when ordering start after all recovery
  • scheduler: avoid graph loop from ordering bundle child stops/demotes after container fencing
  • scheduler: remote connection resources are safe to require only quorum
  • scheduler: correctly observe colocation with bundles in Master role
  • scheduler: restart resource after failed demote when appropriate
  • Pacemaker Remote: always use most recent remote proxy
  • tools: crm_node now gets correct node name and ID on Pacemaker Remote nodes
  • tools: correctly check crm_resource --move for master role
  • tools: cibsecret --help/--version doesn't require cluster to be running
  • tools: ignore attribute placement when crm_diff compares in cib mode
  • tools: prevent notify actions from causing crm_resource --wait to hang
  • resources: drop broken configdir parameter from ocf:pacemaker:controld

For further details, see: