Releases: ClusterLabs/pacemaker
Releases · ClusterLabs/pacemaker
Pacemaker 2.1.5 - Release Candidate 1
-
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
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
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
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
-
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
-
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
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
- 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
-
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
- build: when built with --with-initdir, Pacemaker uses the value to find
-
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
- tools: fix crm_mon --hide-headers and related options
-
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
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