Releases: ClusterLabs/pacemaker
Releases · ClusterLabs/pacemaker
Pacemaker 2.0.0 - Release Candidate 1
-
Deprecated features removed since Pacemaker-1.1.18
- All of these have newer forms, and the cluster will automatically convert
many older syntax usages in 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 PCMK_legacy and LRMD_MAX_CHILDREN environment variables
- 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 undocumented resource isolation feature
- Drop support for "requires" operation meta-attribute
- Drop support for operation meta-attributes in instance_attributes
- Drop support for the pcmk_*_cmd, pcmk_arg_map, and pcmk_poweroff_action
fence resource parameters - 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) - tools: drop support for deprecated command-line options to crmadmin,
crm_attribute, crm_resource, crm_verify, crm_mon, and stonith_admin - tools: drop support for built-in SMTP and SNMP in crm_mon
- All of these have newer forms, and the cluster will automatically convert
-
Features added since Pacemaker-1.1.18
- 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 master XML tag is deprecated in favor of a new "promotable"
meta-attribute set to true with a standard clone tag, 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 to promotion scores
instead of master scores - record-pending now defaults to TRUE (pending actions are shown in status)
- 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 - systemd unit file removes limit on spawned processes
- tools: all tools now return consistent, well-defined exit codes;
crm_error has a --exit option to list these - tools: crm_resource --cleanup now cleans only failed operation history;
crm_resource --reprobe retains the previous behavior of cleaning all
operation history - All Python code in Pacemaker now supports both Python 2.7 and Python 3
- Regression testing code has been consolidated and overhauled; most obvious
change is new command names - Administration-related documentation has been moved from the
Pacemaker Explained document to a new Pacemaker Administration document
- The default location of the Pacemaker detail log is now
-
Changes since Pacemaker-1.1.18
- Numerous changes to public API of libraries
- Restore systemd unit dependency on DBus (regression in 1.1.17)
- attrd: ensure node name is broadcast at start-up (CLBZ#5330, regression in 1.1.18)
- crmd: quorum gain without a node join should cause new transition
- pengine: ensure stop operations occur after stopped remote connections have been brought up
- 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: remote connection resources are safe to to require only quorum
- pengine: unfence before probing or starting fence devices (regression in 1.1.18)
- pengine: correctly observe colocation constraints with bundles in the Master role
- pengine: restart resource after failed demote when appropriate
- Pacemaker Remote: always use most recent remote proxy
- tools: prevent notify actions from causing crm_resource --wait to hang
- tools: crm_master did not work without explicit --lifetime (regression in 1.1.18)
Pacemaker 1.1.18 - Final
Release info
- Changesets: 644
- Diff: 167 files changed, 9753 insertions(+), 5596 deletions(-)
Known regressions introduced in this release
- Agent meta-data is not always refreshed after a resource start, in case the agent was updated (fixed in 2.1.0)
- A resource may have unnecessary downtime when it needs to be moved to a Pacemaker Remote node that fails to come up (fixed in 2.0.1)
- attrd's node name might not be broadcast at start-up (fixed in 2.0.0)
- Unfencing might be incorrectly scheduled after probing or starting fence devices (fixed in 2.0.0)
- crm_simulate -sL does not show master scores (fixed in 2.0.0)
- crm_master does not work without explicit --lifetime (fixed in 2.0.0)
Features added since Pacemaker-1.1.17
- warnings are now logged when using legacy syntax to be removed in 2.0
- agents: ifspeed agent is now installed when building
- agents: ifspeed agent can optionally detect interface name from IP address
- alerts: support alert filters
- alerts: experimental support for alerts for node attribute changes
- crmd,pengine: support unfencing of remote nodes
- pengine: bundles now support all constraint types
- pengine: bundles now support rkt containers
- pengine: bundles support new container-attribute-target parameter
- pengine,tools: logs and crm_mon show why resources changed state
- stonith-ng: support new fencing resource parameter pcmk_delay_base
- tools: new crm_resource option --why explains why resources are stopped
Changes since Pacemaker-1.1.17
- many documentation improvements
- agents: ifspeed properly calculates speed of hfi1 interfaces
- agents: ClusterMon now interprets "update" less than 1000 as seconds
- attrd: don't lose attributes set between attrd start-up and cluster join
- attrd: fix multiple minor memory leaks
- crmd: correctly record that unfencing is complete
- crmd: error more quickly if remote start fails due to missing key
- lrmd: remote resource operations return immediate error if key setup fails
- lrmd: allow pre-1.1.15 cluster nodes to connect to current Pacemaker Remote
- pengine: guest nodes are now probed like other nodes
- pengine: probe remote nodes for guest node resources
- pengine: do not probe guest/bundle connections until guest/bundle is active
- pengine: allow resources to stop prior to probes completing
- pengine: bundles wait only for other containers on same node to be probed
- pengine: have bundles log to stderr so 'docker logs'/'journalctl -M' works
- pengine: only pass requests for promote/demote flags onto the bundle's child
- pengine: do not map ports into Docker container when net=host is specified
- pengine: allow resources inside bundles to receive clone notifications
- pengine: default to non-interleaved bundle ordering for safety
- pengine: ensure bundle nodes and child resources are correctly cleaned up
- pengine: prevent graph loops when fencing the host underneath a bundle
- pengine: fix multiple memory issues (use-after-free, use-of-NULL) with bundles
- pengine: resources in bundles respect failcounts
- pengine: ensure nested container connections run on the same host
- pengine: ensure unrecoverable remote nodes are fenced even with no resources
- pengine: handle resource migrating behind a migrating remote connection
- pengine: don't prefer to keep unique instances on same node
- pengine: exclude exclusive resources and nodes from symmetric default score
- pengine: if ignoring failure, also ignore migration-threshold
- pengine: restore the ability to send the transition graph via the disk if it gets too big
- pengine: validate no-quorum-policy=suicide correctly
- pengine: avoid crash when alerts section has comments
- pengine: detect permanent master scores at start-up
- pengine: do not re-add a node's default score for each location constraint
- pengine: make sure calculated resource scores are consistent on different architectures
- pengine: retrigger unfencing for changed device parameters only when necessary
- pengine: don't schedule reload and restart in same transition (CLBZ#5309, regression introduced in 1.1.15)
- stonith-ng: make fencing-device reappear properly after reenabling
- stonith-ng: include pcmk_on_action in meta-data so 'on' can be overridden
- tools: allow crm_report to work with no log files specified
- tools: fix use-after-free in crm_diff introduced in 1.1.17
- tools: allow crm_resource to operate on anonymous clones in unknown states
- tools: crm_resource --cleanup on appropriate nodes if we don't know state of resource
- tools: prevent disconnection from crmd during crm_resource --cleanup
- tools: improve messages for crm_resource --force-* options
- tools: crm_mon: avoid infinite process spawning if -E script can't be run
- tools: crm_mon: don't show previous exit-reason for failed action with none
- libcrmservice: list systemd unit files, not only active units (CLBZ#5299)
- libcrmservice: parse long description correctly for LSB meta-data
Pacemaker-1.1.18-rc4
-
Features added since Pacemaker-1.1.18-rc3
- agents: ifspeed agent can optionally detect interface name from IP address
-
Changes since Pacemaker-1.1.18-rc3
- crmd: error more quickly if remote start fails due to missing key
- pengine: allow resources to stop prior to probes completing
- pengine: probe remote nodes for guest node resources
- pengine: bundles need to wait only for other containers on the same node to be probed
- pengine: correctly defer processing of resources inside containers
- pengine: do not always expire failed operations of nested remotes
- pengine: do not probe connection resources until the container is active
- pengine: don't keep unique instances on same node
- pengine: don't probe offline or unclean guest nodes
- pengine: exclude exclusive resources and nodes from symmetric default score
- pengine: have bundles log to stderr so that 'docker logs' works
- pengine: if ignoring failure, also ignore migration-threshold
- pengine: only pass requests for promote/demote flags onto the bundle's child
- pengine: resources are allowed to stop before their state is known everywhere
- pengine: restore the ability to send the transition graph via the disk if it gets too big
- pengine: do not map ports into Docker container when net=host is specified
- tools: allow crm_resource to operate on anonymous clones in unknown states
- tools: crm_resource --cleanup on appropriate nodes if we don't know state of resource
- tools: prevent disconnection from crmd during crm_resource --cleanup
Pacemaker 1.1.18 - Release Candidate 3
- Changes since Pacemaker-1.1.18-rc2
- crmd: fix regression for legacy stacks introduced in rc1
- lrmd: allow pre-1.1.15 cluster nodes to connect to current Pacemaker Remote
- pengine: don't schedule reload and restart in same transition
(fixes CLBZ#5309, a regression introduced in 1.1.15) - pengine: fix use-after-free memory issue re-introduced by merge
- tools: improve messages for crm_resource --force-* options
Pacemaker 1.1.18 - Release Candidate 2
- Changes since Pacemaker-1.1.18-rc1
- fix regressions introduced in rc1 (don't break crm_resource --lifetime,
avoid memory leak when caching meta-data,
keep previous format of crm_mon XML output for bundles) - crm_mon: avoid infinite process spawning if -E script can't be run
- crm_mon: don't show previous exit-reason for failed action with none
- libcrmservice: list systemd unit files, not only active units (BZ#5299)
- libcrmservice: parse long description correctly for LSB meta-data
- fix regressions introduced in rc1 (don't break crm_resource --lifetime,
Pacemaker 1.1.18 - Release Candidate 1
-
Features added since Pacemaker-1.1.17
- warnings are now logged when using legacy syntax to be removed in 2.0
- agents: ifspeed agent is now installed when building
- alerts: support alert filters
- alerts: support alerts for node attribute changes (experimental)
- crmd,pengine: support unfencing of remote nodes
- pengine: bundles now support all constraint types
- pengine: bundles now support rkt containers
- pengine: bundles support new container-attribute-target parameter
- pengine: guest nodes are now probed like any other node
- pengine,tools: logs and crm_mon show why resources changed state
- stonith-ng: support new fencing resource parameter pcmk_delay_base
- tools: new crm_resource option --why explains why resources are stopped
-
Changes since Pacemaker-1.1.17
- many documentation improvements
- agents: ifspeed properly calculates speed of hfi1 interfaces
- agents: ClusterMon now interprets "update" less than 1000 as seconds
- attrd: don't lose attributes set between attrd start-up and cluster join
- attrd: fix multiple minor memory leaks
- crmd: correctly record that unfencing is complete
- lrmd: remote resource operations return immediate error if key setup fails
- pengine: validate no-quorum-policy=suicide correctly
- pengine: avoid crash when alerts section has comments
- pengine: detect permanent master scores at start-up
- pengine: do not re-add a node's default score for each location constraint
- pengine: allow resources inside bundles to receive clone notifications
- pengine: default to non-interleaved bundle ordering for safety
- pengine: ensure bundle nodes and child resources are correctly cleaned up
- pengine: prevent graph loops when fencing the host underneath a bundle
- pengine: probe bundle connection resources
- pengine: bundles now respect PCMK_authkey_location
- pengine: fix multiple memory issues (use-after-free, use-of-NULL) with bundles
- pengine: resources in bundles respect failcounts
- pengine: ensure nested container connections run on the same host
- pengine: ensure unrecoverable remote nodes are fenced even if no resources can run on them
- pengine: handle resource migrating behind a migrating remote connection
- pengine: make sure calculated resource scores are consistent on different architectures
- pengine: retrigger unfencing for changed device parameters only when necessary
- stonith-ng: make fencing-device reappear properly after reenabling
- stonith-ng: include pcmk_on_action in meta-data so 'on' can be overridden
- tools: allow crm_report to work with no log files specified
- tools: fix use-after-free in crm_diff introduced in 1.1.17
Pacemaker 1.1.17 - Final
Release info
- Thu Jul 06 2017 Ken Gaillot [email protected] Pacemaker-1.1.17-1
- Changesets: 539
- Diff: 177 files changed, 11525 insertions(+), 5036 deletions(-)
Known regressions introduced in this release
- When run from a Pacemaker Remote node, crm_resource --cleanup incorrectly treats an unspecified node as the local node instead of all nodes (fixed in 2.1.0)
- Pacemaker's systemd unit incorrectly dropped a dependency on DBus (fixed in 2.0.0)
- Mixed-case node names are not handled properly when modifying attributes (fixed in 2.0.0)
- Scheduler can crash when logging ignored failure timeout (fixed in 2.0.0)
- crm_failcount does not handle INFINITY correctly (fixed in 2.0.0)
- crm_diff can have a use-after-free memory error (fixed in 1.1.18)
Features added since Pacemaker-1.1.16
- New "bundle" resource type for Docker container use cases (experimental)
- New "PCMK_node_start_state" environment variable to start node in standby
- New "value-source" rule expression attribute in location constraints to compare a node attribute against a resource parameter
- New "stonith-max-attempts" cluster option to specify how many times fencing can fail for a target before the cluster will no longer immediately re-attempt it (previously hard-coded at 10)
- New "cluster-ipc-limit" cluster option to avoid IPC client eviction in large clusters
- Failures are now tracked per operation type, as well as per node and resource (the "fail-count" and "last-failure" node attribute names now end in "#OPERATION_INTERVAL")
- attrd: Pacemaker Remote node attributes and regular expressions are now supported on legacy cluster stacks (heartbeat, CMAN, and corosync plugin)
- tools: New "crm_resource --validate" option
- tools: New "stonith_admin --list-targets" option
- tools: New "crm_attribute --pattern" option to match a regular expression
- tools: "crm_resource --cleanup" and "crm_failcount" can now take --operation and --interval options to operate on a single operation type
Changes since Pacemaker-1.1.16
- Fix multiple memory issues (leaks, use-after-free) in libraries
- pengine: unmanaging a guest node resource puts guest in maintenance mode
- cib: broadcasts of cib changes should always pass ACL checks
- crmd,libcrmcommon: update throttling when CPUs are hot-plugged
- crmd: abort transition whenever we lose quorum
- crmd: avoid attribute write-out on join when atomic attrd is used
- crmd: check for too many stonith failures only when aborting for that reason
- crmd: correctly clear failure counts only for a specified node
- crmd: don't fence old DC if it's shutting down as soon-to-be DC joins
- crmd: forget stonith failures when forgetting node
- crmd: all nodes should track stonith failure counts in case they become DC
- crmd: update cache status for guest node whose host is fenced
- dbus: prevent lrmd from hanging on dbus calls
- fencing: detect newly added constraints for stonith devices
- pengine: order remote actions after connection recovery (regression introduced in 1.1.15)
- pengine: quicker recovery from failed demote
- libcib: determine remote nodes correctly from node status entries
- libcrmcommon: avoid evicting IPC client if messages spike briefly
- libcrmcommon: better XML comment handling prevents infinite election loop
- libcrmcommon: set month correctly in date/time string sent to alert agents
- libfencing,fencing: intelligently remap "action" wrongly specified in config
- libservices: ensure completed ops aren't on blocked ops list
- libservices: properly detect and cancel in-flight systemd/upstart ops
- libservices: properly watch writable DBus handles
- libservices: systemd service that is reloading doesn't cause monitor failure
- pacemaker_remoted: allow graceful shutdown while unmanaged
- pengine,libpe_status: don't clear same fail-count twice
- pengine: consider guest node unclean if its host is unclean
- pengine: do not re-add a node's default score for each location constraint
- pengine: avoid restarting services when recovering remote connection
- pengine: better guest node recovery when host fails
- pengine: guest node fencing doesn't require stonith enabled
- pengine: allow probes of guest node connection resources
- pengine: properly handle allow-migrate explicitly set for remote connection
- pengine: fence failed remote nodes even if no resources can run on them
- tools: resource agents will now get the correct node name on Pacemaker Remote nodes when using crm_node and crm_attribute
- tools: avoid grep crashes in crm_report when looking for system logs
- tools: crm_resource -C now clears last-failure as well as fail-count
- tools: implement crm_failcount command-line options correctly
- tools: properly ignore version with crm_diff --no-version
Pacemaker 1.1.17 - Release Candidate 4
-
Features added since Pacemaker-1.1.17-rc3
- cib,libcib: support option for IPC eviction threshold
-
Changes since Pacemaker-1.1.17-rc3
- cib: Broadcasts of cib changes should always pass ACLs check
- libcib: get remoteness correctly from node status
- libpe_status: avoid memory leaks when creating bundle remote resource
- libpe_status: disallow resources on bundle nodes
- pengine: Bundle location constraints should only apply to the IP and docker resources
- pengine: Clones within bundles may also have notifications enabled
- pengine: Correctly implement pe_order_implies_first_printed
- pengine: Do not re-add a node's default score for each location constraint
Pacemaker 1.1.17 - Release Candidate 3
-
Features added since Pacemaker-1.1.17-rc2
- Support inheritable meta-attributes for bundles
-
Changes since Pacemaker-1.1.17-rc2
- crmd: avoid attribute write-out on join when atomic attrd is used
Pacemaker-1.1.17-rc2
-
Update source tarball to revision: 8fdb646
-
Changesets: 19
-
Diff: 10 files changed, 99 insertions(+), 58 deletions(-)
-
Changes since Pacemaker-1.1.17-rc1
- fencing: Detect newly added constraints for stonith devices
- pengine,libpe_status: multiple bug fixes for new bundle feature
- pengine: Order remote actions after connection recovery
(regression introduced in 1.1.15)