Pacemaker 2.1.3 - Final
kgaillot
released this
01 Jun 23:34
·
7287 commits
to 2.1
since this release
Release info
- Fri Jun 03 2022 Ken Gaillot [email protected] 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