Skip to content

Releases: ClusterLabs/pacemaker

Pacemaker 2.1.0 - Release Candidate 1

30 Apr 20:16
Compare
Choose a tag to compare
Pre-release
  • Changesets: 781

  • Diff:
    323 files changed, 21034 insertions(+), 12145 deletions(-)

  • Features added since Pacemaker-2.0.5

    • support for OCF Resource Agent API 1.1 standard
      • allow Promoted and Unpromoted role names in CIB (in addition to Master
        and Slave, which are deprecated), and use new role names in output,
        logs, and constraints created by crm_resource --ban
      • advertise 1.1 support to agents, and provide notify_promoted_* and
        notify_unpromoted_* environment variables to agents with notify actions
      • support "reloadable" parameter attribute and "reload-agent" action in
        agents that advertise 1.1 support
      • support 1.1 standard in ocf:pacemaker:Dummy, ocf:pacemaker:remote, and
        ocf:pacemaker:Stateful resource agents
      • add "promoted-only" (in addition to "master-only", which is deprecated)
        in crm_mon XML output for bans
    • support for noncritical resources
      • colocation constraints accept an "influence" attribute that determines
        whether dependent influences main resource's location (the default of
        "true" preserves the previous behavior, while "false" makes the
        dependent stop if it reaches its migration-threshold in failures rather
        than cause both resources to move to another node)
      • resources accept a "critical" meta-attribute that serves as default for
        all colocation constraints involving the resource as the dependent, as
        well as groups involving the resource
    • detail log uses millisecond-resolution timestamps when Pacemaker is built
      with libqb 2.0 or later
    • CIB: deprecate the remove-after-stop cluster property, can_fail action
      meta-attribute, and support for Upstart-based resources
    • controller: the PCMK_panic_action environment variable may be set to
      sync-crash or sync-reboot to attempt to synchronize local
      disks before crashing or rebooting, which can be helpful to
      record cached log messages but runs the risk of the sync
      hanging and leaving the host running after a critical error
    • tools: CIB_file="-" can be used to get the CIB from standard input
    • tools: crmadmin, crm_resource, crm_simulate, and crm_verify support
      standard --output-as/--output-to options (including XML output,
      intended for parsing by scripts and higher-level tools)
    • tools: crm_attribute accepts -p/--promotion option to operate on
      promotion score (replacing crm_master, which is deprecated)
    • tools: crm_resource accepts --promoted option (replacing --master, which
      is deprecated)
    • tools: crm_resource accepts --digests advanced option
    • tools: crm_simulate accepts --show-attrs and --show-failcounts options
  • Build process changes since Pacemaker-2.0.5

    • Pacemaker requires newer versions of certain dependencies, including
      Python 3.2 or later (support for Python 2 has been dropped), glib 2.32.0
      or later, libqb 0.17.0 or later, GnuTLS 2.12.0 or later (to enable
      Pacemaker Remote support), rpm 4.11.0 (if building RPMs), and a C library
      that provides setenv() and unsetenv()
    • configure: --enable-legacy-links (which is deprecated) defaults to "no",
      meaning that symbolic links will not be created for the
      Pacemaker 1 daemon names
    • configure: --enable-compat-2.0 prevents certain output changes (most
      significantly role names) to maintain compatibility with older
      tools, scripts, and resource agents that rely on previous output
    • configure: --with-resource-stickiness-default sets a resource-stickiness
      default in newly created CIBs
    • configure: --with-concurrent-fencing-default specifies default for
      concurrent-fencing cluster property
    • configure: --with-gnutls="no" explicitly disables support for
      Pacemaker Remote and the remote-tls-port cluster property
    • configure: --with-acl has been removed (support for ACLs is always built)
    • configure: deprecated --with-pkgname, --with-pkg-name, --with-brand,
      --enable-ansi, and --enable-no-stack options have been removed
    • environment variables file (typically /etc/sysconfig/pacemaker or
      /etc/default/pacemaker) will be installed when "make install" is run
    • documentation has dependency on python3-sphinx instead of publican, and is
      generated beneath doc/sphinx
  • Fixes since Pacemaker-2.0.5

    • controller: always refresh agent meta-data after start, in case agent was
      updated (regression introduced in 1.1.18)
    • tools: avoid crash when running crm_mon in daemonized mode with CGI output
      (regression introduced in 2.0.3)
    • tools: correctly treat unspecified node as all nodes instead of local node
      when attrd_updater --query or crm_resource --cleanup is run on a
      Pacemaker Remote node (regressions introduced in 1.1.14 and 1.1.17)
    • pacemaker-attrd: avoid race condition where transient attributes for a
      leaving node could be reinstated when the node rejoins,
      potentially causing a node that was just rebooted to exit
      the cluster immediately after rejoining
    • controller,scheduler: fix year 2038 issues affecting shutdowns,
      remote node fencing, last-rc-change, and
      ticket last-granted dates
    • controller: retry scheduler connection after failure, to avoid cluster
      stopping on a node without stopping resources (clbz#5445)
    • fencing: avoid pending fencing entry getting "stuck" in history if
      originating node was unreachable when result was received
    • fencing: retry getting agent meta-data if initial attempt fails
    • fencing: detect when devices have been removed from configuration
    • scheduler: constrain clone-min, clone-max, clone-node-max, promoted-max,
      and promoted-node-max options to non-negative values
    • scheduler: constrain resource priorities and node-health-base to score range
    • scheduler: treat invalid duration fields in time-based rules as 0, not -1
    • scheduler: node attribute rule expressions with a value-source of "param"
      or "meta" work when rsc or rsc-pattern with an inverted match
      is given, as well as when rsc-pattern with a regular
      match is given
    • scheduler: node attribute rule expressions with a value-source of "param"
      work with a resource parameter that itself is determined by a
      node attribute rule expression
    • scheduler: avoid remote connection shutdown hanging when connection
      history for node hosting connection is not last in CIB status
    • scheduler: route monitor cancellations behind moving remote connections correctly
    • libcrmcommon: avoid potential integer overflow when adding seconds to times
    • tools: cibsecret syncs to remote nodes and guest nodes as well as
      cluster nodes
    • tools: show other available cluster information in crm_mon even if
      fence history is not available
    • tools: retry failed fencer and CIB connections in crm_mon
    • tools: crm_mon reports if Pacemaker is waiting for sbd at start-up
    • tools: respect rules when showing node attributes in crm_mon
    • tools: improve messages when crm_mon is run on disconnected remote node
    • tools: constrain node IDs to non-negative values for crm_node -N
    • tools: crm_node -l on restarted node works even when Corosync 2 is used
      without node names specified in Corosync configuration
    • tools: fix issues in calculation of non-sensitive resource parameter
      digests that made crm_simulate wrongly think configuration changed
  • C API changes since Pacemaker-2.0.5

    • all: new PCMK_ALLOW_DEPRECATED constant controls API availability
    • libcrmcluster: deprecate crm_terminate_member()
    • libcrmcluster: deprecate crm_terminate_member_no_mainloop()
    • libcrmcommon: add CRMD_ACTION_RELOAD_AGENT string constant
    • libcrmcommon: add PCMK_OCF_MAJOR_VERSION string constant
    • libcrmcommon: add PCMK_OCF_MINOR_VERSION string constant
    • libcrmcommon: add PCMK_OCF_RUNNING_PROMOTED enum value
    • libcrmcommon: add PCMK_OCF_VERSION string constant
    • libcrmcommon: add PCMK_XE_PROMOTABLE_LEGACY string constant
    • libcrmcommon: add PCMK_XE_PROMOTED_MAX_LEGACY string constant
    • libcrmcommon: add PCMK_XE_PROMOTED_NODE_MAX_LEGACY string constant
    • libcrmcommon: add enum ocf_exitcode (moved from libcrmservice)
    • libcrmcommon: deprecate __builtin_expect()
    • libcrmcommon: deprecate __likely()
    • libcrmcommon: deprecate __unlikely()
    • libcrmcommon: deprecate crm_atoi()
    • libcrmcommon: deprecate crm_build_path()
    • libcrmcommon: deprecate crm_config_error global variable
    • libcrmcommon: deprecate crm_config_warning global variable
    • libcrmcommon: deprecate crm_ftoa()
    • libcrmcommon: deprecate crm_hash_table_size()
    • libcrmcommon: deprecate crm_itoa()
    • libcrmcommon: deprecate crm_itoa_stack()
    • libcrmcommon: deprecate crm_log_cli_init()
    • libcrmcommon: deprecate crm_parse_int()
    • libcrmcommon: deprecate crm_parse_ll()
    • libcrmcommon: deprecate crm_str_hash()
    • libcrmcommon: deprecate crm_str_table_dup()
    • libcrmcommon: deprecate crm_str_table_new()
    • libcrmcommon: deprecate crm_strcase_equal()
    • libcrmcommon: deprecate crm_strcase_hash()
    • libcrmcommon: deprecate crm_strcase_table_new()
    • libcrmcommon: deprecate crm_strip_trailing_newline()
    • libcrmcommon: deprecate crm_ttoa()
    • libcrmcommon: deprecate EOS constant
    • libcrmcommon: deprecate GListPtr type
    • libcrmcommon: deprecate g_str_hash_traditional()
    • libcrmcommon: deprecate MAX_IPC_DELAY constant
    • libcrmcommon: deprecate pcmk_format_named...
Read more

Pacemaker 1.1.24 - Final

03 Dec 15:41
3850484
Compare
Choose a tag to compare

Release info

This is the final release in the Pacemaker 1.1 series.

Known regressions introduced in this release

  • None

Changes since Pacemaker-1.1.23

  • Prevent the bypassing of ACLs by direct IPC (CVE-2020-25654)
  • PE: don't select instance to be promoted on a guest that can't run
  • PE: don't schedule a dangling migration stop if one already occurred
  • tools: crmadmin -D/--dc_lookup supports --quiet to print DC name only

Pacemaker 2.0.5 - Final

02 Dec 17:13
Compare
Choose a tag to compare

Release info

  • Changesets: 534
  • Diff: 286 files changed, 23133 insertions(+), 14626 deletions(-)

Known regressions introduced in this release

  • crm_resource crashes if given extraneous arguments (fixed in 2.1.5)
  • stonith_admin --validate returns incorrect exit status (fixed in 2.1.5)
  • crm_mon can leak memory when filtering by node (fixed in 2.1.1)
  • The --version argument to crm_resource and crmadmin can exit with status 64 instead of 0 (fixed in 2.1.0)
  • crm_node -R may not remove the node from the controller's cache (fixed in 2.1.7)

Features added since Pacemaker-2.0.4

  • configuration: Add type="integer" to rule elements, allowing for specifying 64-bit integers and specifying double-precision floating point numbers when type="number"
  • daemons: Recognize new OCF agent status codes 190 (degraded) and 191 (degraded master) to be treated as success but displayed as errors
  • sbd-integration: support SBD_SYNC_RESOURCE_STARTUP environment variable to better synchronize Pacemaker start-up and shutdown with SBD
  • scheduler: Add rule-based tests to op_defaults and rsc_defaults
  • scheduler: Add on-fail=demote and no-quorum-policy=demote recovery policies for promoted resources
  • tools: Add --resource= to filter crm_mon output for a resource
  • tools: Add -P to crmadmin to show pacemakerd status
  • tools: In cibsecret, read value to set from input (or stdin) if not specified

Fixes for regressions introduced in Pacemaker-2.0.4

  • tools: Add the node name back to bundle instances in crm_mon
  • tools: get stonith_admin --list-targets working again

Fixes for regressions introduced in Pacemaker-2.0.3

  • tools: Fix adding HTTP headers to crm_mon in daemon mode

Fixes for regressions introduced in Pacemaker-2.0.1

  • scheduler: require pre-/post-start notifications correctly

Changes since Pacemaker-2.0.4

  • Prevent the bypassing of ACLs by direct IPC (CVE-2020-25654)
  • build: Fix a build issue on Fedora s390x.
  • build: Fix python2 vs. python3 packaging problems on openSUSE Tumbleweed
  • build: Update pkgconfig files for CI testing
  • controller: avoid recovery delay when shutdown locks expire
  • controller: Log correct timeout for timed-out stonith monitor
  • fencer: avoid infinite loop if device is removed during operation
  • fencer: avoid possible use-of-NULL when parsing metadata
  • libfencing: add port or plug parameter according to metadata on validate if no pcmk_host_argument specified
  • libfencing: respect pcmk_host_argument=none on validate
  • scheduler: disallow on-fail=stop for stop operations
  • scheduler: don't schedule a dangling migration stop if one already occurred
  • scheduler: don't select instance to be promoted on a guest that can't run
  • scheduler: fix build when DEFAULT_CONCURRENT_FENCING_TRUE is set
  • scheduler: Remove pe_print_expanded_xml print option.
  • scheduler: Use pcmk_monitor_timeout as stonith start timeout
  • tools: Add management status to crm_mon's group output.
  • tools: Add "No active resources" to one case in crm_mon output.
  • tools: Allow tags and alerts in cibadmin --scope
  • tools: Avoid crm_node on Pacemaker Remote nodes failing when other executor actions are occurring
  • tools: Avoid pending fence actions getting stuck in crm_mon display
  • tools: "Connectivity is lost" may not be displayed even if the ping communication is lost
  • tools: Display stop-all-resources in crm_mon's cluster options
  • tools: don't use pssh -q option in cibsecret unless supported
  • tools: Fix adding the http-equiv header to crm_mon in daemon mode
  • tools: If a clone or group is disabled, display that in crm_mon as part of the resource's header
  • tools: crm_node -l and -p now work from Pacemaker Remote nodes
  • tools: Don't display crm_resource error messages twice
  • tools: Print inactive resources by default with crm_mon xml output
  • tools: properly detect local node name in cibsecret
  • tools: Revert some crm_resource string-related checks on variables that aren't strings
  • tools: Use bash in cibsecret
  • xml: Mark new crm_mon attributes as optional in schema

Pacemaker 2.0.5 - Release Candidate 3

16 Nov 21:23
Compare
Choose a tag to compare
Pre-release
  • Changes since Pacemaker-2.0.5-rc2
    • build: Fix python2 vs. python3 packaging problems on openSUSE Tumbleweed
    • build: Update pkgconfig files for CI testing
    • tools: Use bash in cibsecret

Pacemaker 1.1.24 - Release Candidate 1

30 Oct 17:37
6c24085
Compare
Choose a tag to compare
Pre-release
  • Changes since Pacemaker-1.1.23
    • Prevent the bypassing of ACLs by direct IPC (CVE-2020-25654)
    • PE: don't select instance to be promoted on a guest that can't run
    • PE: don't schedule a dangling migration stop if one already occurred

Pacemaker 2.0.5 - Release Candidate 2

27 Oct 20:48
31aa4f5
Compare
Choose a tag to compare
Pre-release
  • Changes since Pacemaker-2.0.5-rc1
    • Prevent the bypassing of ACLs by direct IPC (CVE-2020-25654)
    • scheduler: fix build when DEFAULT_CONCURRENT_FENCING_TRUE is set
    • scheduler: Remove pe_print_expanded_xml print option.
    • tools: Revert some crm_resource string-related checks on variables
      that aren't strings.
    • xml: Mark new crm_mon attributes as optional in schema

Pacemaker 2.0.5 - Release Candidate 1

19 Oct 18:22
8786586
Compare
Choose a tag to compare
Pre-release
  • Features added since Pacemaker-2.0.4

    • configuration: Add type="integer" to rule elements, allowing for
      specifying 64-bit integers and specifying
      double-precision floating point numbers when
      type="number".
    • daemons: Recognize new OCF agent status codes 190 (degraded) and 191
      (degraded master) to be treated as success but displayed as
      errors.
    • sbd-integration: support SBD_SYNC_RESOURCE_STARTUP environment
      variable to better synchronize Pacemaker start-up
      and shutdown with SBD
    • scheduler: Add rule-based tests to op_defaults and rsc_defaults.
    • scheduler: Add on-fail=demote and no-quorum-policy=demote recovery
      policies for promoted resources.
    • tools: Add --resource= to filter crm_mon output for a resource.
    • tools: Add -P to crmadmin to show pacemakerd status.
    • tools: In cibsecret, read value to set from input (or stdin) if not specified.
  • Fixes for regressions introduced in Pacemaker-2.0.4

    • tools: Add the node name back to bundle instances in crm_mon.
    • tools: get stonith_admin --list-targets working again
  • Fixes for regressions introduced in Pacemaker-2.0.3

    • tools: Fix adding HTTP headers to crm_mon in daemon mode.
  • Fixes for regressions introduced in Pacemaker-2.0.1

    • scheduler: require pre-/post-start notifications correctly.
  • Changes since Pacemaker-2.0.4

    • build: Fix a build issue on Fedora s390x.
    • controller: avoid recovery delay when shutdown locks expire
    • controller: Log correct timeout for timed-out stonith monitor
    • fencer: avoid infinite loop if device is removed during operation
    • fencer: avoid possible use-of-NULL when parsing metadata
    • libfencing: add port or plug parameter according to metadata on
      validate if no pcmk_host_argument specified
    • libfencing: respect pcmk_host_argument=none on validate
    • scheduler: disallow on-fail=stop for stop operations
    • scheduler: don't schedule a dangling migration stop if one already occurred
    • scheduler: don't select instance to be promoted on a guest that can't run
    • scheduler: Use pcmk_monitor_timeout as stonith start timeout
    • tools: Add management status to crm_mon's group output.
    • tools: Add "No active resources" to one case in crm_mon output.
    • tools: Allow tags and alerts in cibadmin --scope
    • tools: Avoid crm_node on Pacemaker Remote nodes failing when other
      executor actions are occurring.
    • tools: Avoid pending fence actions getting stuck in crm_mon display
    • tools: Display stop-all-resources in crm_mon's cluster options.
    • tools: don't use pssh -q option in cibsecret unless supported
    • tools: Fix adding the http-equiv header to crm_mon in daemon mode.
    • tools: If a clone or group is disabled, display that in crm_mon as part
      of the resource's header.
    • tools: crm_node -l and -p now work from Pacemaker Remote nodes
    • tools: Don't display crm_resource error messages twice.
    • tools: Print inactive resources by default with crm_mon xml output.
    • tools: properly detect local node name in cibsecret

Pacemaker 1.1.23 - Final

22 Jun 22:23
Compare
Choose a tag to compare

Release info

  • Mon Jun 22 2020 Ken Gaillot kgaillot@redhat.com Pacemaker-1.1.23
  • Changesets: 115
  • Diff: 79 files changed, 2818 insertions(+), 1293 deletions(-)

Known regressions introduced in this release

  • None

Features added since Pacemaker-1.1.22

  • fencing: improve parameter handling for RHCS-style fence agents
    - add port or plug parameter according to metadata
    - plug parameter shown as non-required in the metadata
  • tools: add stonith_admin --delay option (default = 0) to support enforced fencing delay

Changes since Pacemaker-1.1.22

  • crmd: properly detect node info requests from remote nodes (regression introduced in 1.1.19)
  • crmd: remove node as voter only if lost (regression introduced in 1.1.20)
  • crmd: clear leaving node's transient attributes even if there is no DC
  • crmd: don't ack same request twice
  • crmd: avoid delay when recovering resources after shutdown-lock expiration (BZ#5424)
  • fencing: remove dangling 'pending' for completed DC fencing (BZ#5401)
  • fencing: avoid possible use-of-NULL when parsing metadata
  • fencing: "action" now shown as not required in agent metadata
  • libcrmcommon: fix parsing ISO 8601 offsets with a plus sign
  • libcrmcluster: use proper type for corosync id when updating node state
  • pengine: don't incorporate dependencies' colocations multiple times
  • pengine: ensure attenuated scores still have some effect
  • pengine: ignore colocation constraints with 0 score
  • pengine: make sure cluster-wide maintenance-mode=true overrides per-resource settings

Pacemaker 2.0.4 Final

16 Jun 14:55
Compare
Choose a tag to compare

Regressions introduced in this release

  • crm_error prints spurious output when given a negative return code argument (fixed in 2.1.5)
  • crm_mon --hide-headers and related options stopped working (fixed in 2.1.2)
  • The executor can crash after TLS errors (fixed in 2.1.1)
  • crm_mon can leak memory when filtering by resource (fixed in 2.1.1)
  • The --version argument to crm_rule, crm_error, crm_diff, and crm_node incorrectly exits with status 64 instead of 0 (fixed in 2.1.1)
  • The --version argument to crm_simulate incorrectly exits with status 64 instead of 0 (fixed in 2.1.0)
  • crm_mon incorrectly omits the node name for bundle instances (fixed in 2.0.5)
  • The stonith_admin --list-targets option stopped working (fixed in 2.0.5)

Features added since Pacemaker-2.0.3

  • build: Add support for glib-based unit tests.
  • controller: add new feature 'shutdown-locks' to optionally allow a gracefully shutdown node to have the resources locked to it for a configurable time, so that it can be restarted with exactly the same resources running as before
  • controller/fencing/scheduler: add new feature 'priority-fencing-delay' to optionally derive the priority of a node from the resource-priorities of the resources it is running. In a fencing-race the node with the highest priority has a certain advantage over the others as fencing requests for that node are executed with an additional delay. controlled via cluster option priority-fencing-delay (default = 0)
  • stonith_admin: add --delay option (default = 0) to support enforced fencing delay
  • tools: Add --include= and --exclude= to crm_mon
  • tools: Add --node= to filter crm_mon output for a node (or tag)
  • tools: Allow more fine grained filtering of fence-history in crm_mon
  • tools: Allow crm_rule to check some date_specs

Fixes for regressions introduced in Pacemaker-2.0.0

  • tools: ensure that getting the local node name using crm_node always works from Pacemaker Remote node command line

Changes since Pacemaker-2.0.3

  • build: improve checking headers for C++ fitness
  • build: restore build on latest OpenSUSE
  • fencing: Report an error getting history in output instead of empty history
  • fencing: Improve parameter handling for RHCS-style fence-agents
    - make parameter action shown as not required
    - add port or plug parameter according to metadata
    - plug parameter shown as non-required in the metadata
  • controller: clear leaving node's transient attributes even if there is no DC
  • controller: don't ack same request twice
  • iso8601: Fix crm_time_parse_offset() to parse offset with plus sign.
  • libcrmcommon, libpe: validate interval specs correctly
  • libcrmcommon: Add pcmk_str_is_infinity, pcmk_str_is_minus_infinity and pcmk__unregister_formats.
  • libcrmcommon: Extend what pcmk__split_range can do
  • libfencing: Export formatted output functions
  • libpe_status: Add node list arg to output messages preventing weird behavior + potential segfaults
  • libpe_status: Update the maint mode message for HTML output
  • fencing, tools: Fix arguments to stonith-event
  • scheduler: don't incorporate dependencies' colocations multiple times
  • scheduler: ensure attenuated scores still have some effect
  • scheduler: ignore colocation constraints with 0 score
  • scheduler: make sure cluster-wide maintenance-mode=true overrides per-resource settings
  • scheduler: properly detect whether guest node is fenceable
  • scheduler: do not differentiate case where all the nodes have equal priority
  • tests: Add tests for pe_cron_range_satisfied
  • tests: Add tests for the current behavior of pcmk__split_range
  • tools, lib: Use standard pacemaker return codes in crm_rule
  • tools: Correct stonith-event arguments in crm_mon
  • tools: Fix man pages for crm_mon & crm_diff
  • tools: Make crm_mon --interval understand more formats
  • tools: Fix --html-title= in crm_mon.
  • tools: Print errors to stderr for crm_mon's legacy xml.
  • tools: use return codes consistently in stonith_admin
  • tools: Use glib for cmdline handling in crm_diff, crm_simulate & crm_error
  • xml: Add a new version of the tags schema.
  • based: populate cib_nodes when 'cibadmin -R -scope=configuration'
  • cibsecret: don't use pssh -q option unless supported
  • fencing: avoid infinite loop if device is removed during operation
  • fencing: avoid possible use-of-NULL when parsing metadata
  • fencing: Remove dangling 'pending' for completed DC fencing. (CLBZ#5401)

Pacemaker 2.0.4 - Release Candidate 3

03 Jun 19:47
Compare
Choose a tag to compare
Pre-release
  • Fixes for regressions / new buggy features introduced in Pacemaker-2.0.4-rc1

    • libpe_status: Modify filtering of inactive resources.
  • Changes since Pacemaker-2.0.4-rc2

    • based: use crm_exit to free qb-logging on daemon exit.
    • cts: handle last-run= and last-rc-change= as full date strings.