Skip to content

Releases: ClusterLabs/pacemaker

Pacemaker 2.0.0 - Release Candidate 1

16 Feb 21:03
Compare
Choose a tag to compare
Pre-release
  • 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
  • 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
  • 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

14 Nov 22:07
Compare
Choose a tag to compare

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

02 Nov 23:17
Compare
Choose a tag to compare
Pacemaker-1.1.18-rc4 Pre-release
Pre-release
  • 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

23 Oct 22:53
Compare
Choose a tag to compare
Pre-release
  • 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

16 Oct 14:15
Compare
Choose a tag to compare
Pre-release
  • 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

Pacemaker 1.1.18 - Release Candidate 1

07 Oct 02:56
Compare
Choose a tag to compare
Pre-release
  • 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

06 Jul 19:44
Compare
Choose a tag to compare

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

21 Jun 03:09
Compare
Choose a tag to compare
Pre-release
  • 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

31 May 15:44
Compare
Choose a tag to compare
Pre-release
  • 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

23 May 14:17
Compare
Choose a tag to compare
Pacemaker-1.1.17-rc2 Pre-release
Pre-release
  • 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)