Releases: ClusterLabs/pacemaker
Releases · ClusterLabs/pacemaker
Pacemaker 2.0.1 - Release Candidate 3
- Changes since Pacemaker-2.0.1-rc2
- attrd: start new election immediately if writer is lost
- attrd: detect alert configuration changes when CIB is entirely replaced
- controller: avoid transition timeout if resource cleaned while operation
is in-flight (regression in 2.0.1-rc1) - libstonithd: restore C++ compatibility (regression in 2.0.1-rc1)
- tools: fix crm_resource --clear when lifetime was used with ban/move
- tools: fix crm_resource --move when lifetime was used with previous move
Pacemaker 2.0.1 - Release Candidate 2
- 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
-
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
- tools: restore stonith_admin ability to confirm unseen nodes are down
Pacemaker 1.1.19 - Final
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
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
resource option androle_after_failure
operation option 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
-
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
-
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
- 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
- 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
-
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