Skip to content

Releases: ClusterLabs/pacemaker

Pacemaker 2.0.1 - Release Candidate 2

19 Dec 22:17
Compare
Choose a tag to compare
Pre-release
  • Changes since Pacemaker-2.0.1-rc1
    • libpe_status: avoid double free of stop_needed list (regression in 2.0.1-rc1)
    • tools: stonith_admin -I doesn't require an agent (regression in 2.0.1-rc1)

Pacemaker 2.0.1 - Release Candidate 1

13 Dec 04:52
0eb7991
Compare
Choose a tag to compare
Pre-release
  • Changesets: 481
    164 files changed, 7717 insertions(+), 4398 deletions(-)

  • Features added since Pacemaker-2.0.0

    • fencing: SBD may now be used in a cluster that has guest nodes or bundles
    • fencing: synchronize fencing history among all nodes
    • fencing: stonith_admin now has option to clear fence history
    • tools: crm_mon now supports showing fencing action failures and history
    • tools: crm_resource --clear supports new --expired option
    • Pacemaker Remote: option to restrict TLS Diffie-Hellman prime length
  • Changes since Pacemaker-2.0.0

    • tools: restore stonith_admin ability to confirm unseen nodes are down
      (regression since 1.1.12)
    • Pacemaker Remote: avoid unnecessary downtime when moving resource to
      Pacemaker Remote node that fails to come up (regression since 1.1.18)
    • tools: crm_resource -C could fail to clean up all failures in one run
      (regression since 2.0.0)
    • build: spec file now puts XML schemas in new pacemaker-schemas package
    • build: spec file now provides virtual pcmk-cluster-manager package
    • pacemaker-attrd: wait a short time before re-attempting failed writes
    • pacemaker-attrd: ignore attribute delays when writing after node (re-)join
    • CIB: inform originator of CIB upgrade failure
    • controller: support resource agents that require node name even for meta-data
    • controller: don't record pending clone notifications in CIB
    • controller: DC detects completion of another node's shutdown more accurately
    • controller: shut down DC if unable to update node attributes
    • controller: handle corosync peer/join notifications for new node in any order
    • executor: cancel recurring monitors if fence device registration is lost
    • fencing: check for fence device update when resource defaults change
    • fencing: fix possible pacemaker-fenced crash with stonith_admin misuse
    • fencing: limit fencing history to 500 entries
    • fencing: stonith_admin now complains if no action option is specified
    • pacemakerd: Linux kernel.sysrq is no longer modified
    • scheduler: avoid unnecessary recovery of cleaned guest nodes and bundles
    • scheduler: ensure failures that cause fencing are not expired until fencing completes
    • scheduler: start unique clone instances in numerical order
    • scheduler: convert unique clones to anonymous clones if not supported by standard
    • scheduler: associate pending tasks with correct clone instance
    • scheduler: don't send clone notifications to a stopped remote node
    • scheduler: ensure bundle clone notifications are directed to correct host
    • scheduler: avoid improper monitor rescheduling or fail count clearing for bundles
    • scheduler: honor asymmetric orderings even when restarting
    • ACLs: assume unprivileged ACL user if can't get user info
    • Pacemaker Remote: get Diffie-Hellman prime bit length from GnuTLS API
    • libcrmservice: order systemd resources relative to pacemaker_remote
    • libpe_status: add public API constructor/destructor for pe_working_set_t
    • tools: make crm_mon CIB connection errors non-fatal if previously successful
    • tools: improve crm_mon messages when generating HTML output
    • tools: crm_mon cluster connection failure is now "critical" in nagios mode
    • tools: crm_mon listing of standby nodes now shows if they still have active resources
    • tools: crm_diff now ignores attribute ordering when comparing in CIB mode
    • tools: improve crm_report detection of logs, CIB directory, running processes
    • tools: crm_verify returns reliable exit codes
    • tools: crm_simulate simulated resource history uses same name as live cluster would

Pacemaker 1.1.19 - Final

11 Jul 16:33
Compare
Choose a tag to compare

Known regressions introduced in this release

  • The controller might not properly detect node info requests from Pacemaker Remote nodes (fixed in 1.1.23)

Features added since Pacemaker-1.1.18

  • This is a maintenance release with selected changes backported from 2.0.0
  • fencing: add stonith_admin --validate option
  • pengine: deprecate stonith-action=poweroff
  • libcrmservice: support mount, path, and timer systemd unit types

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)
  • attrd: ensure node name is broadcast at start-up (regression in 1.1.18)
  • pengine: unfence before probing or starting fence devices (regression in 1.1.18)
  • tools: crm_master did not work without explicit --lifetime (regression in 1.1.18)
  • all: prefer appropriate node when multiply active
  • crmd: always write faked failures to CIB whenever possible
  • crmd: avoid double free after ACL rejection of resource delete
  • crmd: delete resource from lrmd when appropriate
  • crmd: don't record pending clone notifications in CIB
  • crmd: match only executed down events
  • lrmd: handle systemd actions correctly when used with "service:"
  • lrmd: always use most recent remote proxy
  • pengine: find active instances properly according to requires
  • pengine: fix precedence of operation meta-attributes
  • pengine: handle unique bundle children correctly
  • pengine: use correct default timeout for monitors and probes
  • pengine: avoid potential use-of-NULL in unpack_simple_rsc_order()
  • pengine: ensure stop operations occur after stopped remote connections have been brought up
  • pengine: fix swapped warning message arguments leading to segfault
  • pengine: only allowed nodes need to be considered when ordering resource startup after all recovery
  • pengine: ordering bundle child stops/demotes after container fencing causes graph loops
  • pengine: passing boolean instead of a pointer
  • pengine: remote connection resources are safe to to require only quorum
  • pengine: correctly observe colocation constraints with bundles in the Master role
  • pengine: do not perform notifications for events that can't be executed
  • pengine: ensure failures that cause fencing are not removed until after fencing completes
  • pengine: ensure orphaned recurring monitors have interval set
  • libcrmcluster: avoid use-of-NULL when searching for remote node
  • libcrmservice: find absolute paths when used with "service:"
  • tools: crm_simulate -Ls should show promotion scores
  • tools: prevent notify actions from causing crm_resource --wait to hang
  • tools: ignore attribute placement when crm_diff compares in cib mode
  • tools: cibsecret --help/--version doesn't require cluster to be running
  • tools: crm_node -n/-N/-i should work on Pacemaker Remote nodes
  • tools: treat INFINITY correctly in crm_failcount

Pacemaker 2.0.0 - Final

06 Jul 22:55
Compare
Choose a tag to compare

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:

Pacemaker 2.0.0 - Release Candidate 6

27 Jun 01:45
55f5594
Compare
Choose a tag to compare
Pre-release
  • Features added since Pacemaker-2.0.0-rc5

    • Pre-2.0.0 configurations will be transformed automatically to new syntax
    • mount, path, and timer systemd unit types are now supported as resources
    • tools: add stonith_admin --validate option to check device configuration
  • Changes since Pacemaker-2.0.0-rc5

    • 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: clean up memory of stonith history in stonith_admin
    • tools: crm_node now gets correct node name and ID on Pacemaker Remote nodes
    • tools: crm_node is now in the pacemaker-cli package

Pacemaker 1.1.19 - Release Candidate 1

21 Jun 00:27
29ac12a
Compare
Choose a tag to compare
Pre-release
  • Features added since Pacemaker-1.1.18

    • This is a maintenance release with selected changes backported from 2.0.0
    • fencing: add stonith_admin --validate option
    • pengine: deprecate stonith-action=poweroff
    • libcrmservice: support mount, path, and timer systemd unit types
  • 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)
    • attrd: ensure node name is broadcast at start-up (regression in 1.1.18)
    • pengine: unfence before probing or starting fence devices (regression in 1.1.18)
    • tools: crm_master did not work without explicit --lifetime (regression in 1.1.18)
    • all: prefer appropriate node when multiply active
    • crmd: always write faked failures to CIB whenever possible
    • crmd: avoid double free after ACL rejection of resource delete
    • crmd: delete resource from lrmd when appropriate
    • crmd: match only executed down events
    • lrmd: handle systemd actions correctly when used with "service:"
    • lrmd: always use most recent remote proxy
    • pengine: find active instances properly according to requires
    • pengine: fix precedence of operation meta-attributes
    • pengine: handle unique bundle children correctly
    • pengine: use correct default timeout for monitors and probes
    • pengine: avoid potential use-of-NULL in unpack_simple_rsc_order()
    • pengine: ensure stop operations occur after stopped remote connections have been brought up
    • pengine: fix swapped warning message arguments leading to segfault
    • pengine: only allowed nodes need to be considered when ordering resource startup after all recovery
    • pengine: ordering bundle child stops/demotes after container fencing causes graph loops
    • pengine: passing boolean instead of a pointer
    • pengine: remote connection resources are safe to to require only quorum
    • pengine: correctly observe colocation constraints with bundles in the Master role
    • pengine: do not perform notifications for events that can't be executed
    • pengine: ensure failures that cause fencing are not removed until after fencing completes
    • pengine: ensure orphaned recurring monitors have interval set
    • libcrmcluster: avoid use-of-NULL when searching for remote node
    • libcrmcommon: don't record pending notify actions as completed
    • libcrmservice: find absolute paths when used with "service:"
    • tools: crm_simulate -Ls should show promotion scores
    • tools: prevent notify actions from causing crm_resource --wait to hang
    • tools: ignore attribute placement when crm_diff compares in cib mode
    • tools: cibsecret --help/--version doesn't require cluster to be running
    • tools: crm_node -n/-N/-i should work on Pacemaker Remote nodes
    • tools: treat INFINITY correctly in crm_failcount

Pacemaker 2.0.0 - Release Candidate 5

31 May 17:00
Compare
Choose a tag to compare
Pre-release
  • Changes since Pacemaker-2.0.0-rc4
    • all: prefer appropriate node when multiply active
    • 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
    • tools: correctly check crm_resource --move for master role

Pacemaker 2.0.0 - Release Candidate 4

15 May 15:17
Compare
Choose a tag to compare
Pre-release
  • Changes since Pacemaker-2.0.0-rc3
    • Restore ability to do a rolling upgrade (regression in 2.0.0-rc3)
    • Improved portability to BSD-based platforms
    • controller,executor: avoid minor memory leaks
    • executor: handle systemd actions correctly when used with "service:"
    • libcrmservice: find absolute LSB paths when used with "service:"
    • tools: cibsecret --help/--version doesn't require cluster to be running

Pacemaker 2.0.0 - Release Candidate 3

30 Apr 23:13
c0d7ba7
Compare
Choose a tag to compare
Pre-release
  • Features added since Pacemaker-2.0.0-rc2

    • Daemons have been renamed to make logs more intuitive
    • Tweak detail log message format for readability with new names
    • alerts: add epoch and usec alert variables for improved SNMP alerts
    • controller: rename "crmd-*" cluster options
  • Changes since Pacemaker-2.0.0-rc2

    • CIB manager: don't use empty CIB if real CIB has bad permissions
    • CIB manager: handle mixed-case node names when modifying attributes (regression in 1.1.17)
    • controller: avoid double free after ACL rejection of resource delete
    • controller: delete resource from lrmd when appropriate (regression in rc2)
    • controller: don't record pending notify actions as completed
    • scheduler: don't time out failures that cause fencing until fencing completes
    • resources: drop broken configdir parameter from ocf:pacemaker:controld
    • tools: ignore attribute placement when crm_diff compares in cib mode

Pacemaker 2.0.0 - Release Candidate 2

07 Apr 03:13
Compare
Choose a tag to compare
Pre-release
  • Changesets: 192

  • Diff: 215 files changed, 7617 insertions(+), 4135 deletions(-)

  • Features added since Pacemaker-2.0.0-rc1

    • libcrmcluster: prefer corosync name over ring0_addr
    • libpe_status: deprecate stonith-action=poweroff
    • pengine: deprecate require-all in rsc_order
    • xml: allow local "kind" in resource_set within rsc_order
    • xml: add transform for automatic upgrades to latest schema
    • build: create /etc/pacemaker directory when installing
  • Changes since Pacemaker-2.0.0-rc1

    • crmd: always write faked failures to CIB whenever possible
    • libpe_status: handle unique bundle children correctly
    • libpe_status: use correct default timeout for monitors
    • pengine: "symmetrical" defaults to "false" for serialize orders
    • pengine: avoid potential use-of-NULL in unpack_simple_rsc_order()
    • pengine: fix swapped warning message arguments leading to segfault
    • pengine: properly cancel recurring monitors
    • pengine: do not schedule notifications for unrunnable actions