Releases: ClusterLabs/pacemaker
Pacemaker 2.1.9 - Final
- 169 commits with 252 files changed, 4498 insertions(+), 2259 deletions(-)
Known regressions introduced in this release
- None
Features added since Pacemaker-2.1.8
- build: support building with libxml2 2.13.0 or newer
- CIB: new no-quorum-policy value "fence" replaces now-deprecated "suicide"
- tools: iso8601 supports standard --output-as/--output-to arguments
Fixes since Pacemaker-2.1.8
- tools: restore crmadmin default timeout to 30 seconds instead of none (regression introduced in 2.1.5)
- tools: crm_resource did not return error if schema upgrade failed (regression introduced in 2.1.8)
- CIB: detect newly created alerts section (regression introduced in 2.1.7)
- CIB: treat empty environment variables (CIB_file etc.) same as unset
- CIB: remote CIB administration now cannot block server
- executor: don't block during TLS handshakes
- executor: discard any agent output after about 10MiB
- scheduler: avoid memory leak when checking for unfencing-capable devices
- libcrmcommon: check for overflow when parsing and manipulating date/times
- tools: properly handle resources removed from configuration when displaying node history in crm_mon
- tools: crmadmin -D/--dc_lookup no longer hangs when there is no DC
- tools: don't assert if stdout or stderr is closed by caller
Public API changes since Pacemaker-2.1.8
- libcrmcommon: add enum pcmk_ra_caps value pcmk_ra_cap_cli_exec
- libcrmcommon: add pcmk_cib_node_shutdown()
- libcrmcommon: add pcmk_parse_score()
- libcrmcommon: deprecate CRM_ASSERT()
- libcrmcommon: deprecate PCMK_VALUE_FENCE_LEGACY defined constant
- libstonithd: add enum stonith_call_options value st_opt_allow_self_fencing
- libstonithd: deprecate enum stonith_call_options value st_opt_allow_suicide
- libstonithd: deprecate enum stonith_call_options value st_opt_scope_local
- libstonithd: deprecate enum stonith_call_options value st_opt_verbose
Pacemaker 2.1.9 - Release Candidate 3
-
9 commits with 5 files changed, 47 insertions(+), 21 deletions(-)
-
Fixes since Pacemaker-2.1.9-rc2
- tools: crmadmin -D/--dc_lookup no longer hangs when there is no DC
- tools: restore crmadmin default timeout to 30 seconds instead of none (regression introduced in 2.1.5)
Pacemaker 2.1.9 - Release Candidate 2
-
11 commits with 10 files changed, 298 insertions(+), 68 deletions(-)
-
Fixes since Pacemaker-2.1.9-rc1
- tools: crm_resource did not return error if schema upgrade failed (regression introduced in 2.1.8)
- libcrmcommon: avoid potential overflow when adding seconds
- libcib: remote CIB administration now cannot block server
- tools: don't assert if stdout or stderr is closed by caller
Pacemaker 2.1.9 - Release Candidate 1
-
134 commits with 245 files changed, 3919 insertions(+), 2142 deletions(-)
-
Features added since Pacemaker-2.1.8
- CIB: allow no-quorum-policy "fence" and deprecate "suicide"
- build: support building with latest libxml2
-
Fixes since Pacemaker-2.1.8
- CIB: detect newly created alerts section (regression introduced in 2.1.7)
- CIB: treat empty environment variables (CIB_file etc.) same as unset
- executor: don't block during TLS handshakes
- executor: discard any agent output after about 10MiB
- scheduler: avoid memory leak when checking for unfencing-capable devices
- libcrmcommon: check for overflow when parsing and manipulting date/times
- tools: properly handle resources removed from configuration when displaying node history in crm_mon
-
Public API changes since Pacemaker-2.1.8
- libcrmcommon: add enum pcmk_ra_caps value pcmk_ra_cap_cli_exec
- libcrmcommon: add pcmk_cib_node_shutdown()
- libcrmcommon: add pcmk_parse_score()
- libcrmcommon: deprecate CRM_ASSERT()
- libcrmcommon: deprecate PCMK_VALUE_FENCE_LEGACY defined constant
- libstonithd: add enum stonith_call_options value st_opt_allow_self_fencing
- libstonithd: deprecate enum stonith_call_options value st_opt_allow_suicide
- libstonithd: deprecate enum stonith_call_options value st_opt_scope_local
- libstonithd: deprecate enum stonith_call_options value st_opt_verbose
Pacemaker 2.1.8 - Final
- 2559 commits with 511 files changed, 46898 insertions(+), 23417 deletions(-)
Known regressions introduced in this release
- tools: crm_resource does not return error if schema upgrade fails (fixed in 2.1.9)
Features added since Pacemaker-2.1.7
- local options: support PCMK_panic_action="off" or "sync-off"
- local options: deprecate PCMK_dh_min_bits environment variable
- CIB: deprecate omitting validate-with from the CIB or setting it to "none" or an unknown schema
- CIB: deprecate "default" and "#default" as explicit meta-attribute values
- CIB: deprecate resource-discovery-enabled node attribute
- CIB: deprecate support for multiple top-level rules within a location constraint (a single rule may still contain multiple sub-rules)
- CIB: deprecate support for node attribute expressions in rules beneath op, op_defaults, or fence device meta-attributes
- CIB: deprecate support for rkt in bundles
- CIB: drop support for (nonworking) rules based on the #role node attribute (role-based location constraints may still contain rules)
- CIB manager,controller,fencer,scheduler: deprecate "metadata" command-line option (instead, use crm_attribute --list-options mentioned below)
- pacemaker-remoted: newer schema files are now downloaded from the cluster, allowing more command-line tools to work when the Pacemaker Remote node has an older Pacemaker version than the cluster
- agents: deprecate the ocf:pacemaker:o2cb resource agent
- tools: deprecate --text-fancy command-line option in all tools
- tools: crm_attribute --list-options lists all possible cluster options
- tools: crm_resource --list-options lists all possible primitive meta-attributes or special fence device parameters
- tools: crm_verify now reports invalid fence topology levels
- tools: new --score option for cibadmin --modify and crm_attribute --update enables expansion of "++" and "+=" in attribute values without a warning (using such expansions without --score is now deprecated)
- tools: crm_ticket supports standard --output-as/--output-to arguments
Fixes since Pacemaker-2.1.7
- tools: restore the (deprecated) ability to automatically correct malformed XML passed via standard input (regression introduced in 2.1.7)
- tools: crm_verify distinguishes configuration warnings and errors (regression introduced in 2.1.7)
- tools: crm_node -i must initialize nodeid before passing pointer (regression introduced in 2.1.7)
- CIB manager: avoid memory leak from asynchronous client requests (regression introduced in 2.1.7)
- scheduler: don't apply colocations twice for promotion priority (regression introduced in 2.1.7)
- CIB: restore the (deprecated) ability to use validate-with="pacemaker-next" (regression introduced in 2.1.6)
- controller: avoid zombie children when asynchronous actions exit while a synchronous meta-data action is in progress (regression introduced in 2.1.5)
- libcrmcommon: avoid file descriptor leak in asynchronous IPC clients (regression introduced in 2.1.3)
- scheduler: avoid crash when logging an invalid utilization attribute value (regression introduced in 2.1.3)
- tools: crm_mon no longer crashes on some platforms when the fencer connection is lost (regression introduced in 2.1.0)
- attribute manager: write Pacemaker Remote node attributes even if node is not cached
- attribute manager: avoid use-after-free when remote node in cluster node cache
- attribute manager: correctly propagate utilization attributes to peers to avoid the possibility of later being written out as regular node attributes
- fencer: correctly parse action-specific timeouts with units other than seconds
- fencer: avoid unnecessary timeouts when the watchdog timeout is greater than a query timeout, per-device fencing timeout, or stonith-timeout
- libcrmcommon: avoid possible buffer overflows when parsing and formatting date/times
- libcrmcommon: don't assume next schema will validate when not transforming
- libcrmcommon: when displaying XML, don't show "" for empty attribute values, and properly escape special characters
- libstonithd: avoid double free when invalid replies are received
- scheduler: if the user specifies a timeout of 0, use the default 20s as documented
- scheduler: consider group's location constraints when a member is an explicit dependent in a colocation constraint
- scheduler: sort promotable cloned group instances properly for promotion
- agents: ocf:pacemaker:SysInfo respects attrd_updater dampening
- agents: ocf:pacemaker:HealthSMART properly handles SMART data missing temperature
- tools: cibadmin, crm_attribute, crm_node, crm_resource, crm_shadow, and crm_ticket now retry CIB connections after transient failures
- tools: cibadmin --replace now leaves "++" and "+=" unexpanded in XML
attribute values rather than wrongly treat them as 0 - tools: cibsecret avoids possible truncation issue in process listing
- tools: crm_attribute --node localhost or --node auto works
- tools: crm_resource ignores resource meta-attribute node expressions for consistency with how the cluster works
- tools: crm_resource honors rules when getting utilization attributes
- tools: crm_verify --output-as=xml includes detailed messages
- tools: crm_mon exits upon loss of an attached pseudo-terminal to avoid possibility of 100% CPU usage (seen when run via sudo with use_pty configured)
Public API changes since Pacemaker-2.1.7
- libcib: add cib_score_update cib_call_options value
- libcib: deprecate functions cib_get_generation(), cib_metadata(), cib_pref(), query_node_uname(), and set_standby()
- libcib: deprecate T_CIB_DIFF_NOTIFY
- libcib: deprecate
<failed>
element in CIB create reply - libcrmcluster: add enum pcmk_cluster_layer
- libcrmcluster: add functions pcmk_cluster_connect(), pcmk_cluster_disconnect(), pcmk_cluster_layer_text(), pcmk_cluster_set_destroy_fn(), pcmk_cpg_set_confchg_fn(), pcmk_cpg_set_deliver_fn(), and pcmk_get_cluster_layer()
- libcrmcluster: add type pcmk_cluster_t
- libcrmcluster: deprecate functions cluster_connect_cpg(), cluster_disconnect_cpg(), crm_active_peers(), crm_cluster_connect(), crm_cluster_disconnect(), crm_get_peer(), crm_get_peer_full(), crm_is_corosync_peer_active(), crm_is_peer_active(), crm_join_phase_str(), crm_peer_destroy(), crm_peer_init(), crm_peer_uname(), crm_peer_uuid(), crm_remote_node_cache_size(), crm_remote_peer_cache_refresh(), crm_remote_peer_cache_remove(), crm_remote_peer_get(), crm_set_autoreap(), crm_set_status_callback(), get_cluster_type(), get_local_nodeid(), get_local_node_name(), get_node_name(), is_corosync_cluster(), name_for_cluster_type(), pcmk_cpg_membership(), pcmk_message_common_cs(), reap_crm_member(), send_cluster_message(), send_cluster_text(), and text2msg_type()
- libcrmcluster: deprecate enums crm_ais_msg_types, crm_status_type, cluster_type_e, crm_ais_msg_class, crm_get_peer_flags, crm_join_phase, and crm_node_flags, including all their values
- libcrmcluster: deprecate global variables crm_have_quorum, crm_peer_cache, crm_peer_seq, and crm_remote_peer_cache
- libcrmcluster: deprecate crm_cluster_t and struct crm_cluster_s, including all its members
- libcrmcluster: deprecate crm_node_t and struct crm_peer_node_s, including all its members
- libcrmcluster: deprecate constants CRM_NODE_LOST and CRM_NODE_MEMBER
- libcrmcommon: add constants PCMK_ACTION_METADATA, PCMK_META_ALLOW_MIGRATE, PCMK_META_ALLOW_UNHEALTHY_NODES, PCMK_META_CONTAINER_ATTRIBUTE_TARGET, PCMK_META_CRITICAL, PCMK_META_GLOBALLY_UNIQUE, PCMK_META_INTERLEAVE, PCMK_META_INTERVAL, PCMK_META_INTERVAL_ORIGIN, PCMK_META_IS_MANAGED, PCMK_META_MAINTENANCE, PCMK_META_MULTIPLE_ACTIVE, PCMK_META_NOTIFY, PCMK_META_ON_FAIL, PCMK_META_ORDERED, PCMK_META_PRIORITY, PCMK_META_PROMOTABLE, PCMK_META_RECORD_PENDING, PCMK_META_REMOTE_ADDR, PCMK_META_REMOTE_ALLOW_MIGRATE, PCMK_META_REMOTE_CONNECT_TIMEOUT, PCMK_META_REMOTE_NODE, PCMK_META_REMOTE_PORT, PCMK_META_REQUIRES, PCMK_META_RESOURCE_STICKINESS, PCMK_META_START_DELAY, PCMK_META_TARGET_ROLE, PCMK_META_TIMEOUT, PCMK_META_TIMESTAMP_FORMAT, PCMK_NODE_ATTR_MAINTENANCE, PCMK_NODE_ATTR_STANDBY, PCMK_OPT_BATCH_LIMIT, PCMK_OPT_CLUSTER_DELAY, PCMK_OPT_CLUSTER_INFRASTRUCTURE, PCMK_OPT_CLUSTER_IPC_LIMIT, PCMK_OPT_CLUSTER_NAME, PCMK_OPT_CLUSTER_RECHECK_INTERVAL, PCMK_OPT_CONCURRENT_FENCING, PCMK_OPT_DC_DEADTIME, PCMK_OPT_DC_VERSION, PCMK_OPT_ELECTION_TIMEOUT, PCMK_OPT_ENABLE_ACL, PCMK_OPT_ENABLE_STARTUP_PROBES, PCMK_OPT_FENCE_REACTION, PCMK_OPT_HAVE_WATCHDOG, PCMK_OPT_JOIN_FINALIZATION_TIMEOUT, PCMK_OPT_JOIN_INTEGRATION_TIMEOUT, PCMK_OPT_LOAD_THRESHOLD, PCMK_OPT_MAINTENANCE_MODE, PCMK_OPT_MIGRATION_LIMIT, PCMK_OPT_NODE_ACTION_LIMIT, PCMK_OPT_NODE_HEALTH_BASE, PCMK_OPT_NODE_HEALTH_GREEN, PCMK_OPT_NODE_HEALTH_RED, PCMK_OPT_NODE_HEALTH_STRATEGY, PCMK_OPT_NODE_HEALTH_YELLOW, PCMK_OPT_NODE_PENDING_TIMEOUT, PCMK_OPT_NO_QUORUM_POLICY, PCMK_OPT_PE_ERROR_SERIES_MAX, PCMK_OPT_PE_INPUT_SERIES_MAX, PCMK_OPT_PE_WARN_SERIES_MAX, PCMK_OPT_PLACEMENT_STRATEGY, PCMK_OPT_PRIORITY_FENCING_DELAY, PCMK_OPT_SHUTDOWN_ESCALATION, PCMK_OPT_SHUTDOWN_LOCK, PCMK_OPT_SHUTDOWN_LOCK_LIMIT, PCMK_OPT_STARTUP_FENCING, PCMK_OPT_START_FAILURE_IS_FATAL, PCMK_OPT_STONITH_ACTION, PCMK_OPT_STONITH_ENABLED, PCMK_OPT_STONITH_MAX_ATTEMPTS, PCMK_OPT_STONITH_TIMEOUT, PCMK_OPT_STONITH_WATCHDOG_TIMEOUT, PCMK_OPT_STOP_ALL_RESOURCES, PCMK_OPT_STOP_ORPHAN_ACTIONS, PCMK_OPT_STOP_ORPHAN_RESOURCES, PCMK_OPT_SYMMETRIC_CLUSTER, PCMK_OPT_TRANSITION_DELAY, PCMK_REMOTE_RA_ADDR, PCMK_REMOTE_RA_PORT, PCMK_REMOTE_RA_RECONNECT_INTERVAL, PCMK_REMOTE_RA_SERVER, PCMK_ROLE_PROMOTED, PCMK_ROLE_STARTED, PCMK_ROLE_STOPPED, PCMK_ROLE_UNPROMOTED, PCMK_SCORE_INFINITY, PCMK_VALUE_ALWAYS, PCMK_VALUE_AND, PCMK_VALUE_BALANCED, PCMK_VALUE_BLOCK, PCMK_VALUE_BOOLEAN, PCMK_VALUE_CIB_BOOTSTRAP_OPTIONS, PCMK_VALUE_COROSYNC, PCMK_VALUE_...
Pacemaker 2.1.8 - Release Candidate 4
-
6 commits with 21 files changed, 126 insertions(+), 38 deletions(-)
-
Features added since Pacemaker-2.1.8-rc3
- tools: crm_verify now reports invalid fence topology levels
-
Fixes since Pacemaker-2.1.8-rc3
- tools: crm_node -i must initialize nodeid before passing pointer (regression introduced in 2.1.7)
- tools: cibadmin, crm_attribute, crm_node, crm_resource, crm_shadow, and crm_ticket now retry CIB connections after transient failures
Pacemaker 2.1.8 - Release Candidate 3
-
16 commits with 11 files changed, 157 insertions(+), 57 deletions(-)
-
Features added since Pacemaker-2.1.8-rc2
- sysconfig: deprecate PCMK_dh_min_bits environment variable
-
Fixes since Pacemaker-2.1.8-rc2
- libcrmcluster: use local hostname for node name if not configured in Corosync (regression introduced in 2.1.8-rc1)
- tools: crm_verify distinguishes configuration warnings and errors (regression introduced in 2.1.7)
- tools: avoid double-free XML in crm_verify after schema update (regression introduced in 2.1.8-rc1)
- libcrmcommon: avoid potential buffer overflows when formatting date/times
- scheduler: consider group's location constraints when a member is an explicit dependent in a colocation constraint
Pacemaker 2.1.8 - Release Candidate 2
-
38 commits with 23 files changed, 600 insertions(+), 283 deletions(-)
-
Features added since Pacemaker-2.1.8-rc1
- libcrmcommon: support PCMK_panic_action="off" or "sync-off"
-
Fixes since Pacemaker-2.1.8-rc1
- libcrmcommon: avoid possible buffer overflows when parsing date/times
- libpacemaker: correctly retrieve any existing fail-count for increment (regression introduced in 2.1.8-rc1)
- libstonithd: avoid double free when invalid replies are received
- libstonithd: avoid use-after-free when retrieving metadata of Linux-HA fence agents (regression introduced in 2.1.8-rc1)
- libstonithd: free escaped metadata descriptions with g_free() (regression introduced in 2.1.8-rc1)
- tools: restore whitespace to attrd_updater query output (regression introduced in 2.1.8-rc1)
Pacemaker 2.1.8 - Release Candidate 1
-
2480 commits with 507 files changed, 45891 insertions(+), 22991 deletions(-)
-
Features added since Pacemaker-2.1.7
- CIB: deprecate omitting validate-with from the CIB or setting it to "none" or an unknown schema
- CIB: deprecate "default" and "#default" as explicit meta-attribute values
- CIB: deprecate resource-discovery-enabled node attribute
- CIB: deprecate support for multiple top-level rules within a location constraint (a single rule may still contain multiple sub-rules)
- CIB: deprecate support for node attribute expressions in rules beneath op, op_defaults, or fence device meta-attributes
- CIB: deprecate support for rkt in bundles
- CIB: drop support for (nonworking) rules based on the #role node attribute (role-based location constraints may still contain rules)
- CIB manager,controller,fencer,scheduler: deprecate "metadata" command-line option (instead, use crm_attribute --list-options mentioned below)
- pacemaker-remoted: newer schema files are now downloaded from the cluster, allowing more command-line tools to work when the Pacemaker Remote node has an older Pacemaker version
- agents: deprecate the ocf:pacemaker:o2cb resource agent
- tools: crm_attribute --list-options lists all possible cluster options
- tools: crm_resource --list-options lists all possible primitive meta-attributes or special fence device parameters
- tools: new --score option for cibadmin --modify and crm_attribute --update enables expansion of "++" and "+=" in attribute values without a warning (using such expansions without --score is now deprecated)
- tools: crm_ticket supports standard --output-as/--output-to arguments
- tools: deprecate --text-fancy standard command-line option
-
Fixes since Pacemaker-2.1.7
- tools: restore the (deprecated) ability to automatically correct malformed XML passed via standard input (regression introduced in 2.1.7)
- CIB manager: avoid memory leak from asynchronous client requests (regression introduced in 2.1.7)
- CIB: restore the (deprecated) ability to use validate-with="pacemaker-next" (regression introduced in 2.1.6)
- controller: avoid zombie children when asynchronous actions exit while a synchronous meta-data action is in progress (regression introduced in 2.1.5)
- libcrmcommon: avoid file descriptor leak in asynchronous IPC clients (regression introduced in 2.1.3)
- tools: crm_mon no longer crashes on some platforms when the fencer connection is lost (regression introduced in 2.1.0)
- attribute manager: write Pacemaker Remote node attributes even if node is not cached
- attribute manager: avoid use-after-free when remote node in cluster node cache
- attribute manager: correctly propagate utilization attributes to peers to avoid the possibility of later being written out as regular node attributes
- fencer: correctly parse action-specific timeouts with units other than seconds
- fencer: avoid unnecessary timeouts when the watchdog timeout is greater than a query timeout, per-device fencing timeout, or stonith-timeout
- libcrmcommon: don't assume next schema will validate when not transforming
- libcrmcommon: when displaying XML, don't show "<null>" for empty attribute values, and properly escape special characters
- scheduler: if the user specifies a timeout of 0, use the default 20s as documented
- agents: ocf:pacemaker:SysInfo respects attrd_updater dampening
- agents: ocf:pacemaker:HealthSMART properly handles SMART data missing temperature
- tools: cibadmin --replace now leaves "++" and "+=" unexpanded in XML attribute values rather than wrongly treat them as 0
- tools: cibsecret avoids possible truncation issue in process listing
- tools: crm_attribute --node localhost or --node auto works
- tools: crm_resource ignores resource meta-attribute node expressions for consistency with how the cluster works
- tools: crm_resource honors rules when getting utilization attributes
- tools: crm_verify --output-as=xml includes detailed messages
- tools: crm_mon exits upon loss of an attached pseudo-terminal to avoid possibility of 100% CPU usage (seen when run via sudo with use_pty configured)
-
Public API changes since Pacemaker-2.1.7
- libcib: add cib_score_update cib_call_options value
- libcib: deprecate functions cib_get_generation(), cib_metadata(), cib_pref(), query_node_uname(), and set_standby()
- libcib: deprecate T_CIB_DIFF_NOTIFY
- libcib: deprecate
<failed>
element in CIB create reply - libcrmcluster: add enum pcmk_cluster_layer
- libcrmcluster: add functions pcmk_cluster_connect(), pcmk_cluster_disconnect(), pcmk_cluster_layer_text(), pcmk_cluster_set_destroy_fn(), pcmk_cpg_set_confchg_fn(), pcmk_cpg_set_deliver_fn(), and pcmk_get_cluster_layer()
- libcrmcluster: add type pcmk_cluster_t
- libcrmcluster: deprecate functions cluster_connect_cpg(), cluster_disconnect_cpg(), crm_active_peers(), crm_cluster_connect(), crm_cluster_disconnect(), crm_get_peer(), crm_get_peer_full(), crm_is_corosync_peer_active(), crm_is_peer_active(), crm_join_phase_str(), crm_peer_destroy(), crm_peer_init(), crm_peer_uname(), crm_peer_uuid(), crm_remote_node_cache_size(), crm_remote_peer_cache_refresh(), crm_remote_peer_cache_remove(), crm_remote_peer_get(), crm_set_autoreap(), crm_set_status_callback(), get_cluster_type(), get_local_nodeid(), get_local_node_name(), get_node_name(), is_corosync_cluster(), name_for_cluster_type(), pcmk_cpg_membership(), pcmk_message_common_cs(), reap_crm_member(), send_cluster_message(), send_cluster_text(), and text2msg_type()
- libcrmcluster: deprecate enums crm_ais_msg_types, crm_status_type, cluster_type_e, crm_ais_msg_class, crm_get_peer_flags, crm_join_phase, and crm_node_flags, including all their values
- libcrmcluster: deprecate global variables crm_have_quorum, crm_peer_cache, crm_peer_seq, and crm_remote_peer_cache
- libcrmcluster: deprecate crm_cluster_t and struct crm_cluster_s, including all its members
- libcrmcluster: deprecate crm_node_t and struct crm_peer_node_s, including all its members
- libcrmcluster: deprecate constants CRM_NODE_LOST and CRM_NODE_MEMBER
- libcrmcommon: add constants PCMK_ACTION_METADATA, PCMK_META_ALLOW_MIGRATE, PCMK_META_ALLOW_UNHEALTHY_NODES, PCMK_META_CONTAINER_ATTRIBUTE_TARGET, PCMK_META_CRITICAL, PCMK_META_GLOBALLY_UNIQUE, PCMK_META_INTERLEAVE, PCMK_META_INTERVAL, PCMK_META_INTERVAL_ORIGIN, PCMK_META_IS_MANAGED, PCMK_META_MAINTENANCE, PCMK_META_MULTIPLE_ACTIVE, PCMK_META_NOTIFY, PCMK_META_ON_FAIL, PCMK_META_ORDERED, PCMK_META_PRIORITY, PCMK_META_PROMOTABLE, PCMK_META_RECORD_PENDING, PCMK_META_REMOTE_ADDR, PCMK_META_REMOTE_ALLOW_MIGRATE, PCMK_META_REMOTE_CONNECT_TIMEOUT, PCMK_META_REMOTE_NODE, PCMK_META_REMOTE_PORT, PCMK_META_REQUIRES, PCMK_META_RESOURCE_STICKINESS, PCMK_META_START_DELAY, PCMK_META_TARGET_ROLE, PCMK_META_TIMEOUT, PCMK_META_TIMESTAMP_FORMAT, PCMK_NODE_ATTR_MAINTENANCE, PCMK_NODE_ATTR_STANDBY, PCMK_OPT_BATCH_LIMIT, PCMK_OPT_CLUSTER_DELAY, PCMK_OPT_CLUSTER_INFRASTRUCTURE, PCMK_OPT_CLUSTER_IPC_LIMIT, PCMK_OPT_CLUSTER_NAME, PCMK_OPT_CLUSTER_RECHECK_INTERVAL, PCMK_OPT_CONCURRENT_FENCING, PCMK_OPT_DC_DEADTIME, PCMK_OPT_DC_VERSION, PCMK_OPT_ELECTION_TIMEOUT, PCMK_OPT_ENABLE_ACL, PCMK_OPT_ENABLE_STARTUP_PROBES, PCMK_OPT_FENCE_REACTION, PCMK_OPT_HAVE_WATCHDOG, PCMK_OPT_JOIN_FINALIZATION_TIMEOUT, PCMK_OPT_JOIN_INTEGRATION_TIMEOUT, PCMK_OPT_LOAD_THRESHOLD, PCMK_OPT_MAINTENANCE_MODE, PCMK_OPT_MIGRATION_LIMIT, PCMK_OPT_NODE_ACTION_LIMIT, PCMK_OPT_NODE_HEALTH_BASE, PCMK_OPT_NODE_HEALTH_GREEN, PCMK_OPT_NODE_HEALTH_RED, PCMK_OPT_NODE_HEALTH_STRATEGY, PCMK_OPT_NODE_HEALTH_YELLOW, PCMK_OPT_NODE_PENDING_TIMEOUT, PCMK_OPT_NO_QUORUM_POLICY, PCMK_OPT_PE_ERROR_SERIES_MAX, PCMK_OPT_PE_INPUT_SERIES_MAX, PCMK_OPT_PE_WARN_SERIES_MAX, PCMK_OPT_PLACEMENT_STRATEGY, PCMK_OPT_PRIORITY_FENCING_DELAY, PCMK_OPT_SHUTDOWN_ESCALATION, PCMK_OPT_SHUTDOWN_LOCK, PCMK_OPT_SHUTDOWN_LOCK_LIMIT, PCMK_OPT_STARTUP_FENCING, PCMK_OPT_START_FAILURE_IS_FATAL, PCMK_OPT_STONITH_ACTION, PCMK_OPT_STONITH_ENABLED, PCMK_OPT_STONITH_MAX_ATTEMPTS, PCMK_OPT_STONITH_TIMEOUT, PCMK_OPT_STONITH_WATCHDOG_TIMEOUT, PCMK_OPT_STOP_ALL_RESOURCES, PCMK_OPT_STOP_ORPHAN_ACTIONS, PCMK_OPT_STOP_ORPHAN_RESOURCES, PCMK_OPT_SYMMETRIC_CLUSTER, PCMK_OPT_TRANSITION_DELAY, PCMK_REMOTE_RA_ADDR, PCMK_REMOTE_RA_PORT, PCMK_REMOTE_RA_RECONNECT_INTERVAL, PCMK_REMOTE_RA_SERVER, PCMK_ROLE_PROMOTED, PCMK_ROLE_STARTED, PCMK_ROLE_STOPPED, PCMK_ROLE_UNPROMOTED, PCMK_SCORE_INFINITY, PCMK_VALUE_ALWAYS, PCMK_VALUE_AND, PCMK_VALUE_BALANCED, PCMK_VALUE_BLOCK, PCMK_VALUE_BOOLEAN, PCMK_VALUE_CIB_BOOTSTRAP_OPTIONS, PCMK_VALUE_COROSYNC, PCMK_VALUE_CREATE, PCMK_VALUE_CUSTOM, PCMK_VALUE_DATE_SPEC, PCMK_VALUE_DEFAULT, PCMK_VALUE_DEFINED, PCMK_VALUE_DELETE, PCMK_VALUE_DEMOTE, PCMK_VALUE_DENY, PCMK_VALUE_DURATION, PCMK_VALUE_DYNAMIC_LIST, PCMK_VALUE_EQ, PCMK_VALUE_EXCLUSIVE, PCMK_VALUE_FAILED, PCMK_VALUE_FALSE, PCMK_VALUE_FENCE, PCMK_VALUE_FENCE_LEGACY, PCMK_VALUE_FENCING, PCMK_VALUE_FREEZE, PCMK_VALUE_GRANTED, PCMK_VALUE_GREEN, PCMK_VALUE_GT, PCMK_VALUE_GTE, PCMK_VALUE_HOST, PCMK_VALUE_IGNORE, PCMK_VALUE_IN_RANGE, PCMK_VALUE_INFINITY, PCMK_VALUE_INTEGER, PCMK_VALUE_LITERAL, PCMK_VALUE_LT, PCMK_VALUE_LTE, PCMK_VALUE_MANDATORY, PCMK_VALUE_MEMBER, PCMK_VALUE_META, PCMK_VALUE_MIGRATE_ON_RED, PCMK_VALUE_MINIMAL, PCMK_VALUE_MINUS_INFINITY, PCMK_VALUE_MODIFY, PCMK_VALUE_MOVE, PCMK_VALUE_NE, PCMK_VALUE_NEVER, PCMK_VALUE_NONE, PCMK_VALUE_NONNEGATIVE_INTEGER, PCMK_VALUE_NOTHING, PCMK_VALUE_NOT_DEFINED, PCMK_VALUE_NUMBER, PCMK_VALUE_OFFLINE, PCMK_VALUE_ONLINE, PCMK_VALUE_ONLY_GREEN, PCMK_VALUE_OPTIONAL, PCMK_VALUE_OR, PCMK_VALUE_PANIC, PCMK_VALUE_PARAM, PCMK_VALUE_PENDING, PCMK_VALUE_PERCENTAGE, PCMK_VALUE_PLUS_INFINITY, PCMK_VALUE_PORT, PCMK_VALUE_PROGRESSIVE, PCMK_VALUE_QUORUM, PCMK_VALUE_READ, PCMK_VALUE_RED, PCMK_VALUE_REMOTE, PCMK_VALUE_RESTART, PCMK_VALUE_RESTART_CONTAINER, PCMK_VALUE_REVOKED, PCMK_VALUE_SCORE, PCMK_VALUE_SELECT, PCMK_VALUE_SER...
Pacemaker 2.1.7 - Final
Release info
- Tue Dec 19 2023 Ken Gaillot [email protected] Pacemaker-2.1.7
- 1388 commits with 358 files changed, 23771 insertions(+), 17219 deletions(-)
Known regressions introduced in this release
- Controller: alerts added as part of a newly added alerts section do not take effect immediately (fixed in 2.1.9)
- CIB manager: asynchronous client requests cause a memory leak (fixed in 2.1.8)
- tools: tools that accept XML from standard input will exit with error status rather than auto-correct certain invalid XML syntax (fixed in 2.1.8)
- tools: crm_node -i/--cluster-id can fail to return a value due to an uninitialized variable (fixed in 2.1.8)
- tools: crm_verify no longer distinguishes between configuration warnings and errors (fixed in 2.1.8)
- scheduler: colocations can be applied twice for promotion priority (fixed in 2.1.8)
Features added since Pacemaker-2.1.6
- build: allow building with libxml2 2.12.0 and greater
- CIB: deprecate
ordering
attribute ofresource_set
- CIB: new cluster option
node-pending-timeout
(defaulting to 0, meaning no timeout, to preserve existing behavior) allows fencing of nodes that do not join Pacemaker's controller group within this much time after joining the cluster - controller:
PCMK_node_start_state
environment variable now works with Pacemaker Remote nodes - tools:
crm_verify
now supports--quiet
option (currently same as default behavior, but in the future, verbose behavior might become the default, so script writers are recommended to explicitly add--quiet
if they do not want output) - tools:
crm_node
supports standard--output-as
/--output-to
arguments - tests:
CTSlab.py
was renamed tocts-lab
Fixes since Pacemaker-2.1.6
- logging: restore ability to enable XML trace logs by file and function (regression introduced in 2.1.6)
- scheduler: avoid double free with disabled recurring actions (regression introduced in 2.1.5)
- tools: consider dampening argument when setting values with attrd_updater (regression introduced in 2.1.5)
- tools: wait for reply from crm_node -R (regression introduced in 2.0.5)
- agents: handle dampening parameter consistently and correctly
- CIB: be more strict about ignoring colocation elements without an ID
- controller: do not check whether watchdog fencing is enabled if "stonith-watchdog-timeout" is not configured
- controller: don't try to execute agent action at shutdown
- controller: avoid race condition when updating node state during join
- controller: correctly determine state of a fenced node without a name
- controller: wait a second between fencer connection attempts
- libpacemaker: avoid shuffling clone instances unnecessarily
- libpacemaker: get bundle container's promotion score from correct node
- libpacemaker: role-based colocations now work with bundles
- libpacemaker:
clone-node-max
now works with cloned groups - scheduler: compare anti-colocation dependent negative preferences against stickiness
- scheduler: consider explicit colocations with group members
- scheduler: avoid fencing a pending node without a name
- scheduler: properly evaluate rules in action meta-attributes
- scheduler: properly sort rule-based blocks when overwriting values
- tools:
crm_resource --wait
will now wait if any actions are pending (previously it would wait only if new actions were planned) - tools:
crm_verify --output-as=xml
now includes detailed messages - tools: avoid showing pending nodes as having "<3.15.1" feature set in
crm_mon
- tools: fix display of clone descriptions
- tools:
crm_resource
now reports an error rather than timing out when trying to restart an unmanaged resource - tools:
crm_resource
now properly detects which promoted role name to use in ban and move constraints
Public API changes since Pacemaker-2.1.6 (all API/ABI backward-compatible)
- libcib: cib_t now supports transactions via new cib_api_operations_t methods, new cib_transaction value in enum cib_call_options, and new cib_t transaction and user members
- libcib: cib_t now supports setting the ACL user for methods via new cib_api_operations_t set_user() method
- libcib: deprecate cib_api_operations_t methods inputfd(), noop(), quit(), set_op_callback(), and signon_raw()
- libcib: deprecate cib_call_options values cib_mixed_update, cib_scope_local, and cib_zero_copy
- libcib: deprecate cib_t op_callback member
- libcrmcluster: deprecate set_uuid()
- libcrmcluster: send_cluster_message()'s data argument is const
- libcrmcommon: add enum pcmk_rc_e values pcmk_rc_compression, pcmk_rc_ns_resolution, and pcmk_rc_no_transaction
- libcrmcommon,libpe_rules,libpe_status: many APIs have been moved from libpe_rules and libpe_status to libcrmcommon, sometimes with new names (deprecating the old ones), as described below
- libcrmcommon: add (and deprecate) PCMK_DEFAULT_METADATA_TIMEOUT_MS defined constant
- libcrmcommon: add enum pcmk_rsc_flags
- libcrmcommon: add enum pcmk_scheduler_flags
- libcrmcommon: add pcmk_action_added_to_graph
- libcrmcommon: add pcmk_action_always_in_graph
- libcrmcommon: add pcmk_action_attrs_evaluated
- libcrmcommon: add PCMK_ACTION_CANCEL string constant
- libcrmcommon: add PCMK_ACTION_CLEAR_FAILCOUNT string constant
- libcrmcommon: add PCMK_ACTION_CLONE_ONE_OR_MORE string constant
- libcrmcommon: add PCMK_ACTION_DELETE string constant
- libcrmcommon: add PCMK_ACTION_DEMOTE string constant
- libcrmcommon: add pcmk_action_demote to enum action_tasks
- libcrmcommon: add PCMK_ACTION_DEMOTED string constant
- libcrmcommon: add pcmk_action_demoted to enum action_tasks
- libcrmcommon: add pcmk_action_detect_loop
- libcrmcommon: add PCMK_ACTION_DO_SHUTDOWN string constant
- libcrmcommon: add pcmk_action_fence to enum action_tasks
- libcrmcommon: add pcmk_action_inputs_deduplicated
- libcrmcommon: add PCMK_ACTION_LIST string constant
- libcrmcommon: add PCMK_ACTION_LOAD_STOPPED string constant
- libcrmcommon: add PCMK_ACTION_LRM_DELETE string constant
- libcrmcommon: add PCMK_ACTION_MAINTENANCE_NODES string constant
- libcrmcommon: add PCMK_ACTION_META_DATA string constant
- libcrmcommon: add pcmk_action_migratable
- libcrmcommon: add PCMK_ACTION_MIGRATE_FROM string constant
- libcrmcommon: add PCMK_ACTION_MIGRATE_TO string constant
- libcrmcommon: add pcmk_action_migration_abort
- libcrmcommon: add pcmk_action_min_runnable
- libcrmcommon: add PCMK_ACTION_MONITOR string constant
- libcrmcommon: add pcmk_action_monitor to enum action_tasks
- libcrmcommon: add PCMK_ACTION_NOTIFIED string constant
- libcrmcommon: add pcmk_action_notified to enum action_tasks
- libcrmcommon: add PCMK_ACTION_NOTIFY string constant
- libcrmcommon: add pcmk_action_notify to enum action_tasks
- libcrmcommon: add PCMK_ACTION_OFF string constant
- libcrmcommon: add PCMK_ACTION_ON string constant
- libcrmcommon: add PCMK_ACTION_ONE_OR_MORE string constant
- libcrmcommon: add pcmk_action_on_dc
- libcrmcommon: add pcmk_action_optional
- libcrmcommon: add PCMK_ACTION_PROMOTE string constant
- libcrmcommon: add pcmk_action_promote to enum action_tasks
- libcrmcommon: add PCMK_ACTION_PROMOTED string constant
- libcrmcommon: add pcmk_action_promoted to enum action_tasks
- libcrmcommon: add pcmk_action_pseudo
- libcrmcommon: add PCMK_ACTION_REBOOT string constant
- libcrmcommon: add PCMK_ACTION_RELOAD string constant
- libcrmcommon: add PCMK_ACTION_RELOAD_AGENT string constant
- libcrmcommon: add pcmk_action_reschedule
- libcrmcommon: add pcmk_action_runnable
- libcrmcommon: add PCMK_ACTION_RUNNING string constant
- libcrmcommon: add pcmk_action_shutdown to enum action_tasks
- libcrmcommon: add PCMK_ACTION_START string constant
- libcrmcommon: add pcmk_action_start to enum action_tasks
- libcrmcommon: add pcmk_action_started to enum action_tasks
- libcrmcommon: add PCMK_ACTION_STATUS string constant
- libcrmcommon: add PCMK_ACTION_STONITH string constant
- libcrmcommon: add PCMK_ACTION_STOP string constant
- libcrmcommon: add pcmk_action_stop to enum action_tasks
- libcrmcommon: add PCMK_ACTION_STOPPED string constant
- libcrmcommon: add pcmk_action_stopped to enum action_tasks
- libcrmcommon: add pcmk_action_t type
- libcrmcommon: add pcmk_action_unspecified to enum action_tasks
- libcrmcommon: add PCMK_ACTION_VALIDATE_ALL string constant
- libcrmcommon: add pcmk_assignment_methods_t type
- libcrmcommon: add PCMK_DEFAULT_ACTION_TIMEOUT_MS defined constant
- libcrmcommon: add pcmk_log_xml_as()
- libcrmcommon: add PCMK_META_CLONE_MAX string constant
- libcrmcommon: add PCMK_META_CLONE_MIN string constant
- libcrmcommon: add PCMK_META_CLONE_NODE_MAX string constant
- libcrmcommon: add PCMK_META_FAILURE_TIMEOUT string constant
- libcrmcommon: add PCMK_META_MIGRATION_THRESHOLD string constant
- libcrmcommon: add PCMK_META_PROMOTED_MAX string constant
- libcrmcommon: add PCMK_META_PROMOTED_NODE_MAX string constant
- libcrmcommon: add pcmk_multiply_active_block to enum rsc_recovery_type
- libcrmcommon: add pcmk_multiply_active_restart to enum rsc_recovery_type
- libcrmcommon: add pcmk_multiply_active_stop to enum rsc_recovery_type
- libcrmcommon: add pcmk_multiply_active_unexpected to enum rsc_recovery_type
- libcrmcommon: add PCMK_NODE_ATTR_TERMINATE string constant
- libcrmcommon: add pcmk_node_t type
- libcrmcommon: add pcmk_node_variant_cluster
- libcrmcommon: add pcmk_node_variant_remote
- libcrmcommon: add pcmk_no_action_flags
- libcrmcommon: add pcmk_no_quorum_demote
- libcrmcommon: add pcmk_no_quorum_fence
- libcrmcommon: add pcmk_no_quorum_freeze
- libcrmcommon: add pcmk_no_quorum_ignore
- libcrmcommon: add pcmk_no_quorum_stop
- libcrmcommon: add pcmk_on_fail_ban to enum action_fail_response
- libcrmcommon: add pcmk_on_fail_block to enum action_fail_response
- libcrmcommon: add pcmk_on_fail_demote to enum action_fail_response
- libcrmcommon: add pcmk_o...