Skip to content

Releases: ClusterLabs/pacemaker

Pacemaker 2.1.5 - Release Candidate 1

24 Oct 15:10
Compare
Choose a tag to compare
Pre-release
  • Features added since Pacemaker-2.1.4

    • CIB: access control lists (ACLs) for groups are supported
    • CIB: ACL target and group XML supports "name" attribute to specify a name that is not a unique XML ID
    • CIB: deprecate pacemaker-next schema
    • CIB: deprecate first-instance and then-instance in ordering constraints and rsc-instance and with-rsc-instance in colocation constraints (only usable with pacemaker-next schema)
    • CIB: deprecate "collocated" and "ordered" meta-attributes for groups (true is default, and resource sets should be used instead of false)
    • build: support building with -D_TIME_BITS=64
    • build: support building with compilers that are strict about void
    • fencer: deprecate stand-alone mode
    • agents: ClusterMon, controld, HealthCPU, ifspeed, and SysInfo agents support OCF 1.1 standard
    • agents: non-functional SystemHealth agent has been removed
    • tools: non-functional ipmiservicelogd and notifyServicelogEvent tools have been removed
    • tools: crm_attribute supports querying all attributes on a given node
    • tools: crm_attribute --query, --delete, and --update support regular expressions
    • tools: crm_error supports standard --output-as/--output-to arguments
    • tools: crm_error lists all return codes if none are specified
    • tools: crm_mon --show-detail displays the CRM feature set of each node and makes display of fencing actions more technical
    • tools: crm_resource --why checks node health
  • Fixes since Pacemaker-2.1.4

    • tools: crm_error does not print spurious output when given a negative return code argument (regression introduced in 2.0.4)
    • tools: avoid crash if crm_resource is given extraneous arguments (regression introduced in 2.0.5)
    • tools: stonith_admin --validate XML output shows correct validation status and errors (regressions introduced in 2.0.5 and 2.1.2)
    • tools: crm_resource --list-operations shows pending operations as pending instead of complete (regression introduced in 2.1.0)
    • controller: move resources if appropriate after they are reordered in CIB (regression introduced in 2.1.3)
    • fencing: allow fence devices to be registered if local node is not in CIB (regression introduced in 2.1.3)
    • tools: crm_mon --one-shot succeeds even if pacemaker is shutting down (regression introduced in 2.1.3)
    • tools: avoid memory leak in crm_mon (regression introduced in 2.1.3)
    • tools: crm_attribute --quiet outputs nothing instead of "(null)" if attribute has no value (regression introduced in 2.1.3)
    • tools: accept deprecated and unused attrd_updater --quiet option (regression introduced in 2.1.3)
    • CIB: avoid crashes when XML IDs grow very long
    • controller: pre-load agent metadata asynchronously to avoid timeout when agent's metadata action runs crm_node
    • controller: avoid timing issue that increments resource fail count twice
    • fencing: unfence all nodes after device configuration changes
    • fencing: avoid memory leaks when processing topology requests
    • fencing: ignore node that executed action when checking whether actions are equivalent
    • scheduler,controller: calculate secure digest consistently
    • scheduler: handle corner cases in live migrations
    • scheduler: avoid perpetual moving of bundle containers in certain situations
    • scheduler: properly calculate resource parameter digests without history
    • scheduler: do not enforce stop if newer monitor indicates resource was not running on target of failed migrate_to
    • scheduler: do not enforce stop on rejoined node after failed migrate_to
    • scheduler: don't demote on expected node when multiple-active is set to stop_unexpected
    • scheduler: prevent resources running on multiple nodes after partial live migration
    • scheduler: restart resource instead of reload if extra parameters in operation change
    • schemas: Consider days, minutes, seconds, and yeardays in date expressions valid
    • schemas: Consider in_range with an end and duration valid
    • schemas: Consider score and score-attribute optional in rules
    • tools: crm_resource --digests uses most recent operation history entry
    • tools: if multiple return code options are given to crm_error, use the last one
    • tools: crm_resource correctly detects if a resource is unmanaged or disabled even if there are multiple settings using rules
  • Public API changes since Pacemaker-2.1.4

    • libcib: add cib_api_operations_t:set_primary
    • libcib: add cib_api_operations_t:set_secondary
    • libcib: deprecate cib_api_operations_t:delete_absolute()
    • libcib: deprecate cib_api_operations_t:is_master
    • libcib: deprecate cib_api_operations_t:set_master
    • libcib: deprecate cib_api_operations_t:set_slave
    • libcib: deprecate cib_api_operations_t:set_slave_all
    • libcrmcommon: deprecated XML_CIB_TAG_MASTER constant is usable again (regression introduced in 2.1.0)
    • libcrmcommon: pcmk_ipc_api_t supports attribute manager IPC
    • libcrmcommon: add pcmk_rc_unpack_error
    • libcrmcommon: add CRM_EX_FAILED_PROMOTED
    • libcrmcommon: add CRM_EX_NONE
    • libcrmcommon: add CRM_EX_PROMOTED
    • libcrmcommon: add pcmk_readable_score()
    • libcrmcommon: add PCMK_XA_PROMOTED_MAX_LEGACY string constant
    • libcrmcommon: add PCMK_XA_PROMOTED_NODE_MAX_LEGACY string constant
    • libcrmcommon: argument to crm_time_check() is now const
    • libcrmcommon: argument to pcmk_controld_api_replies_expected() is now const
    • libcrmcommon: argument to pcmk_xml_attrs2nvpairs() is now const
    • libcrmcommon: argument to xml2list() is now const
    • libcrmcommon: argument to xml_acl_denied() is now const
    • libcrmcommon: argument to xml_acl_enabled() is now const
    • libcrmcommon: argument to xml_get_path() is now const
    • libcrmcommon: arguments to crm_time_add() are now const
    • libcrmcommon: arguments to crm_time_compare() are now const
    • libcrmcommon: arguments to crm_time_subtract() are now const
    • libcrmcommon: argv argument to crm_log_preinit() is now char *const *
    • libcrmcommon: crm_time_calculate_duration() arguments are now const
    • libcrmcommon: deprecate CRM_ATTR_RA_VERSION
    • libcrmcommon: deprecate crm_destroy_xml()
    • libcrmcommon: deprecate crm_ipc_server_error
    • libcrmcommon: deprecate crm_ipc_server_info
    • libcrmcommon: deprecate CRM_OP_LRM_QUERY
    • libcrmcommon: deprecate crm_str()
    • libcrmcommon: deprecate PCMK_XE_PROMOTED_MAX_LEGACY string constant
    • libcrmcommon: deprecate PCMK_XE_PROMOTED_NODE_MAX_LEGACY constant
    • libcrmcommon: deprecate score2char()
    • libcrmcommon: deprecate score2char_stack()
    • libcrmcommon: deprecate XML_ATTR_RA_VERSION
    • libcrmcommon: deprecate xml_get_path()
    • libcrmcommon: deprecate XML_PARANOIA_CHECKS
    • libcrmcommon: deprecate XML_TAG_OP_VER_ATTRS
    • libcrmcommon: deprecate XML_TAG_OP_VER_META
    • libcrmcommon: deprecate XML_TAG_RSC_VER_ATTRS
    • libcrmcommon: dt argument of crm_time_get_gregorian() is now const
    • libcrmcommon: dt argument of crm_time_get_isoweek() is now const
    • libcrmcommon: dt argument of crm_time_get_ordinal() is now const
    • libcrmcommon: dt argument of crm_time_get_timeofday() is now const
    • libcrmcommon: dt argument of crm_time_get_timezone() is now const
    • libcrmcommon: first argument to create_reply() is now const
    • libcrmcommon: first argument to crm_copy_xml_element() is now const
    • libcrmcommon: first argument to find_xml_node() is now const
    • libcrmcommon: first argument to get_message_xml() is now const
    • libcrmcommon: first argument to pcmk_ipc_name() is now const
    • libcrmcommon: first argument to xml_patch_versions() is now const
    • libcrmcommon: last argument to crm_write_blackbox() is now const
    • libcrmcommon: add pcmk_rc_duplicate_id
    • libcrmcommon: add pcmk_result_get_strings()
    • libcrmcommon: add pcmk_result_type enum
    • libcrmcommon: add PCMK_XE_DATE_EXPRESSION constant
    • libcrmcommon: add PCMK_XE_OP_EXPRESSION constant
    • libcrmcommon: add PCMK_XE_RSC_EXPRESSION constant
    • libcrmcommon: first argument to crm_time_as_string() is now const
    • libcrmcommon: crm_time_t argument to crm_time_log_alias() is now const
    • libcrmcommon: argument to crm_time_get_seconds() is now const
    • libcrmcommon: argument to crm_time_get_seconds_since_epoch() is now const
    • libcrmcommon: sixth argument to log_data_element() is now const
    • libcrmcommon: source argument to crm_time_set() is now const
    • libcrmcommon: source argument to crm_time_set_timet() is now const
    • libcrmcommon: source argument to pcmk_copy_time() is now const
    • libpacemaker: add pcmk_check_rule()
    • libpacemaker: add pcmk_check_rules()
    • libpacemaker: add pcmk_show_result_code()
    • libpacemaker: add pcmk_list_result_codes()
    • libpacemaker: add pcmk_rc_disp_flags enum
    • libpacemaker: ipc_name argument to pcmk_pacemakerd_status() is now const
    • libpe_rules: deprecate version_expr enum value
    • libpe_rules: second argument to pe_eval_nvpairs() is now const
    • libpe_status: argument to pe_rsc_is_anon_clone() is now const
    • libpe_status: argument to pe_rsc_is_unique_clone() is now const
    • libpe_status: deprecate enum pe_graph_flags
    • libpe_status: first argument to pe_rsc_is_clone() is now const
    • libpe_status: two arguments to get_rsc_attributes() are now const
    • libpe_status: second argument to pe_eval_versioned_attributes() is now const
    • libpe_status: second argument to pe_rsc_params() is now const
    • libstonithd: deprecate stonith_event_t:message
    • libstonithd: deprecate stonith_event_t:type
    • libstonithd: last argument to stonith_api_operations_t:register_device() is now const
    • libstonithd: last argument to stonith_api_operations_t:register_level() is now const
    • libstonithd: last argument to stonith_api_operations_t:register_level_full() is now const
    • libstonithd: params argument to stonith_api_operations_t:validate() is now const

Pacemaker 2.1.4 - Final

15 Jun 14:30
Compare
Choose a tag to compare

Info

  • Mon Jun 13 2022 Ken Gaillot kgaillot@redhat.com Pacemaker-2.1.4
  • Changesets: 17
  • Diff: 9 files changed, 52 insertions(+), 18 deletions(-)

Known regressions introduced in this release

  • None

Fixes since Pacemaker-2.1.3

  • fencing: get target-by-attribute working again (regression in 2.1.3)
  • fencing: avoid use-after-free when processing self-fencing requests with topology (regression in 2.1.3)
  • resources: typo in HealthSMART meta-data (regression in 2.1.3)
  • fencing: avoid memory leaks when processing topology requests
  • fencing: delegate shouldn't matter when checking equivalent fencing
  • tools: fix CSS syntax error in crm_mon --output-as=html

Pacemaker 2.1.4 - Release Candidate 1

03 Jun 21:17
ea9bebf
Compare
Choose a tag to compare
Pre-release

Release info

  • Fri Jun 03 2022 Ken Gaillot kgaillot@redhat.com Pacemaker-2.1.4-rc1
  • Changesets: 11
  • Diff: 8 files changed, 31 insertions(+), 11 deletions(-)

Known regressions introduced in this release

  • None

Fixes since Pacemaker-2.1.3

  • fencing: get target-by-attribute working again (regression in 2.1.3)
  • fencing: avoid use-after-free when processing self-fencing requests with topology (regression in 2.1.3)
  • fencing: avoid memory leaks when processing topology requests
  • fencing: delegate shouldn't matter when checking equivalent fencing
  • tools: fix CSS syntax error in crm_mon --output-as=html

Pacemaker 2.1.3 - Final

01 Jun 23:34
Compare
Choose a tag to compare

Release info

  • Fri Jun 03 2022 Ken Gaillot kgaillot@redhat.com Pacemaker-2.1.4-rc1
  • Changesets: 11
  • Diff: 8 files changed, 31 insertions(+), 11 deletions(-)

Known regressions introduced in this release

  • Asynchronous IPC clients can leak file descriptors (fixed in 2.1.8)
  • The scheduler can crash when logging an invalid utilization value (fixed in 2.1.8)
  • Resources that need to move because they were reordered in the CIB might not do so until the next natural transition (fixed in 2.1.5)
  • Fence devices cannot be registered if the local node is not in the CIB (fixed in 2.1.5)
  • crm_attribute --utilization incorrectly sets the value of node utilization attributes (fixed in 2.1.5)
  • crm_attribute --quiet outputs "(null)" instead of nothing if the requested attribute has no value (fixed in 2.1.5)
  • crm_mon can return a failure code if pacemaker is shutting down, which can cause resource failures with resource agents that run crm_mon in monitor or stop actions (fixed in 2.1.5)
  • crm_mon can leak memory when run in daemon mode (fixed in 2.1.5)
  • attrd_updater rejects (deprecated and unused) --quiet option (fixed in 2.1.5)
  • Fencing devices configured with target-by-attribute no longer work (fixed in 2.1.4)
  • When debug logging is enabled, the fencer can have a use-after-free memory error when processing self-fencing requests with topology (fixed in 2.1.4)
  • ocf:pacemaker:HealthSMART meta-data has a typo (fixed in 2.1.4)

Features added since Pacemaker-2.1.2

  • Internal failures of resource actions (such as an OCF agent not being found) are shown with a detailed exit reason in logs, crm_mon output, etc.
  • Support for CIB entries with type="ping" is deprecated (this was an undocumented means of defining a quorum-only node)
  • build: configure script supports experimental --enable-nls option to enable native language translations (currently only Chinese translations of certain help text are available)
  • rpm: crm_attribute is now part of the pacemaker-cli package instead of the pacemaker package
  • CIB: resources support allow-unhealthy-nodes meta-attribute to exempt the resource from bans due to node health checks (particularly useful for health monitoring resources themselves)
  • CIB: multiple-active cluster property can be set to "stop_unexpected" to leave the expected instance running and stop only any unexpected ones
  • CIB: bundles support resource utilization
  • pacemakerd: regularly check that subdaemons are active and accepting IPC connections so sbd can self-fence a node with a malfunctioning subdaemon
  • pacemaker-schedulerd: support --output-as/--output-to options including XML output with interactive options
  • tools: cibadmin --show-access option to show CIB colorized for ACLs
  • tools: crm_attribute supports standard --output-as/--output-to options
  • tools: crm_mon output indicates if a node's health is yellow or red
  • tools: for probes that failed because the service is not installed or locally configured, crm_mon displays the resource as stopped rather than failed
  • tools: crm_rule supports standard --output-as/--output-to options, allows passing multiple -r options, and is no longer experimental
  • tools: stonith_admin fencing commands display reasons for failures
  • resource agents: HealthSMART supports OCF 1.1 standard and new OCF_RESKEY_dampen and OCF_RESKEY_smartctl parameters

Fixes since Pacemaker-2.1.2

  • build: avoid circular library dependency (regression introduced in 2.1.0)
  • systemd: if pacemakerd exits immediately after starting, wait 1 second before trying to respawn, and allow 5 attempts
  • fencer: get fencing completion time correctly (regression introduced in 2.1.2)
  • fencer: avoid memory leak when broadcasting history differences (regression introduced in 2.1.0)
  • controller: correctly match "node down" events so remote nodes don't get fenced when connection is stopped (regression introduced in 2.1.2)
  • executor: avoid possible double free during notify operation (regression introduced in 2.1.1)
  • tools: get stonith_admin -T/--tag option working again (regression introduced in 2.0.3)
  • resources: use correct syntax in Stateful meta-data (regression introduced in 2.1.0)
  • corosync: repeat corosync_cfg_trackstart if first attempt fails
  • libcrmcommon: retry IPC requests after EAGAIN errors
  • executor,scheduler: treat "no secrets" fence results as a hard error
  • fencing: handle dynamic target query failures better
  • fencing: don't set stonith action to pending if fork fails
  • pacemakerd: avoid race condition when subdaemaon is checked while exiting
  • scheduler: avoid memory leak when displaying clones in certain conditions
  • scheduler: properly set data set flags when scheduling actions
  • tools: support command-line crm_attribute calls on Pacemaker remote nodes whose node name in the cluster differs from their local hostname
  • tools: prevent possible crm_resource crashes if multiple commands specified

Public API changes since Pacemaker-2.1.2

  • libcrmcommon: pcmk_ipc_api_t supports scheduler IPC
  • libpacemaker: add pcmk_status() (equivalent to crm_mon)
  • libcib: deprecate get_object_parent()
  • libcib: deprecate get_object_path()
  • libcib: deprecate get_object_root()
  • libcrmcommon: add pcmk_cib_parent_name_for()
  • libcrmcommon: add pcmk_cib_xpath_for()
  • libcrmcommon: add pcmk_find_cib_element()
  • libcrmcommon: deprecate crm_xml_add_boolean()
  • libpe_status: add pe_flag_check_config
  • libpe_status: add pe_node_shared_s:data_set
  • libpe_status: add pe_rsc_restarting flag
  • libpe_status: add pe_rsc_stop_unexpected flag
  • libpe_status: add recovery_stop_unexpected to enum rsc_recovery_type
  • libpe_status: deprecate node_ping
  • libpe_status: deprecate pe_order_stonith_stop
  • libpe_status: deprecate pe_rsc_starting and pe_rsc_stopping
  • libstonithd: add exit_reason member to stonith_history_t
  • libstonithd: deprecate stonith_t:call_timeout
  • libstonithd: stonith_api_del_notification() with NULL second argument removes all notifications

Pacemaker 2.1.3 - Release Candidate 2

18 May 15:53
Compare
Choose a tag to compare
Pre-release
  • Features added since Pacemaker-2.1.3-rc1

    • rpm: crm_attribute is now part of the pacemaker-cli package instead of the pacemaker package
    • tools: the syntax for cibadmin's new ACL colorizing feature changed slightly
  • Fixes since Pacemaker-2.1.3-rc1

    • scheduler: make multiple-active="stop_unexpected" actually work
    • libcrmcommon: retry IPC requests after EAGAIN errors
    • tools: get attrd_updater -Y working again (regression in 2.1.3-rc1)
    • tools: support command-line crm_attribute calls on Pacemaker remote nodes whose node name in the cluster differs from their local hostname
  • Public API changes since Pacemaker-2.1.3-rc1

    • libstonithd: deprecate stonith_t:call_timeout

Pacemaker 2.1.3 - Release Candidate 1

21 Apr 21:15
Compare
Choose a tag to compare
Pre-release
  • Features added since Pacemaker-2.1.2

    • Internal failures of resource actions (such as an OCF agent not being found) are shown with a detailed exit reason in logs, crm_mon output, etc.
    • Support for CIB entries with type="ping" is deprecated (this was an undocumented means of defining a quorum-only node)
    • build: configure script supports experimental --enable-nls option to enable native language translations (currently only Chinese translations of certain help text are available)
    • CIB: resources support allow-unhealthy-nodes meta-attribute to exempt the resource from bans due to node health checks (particularly useful for health monitoring resources themselves)
    • CIB: multiple-active cluster property can be set to "stop_unexpected" to leave the expected instance running and stop only any unexpected ones
    • CIB: bundles support resource utilization
    • pacemakerd: regularly check that subdaemons are active and accepting IPC connections so sbd can self-fence a node with a malfunctioning subdaemon
    • pacemaker-schedulerd: support --output-as/--output-to options including XML output with interactive options
    • tools: cibadmin --show-access option to show CIB colorized for ACLs
    • tools: crm_attribute supports standard --output-as/--output-to options
    • tools: crm_mon output indicates if a node's health is yellow or red
    • tools: for probes that failed because the service is not installed or locally configured, crm_mon displays the resource as stopped rather than failed
    • tools: crm_rule supports standard --output-as/--output-to options, allows passing multiple -r options, and is no longer experimental
    • tools: stonith_admin fencing commands display reasons for failures
    • resource agents: HealthSMART supports OCF 1.1 standard and new OCF_RESKEY_dampen and OCF_RESKEY_smartctl parameters
  • Fixes since Pacemaker-2.1.2

    • build: avoid circular library dependency (regression introduced in 2.1.0)
    • systemd: if pacemakerd exits immediately after starting, wait 1 second before trying to respawn, and allow 5 attempts
    • fencer: get fencing completion time correctly (regression introduced in 2.1.2)
    • fencer: avoid memory leak when broadcasting history differences (regression introduced in 2.1.0)
    • controller: correctly match "node down" events so remote nodes don't get fenced when connection is stopped (regression introduced in 2.1.2)
    • executor: avoid possible double free during notify operation (regression introduced in 2.1.1)
    • tools: get stonith_admin -T/--tag option working again (regression introduced in 2.0.3)
    • resources: use correct syntax in Stateful meta-data (regression introduced in 2.1.0)
    • corosync: repeat corosync_cfg_trackstart if first attempt fails
    • executor,scheduler: treat "no secrets" fence results as a hard error
    • fencing: handle dynamic target query failures better
    • fencing: don't set stonith action to pending if fork fails
    • pacemakerd: avoid race condition when subdaemaon is checked while exiting
    • scheduler: avoid memory leak when displaying clones in certain conditions
    • scheduler: properly set data set flags when scheduling actions
    • tools: prevent possible crm_resource crashes if multiple commands specified
  • Public API changes since Pacemaker-2.1.2

    • libcrmcommon: pcmk_ipc_api_t supports scheduler IPC
    • libpacemaker: add pcmk_status() (equivalent to crm_mon)
    • libcib: deprecate get_object_parent()
    • libcib: deprecate get_object_path()
    • libcib: deprecate get_object_root()
    • libcrmcommon: add pcmk_cib_parent_name_for()
    • libcrmcommon: add pcmk_cib_xpath_for()
    • libcrmcommon: add pcmk_find_cib_element()
    • libcrmcommon: deprecate crm_xml_add_boolean()
    • libpe_status: add pe_flag_check_config
    • libpe_status: add pe_node_shared_s:data_set
    • libpe_status: add pe_rsc_restarting flag
    • libpe_status: add pe_rsc_stop_unexpected flag
    • libpe_status: add recovery_stop_unexpected to enum rsc_recovery_type
    • libpe_status: deprecate node_ping
    • libpe_status: deprecate pe_order_stonith_stop
    • libpe_status: deprecate pe_rsc_starting and pe_rsc_stopping
    • libstonithd: add exit_reason member to stonith_history_t
    • libstonithd: stonith_api_del_notification() with NULL second argument removes all notifications

Pacemaker 2.1.2 - Final

24 Nov 15:58
Compare
Choose a tag to compare

Known regressions introduced in this release

  • stonith_admin --validate XML output doesn't show validation failure messages (fixed in 2.1.5)
  • The fencer calculates an incorrect fencing completion time as shown in crm_mon etc. (fixed in 2.1.3)
  • Remote nodes may be fenced when their connection is stopped (fixed in 2.1.3)

Features added since Pacemaker-2.1.1

  • build: when built with --with-initdir, Pacemaker uses the value to find LSB resources (in addition to being where Pacemaker's own init scripts are installed)
  • build: cmocka is new dependency for unit tests ("make check")
  • rpm: fence_watchdog now comes with pacemaker package (not pacemaker-cli)
  • daemons: metadata for cluster options supports OCF 1.1 standard
  • executor: nagios warning results now map to OCF "degraded" result code
  • fencing: pcmk_delay_base can optionally specify different delays per node
  • fencing: pcmk_host_map supports escaped characters such as spaces in values
  • resources: HealthIOWait agent supports OCF 1.1 standard, and validate works
  • tools: crm_mon shows exit reasons for actions failed due to internal errors
  • tools: crm_mon failed action display is more human-friendly by default
  • tools: crm_resource --force-* now outputs exit reasons if available

Fixes since Pacemaker-2.1.1

  • pkg-config: return correct value for ocfdir (regression introduced in 2.1.0)
  • tools: fix crm_mon --hide-headers and related options (regression introduced in 2.0.4)
  • attrd: check election status upon node loss to avoid election timeout
  • controller: improved handling of executor connection failures
  • executor: properly detect systemd unit existence
  • pacemakerd: recover properly from Corosync crash
  • fencing: fencing results are now sorted with sub-second resolution
  • fencing: fix fence_watchdog version output, metadata output, and man page
  • fencing: mark state as done if remapped "on" times out
  • tools: map LSB status to OCF correctly with crm_resource --force-check

Public API changes since Pacemaker-2.1.1

  • libcrmcommon: deprecate PCMK_OCF_EXEC_ERROR
  • libcrmcommon: deprecate PCMK_OCF_PENDING
  • libcrmcommon: deprecate PCMK_OCF_SIGNAL
  • libcrmcommon: add CRM_EX_DEGRADED and CRM_EX_DEGRADED_PROMOTED
  • libcrmcommon: add enum pcmk_exec_status
  • libcrmcommon: add PCMK_EXEC_MAX
  • libcrmcommon: add PCMK_EXEC_NO_FENCE_DEVICE
  • libcrmcommon: add PCMK_EXEC_NO_SECRETS
  • libcrmcommon: add pcmk_exec_status_str()
  • libcrmcommon: add pcmk_rc2ocf()
  • libcrmcommon: deprecate PCMK_OCF_TIMEOUT
  • libcrmservice: add services_result2ocf()
  • libcrmservice: deprecate enum op_status
  • libcrmservice: deprecate LSB_ROOT_DIR
  • libcrmservice: deprecate NAGIOS_NOT_INSTALLED
  • libcrmservice: deprecate NAGIOS_STATE_DEPENDENT
  • libcrmservice: deprecate services_get_ocf_exitcode()
  • libcrmservice: deprecate services_list() and services_action_create()
  • libcrmservice: deprecate services_lrm_status_str()
  • libpacemaker: add enum pcmk_sim_flags
  • libpacemaker: add pcmk_injections_t
  • libpacemaker: add pcmk_free_injections()
  • libpacemaker: add pcmk_simulate()
  • libstonithd: add opaque member to stonith_event_t
  • libstonithd: add opaque member to stonith_callback_data_t

Pacemaker 2.1.2 - Release Candidate 2

16 Nov 18:50
Compare
Choose a tag to compare
Pre-release
  • Fixes since Pacemaker-2.1.2-rc1
    • fencing: mark state as done if remapped "on" times out
    • executor: avoid memory leak for failed pending op
      (regression introduced in 2.1.2-rc1)
    • pkg-config: return correct value for ocfdir (regression introduced in 2.1.0)

Pacemaker 2.1.2 - Release Candidate 1

04 Nov 17:15
62c36e2
Compare
Choose a tag to compare
Pre-release
  • Features added since Pacemaker-2.1.1

    • build: when built with --with-initdir, Pacemaker uses the value to find
      LSB resources (in addition to being where Pacemaker's own
      init scripts are installed)
    • build: cmocka is new dependency for unit tests ("make check")
    • rpm: fence_watchdog now comes with pacemaker package (not pacemaker-cli)
    • daemons: metadata for cluster options supports OCF 1.1 standard
    • executor: nagios warning results now map to OCF "degraded" result code
    • fencing: pcmk_delay_base can optionally specify different delays per node
    • fencing: pcmk_host_map supports escaped characters such as spaces in values
    • resources: HealthIOWait agent supports OCF 1.1 standard, and validate works
    • tools: crm_mon shows exit reasons for actions failed due to internal errors
    • tools: crm_mon failed action display is more human-friendly by default
    • tools: crm_resource --force-* now outputs exit reasons if available
  • Fixes since Pacemaker-2.1.1

    • tools: fix crm_mon --hide-headers and related options
      (regression introduced in 2.0.4)
    • attrd: check election status upon node loss to avoid election timeout
    • controller: improved handling of executor connection failures
    • executor: properly detect systemd unit existence
    • pacemakerd: recover properly from Corosync crash
    • fencing: fencing results are now sorted with sub-second resolution
    • fencing: fix fence_watchdog version output, metadata output, and man page
    • tools: map LSB status to OCF correctly with crm_resource --force-check
  • Public API changes since Pacemaker-2.1.1

    • libcrmcommon: deprecate PCMK_OCF_EXEC_ERROR
    • libcrmcommon: deprecate PCMK_OCF_PENDING
    • libcrmcommon: deprecate PCMK_OCF_SIGNAL
    • libcrmcommon: add CRM_EX_DEGRADED and CRM_EX_DEGRADED_PROMOTED
    • libcrmcommon: add enum pcmk_exec_status
    • libcrmcommon: add PCMK_EXEC_MAX
    • libcrmcommon: add PCMK_EXEC_NO_FENCE_DEVICE
    • libcrmcommon: add PCMK_EXEC_NO_SECRETS
    • libcrmcommon: add pcmk_exec_status_str()
    • libcrmcommon: add pcmk_rc2ocf()
    • libcrmcommon: deprecate PCMK_OCF_TIMEOUT
    • libcrmservice: add services_result2ocf()
    • libcrmservice: deprecate enum op_status
    • libcrmservice: deprecate LSB_ROOT_DIR
    • libcrmservice: deprecate NAGIOS_NOT_INSTALLED
    • libcrmservice: deprecate NAGIOS_STATE_DEPENDENT
    • libcrmservice: deprecate services_get_ocf_exitcode()
    • libcrmservice: deprecate services_list() and services_action_create()
    • libcrmservice: deprecate services_lrm_status_str()
    • libpacemaker: add enum pcmk_sim_flags
    • libpacemaker: add pcmk_injections_t
    • libpacemaker: add pcmk_free_injections()
    • libpacemaker: add pcmk_simulate()

Pacemaker 2.1.1 - Final

09 Sep 23:07
Compare
Choose a tag to compare

Known regressions introduced in this release

  • The executor may have a double-free error when performing notifications (fixed in 2.1.3)
  • pacemakerd -S no longer waits for cluster to shut down before returning (fixed in 2.1.6)

Features added since Pacemaker-2.1.0

  • enhanced support for OCF Resource Agent API 1.1 standard
    • ocf:pacemaker:attribute and ocf:pacemaker:ping agents now support 1.1
    • tools: crm_resource passes output format to agents so they will use it if supported
    • tools: crm_resource --validate and --force-check options accept optional check level to pass to agent
  • tools: crm_mon XML output includes stonith-timeout-ms and priority-fencing-delay-ms cluster properties
  • pacemakerd: support --output-as/--output-to options including XML output with interactive options such as --features

Fixes since Pacemaker-2.1.0

  • pacemaker-attrd: avoid repeated unfencing of remote nodes when DC joined cluster after remote was up
  • controller: ensure newly joining node learns the node names of non-DCs
  • controller: ensure lost node's transient attributes are cleared without DC
  • scheduler: avoid invalid transition when group member is unmanaged (CLBZ#5423)
  • scheduler: don't schedule probes of unmanaged resources on pending nodes
  • executor: avoid crash after TLS connection errors (regression introduced in 2.0.4)
  • fencing: avoid repeated attempts to get (nonexistent) meta-data for watchdog device (regression introduced in 2.1.0)
  • fencing: select correct device when pcmk_host_check="dynamic-list" and pcmk_host_map are both specified (CLBZ#5474)
  • tools: crm_attribute supports node attribute values starting with a '-' again (regression introduced in 2.1.0)
  • tools: crm_attribute deprecated --get-value option does not require an argument (regression introduced in 2.1.0)
  • tools: avoid crm_mon memory leaks when filtering by resource or node (regressions introduced in 2.0.4 and 2.0.5)
  • tools: crm_mon should show active unmanaged resources on offline nodes without requiring -r/--inactive
  • tools: better crm_resource error messages for unsupported resource types
  • tools: crm_simulate --show-failcounts includes all relevant information
  • tools: crm_mon should not show inactive group members without --inactive
  • tools: crm_mon XML output should show members of cloned groups
  • libcrmcommon: correctly handle case-sensitive XML IDs

Public API changes since Pacemaker-2.1.0

  • libcrmcommon: add pcmk_section_e type
  • libcrmcommon: add pcmk_show_opt_e type
  • libcrmcommon: add pcmk_pacemakerd_api_shutdown()
  • libpe_status: deprecate enum pe_print_options