Releases: ClusterLabs/pacemaker
Pacemaker 3.0.0 - Release Candidate 1
- 1938 commits with 685 files changed, 26363 insertions(+), 33503 deletions(-)
Features added since Pacemaker-2.1.9
- For more details, especially about build option changes, see https://projects.clusterlabs.org/w/projects/pacemaker/pacemaker_3.0_changes/
- upgrades: drop support for rolling upgrades from versions less than 2.0.0
- Pacemaker Remote: drop support for Pacemaker 1 cluster nodes connecting to Pacemaker Remote 3 or later nodes or bundles, and Pacemaker 3 or later cluster nodes connecting to Pacemaker Remote 1.1.14 or earlier nodes
- build: drop creation of deprecated
pacemaker_remoted
link topacemaker-remoted
- environment: drop support for deprecated
HA_cib_timeout
,HA_shutdown_delay
,PCMK_cib_timeout
,PCMK_dh_min_bits
, andPCMK_shutdown_delay
variables - environment:
PCMK_panic_action
values are case-sensitive - CIB: XML syntax must be correctly formed (no errors will be ignored)
- CIB:
validate-with
must be set, case-sensitive, and notpacemaker-0.6
,pacemaker-0.7
,pacemaker-1.1
,pacemaker-next
,transitional-0.6
, or unknown - CIB: deprecate
concurrent-fencing
cluster option, which now defaults to true - CIB: deprecate
record-pending
operation option - CIB: drop support for deprecated cluster options
crmd-finalization-timeout
,crmd-integration-timeout
, andcrmd-transition-delay
, andremove-after-stop
- CIB: drop support for deprecated
poweroff
value ofstonith-action
cluster option - CIB: drop support for nodes with
type
set to deprecated valueping
or an invalid value - CIB: drop support for deprecated
nagios
andupstart
resource classes - CIB: drop support for deprecated
master
resources - CIB: drop support for deprecated
masters
bundle option - CIB: drop support for deprecated bundles using
rkt
containers - CIB: drop support for
instance_attributes
inrsc_defaults
- CIB: drop support for deprecated
restart-type
resource option - CIB: drop support for deprecated
can-fail
,can_fail
, androle_after_failure
operation options - CIB: drop support for deprecated
rsc-instance
,with-rsc-instance
,first-instance
, andthen-instance
constraint options - CIB: drop support for deprecated
lifetime
elements in constraints - CIB: drop support for multiple top-level rules in location constraints or name/value blocks
- CIB: drop support for
name
attribute whenid-ref
attribute is present - CIB: drop support for deprecated
moon
indate_spec
elements of rules - CIB:
globally-unique
clone option defaults to true ifclone-node-max
is greater than 1 - CIB: location constraints with an invalid
score
,boolean-op
, orrole
, colocation constraints with an invalidscore
,rsc-role
, orwith-rsc-role
, and ticket constraints with an invalidrsc-role
are now ignored (previously, default values would be used) - CIB: ignore node expressions for meta-attributes
- CIB: treat misconfigured rules and rule expressions as not passing
- CIB: treat negative
migration-threshold
as invalid and use default - CIB: invalid fencing level indexes are rejected by schema
- agents: drop ocf:pacemaker:o2cb resource agent
- agents: do not pass
HA_mcp
,HA_quorum_type
,PCMK_mcp
, orPCMK_quorum_type
, environment variables to agents - alerts: don't send deprecated alert environment variables to agents
- fencer: drop support for non-clustered mode in fencer
- fencing: default
pcmk_host_argument
tonone
ifport
not advertised - liblrmd,libstonithd: use standard default timeout (20s) for meta-data actions
- pacemaker-based: reject remote users if PAM not available
- tools:
crm_shadow --reset
now requires--force
- tools: define behavior of
attrd_updater -Q
without-N
- tools: deprecate
cibadmin --local
option - tools: drop
--text-fancy
command-line option from all tools - tools: drop deprecated
cibadmin --host
and--no-bcast
options - tools: drop deprecated
crm_resource --get-property
,--set-property
, and--xml-file
options - tools:
cibadmin --md5-sum-versioned
no longer prints feature set - tools:
crm_resource
rejects invalid timeouts - tools:
crm_resource --delete
does not accept clone instances - tools:
crm_resource --delete
without-t opt
exits with a usage error - tools:
crm_resource --delete
now succeeds if resource doesn't exist - tools:
crm_resource --option
throws usage error if appropriate - tools: drop deprecated
crm_mon
options--as-html
,--disable-ncurses
,--simple-status
, and--web-cgi
Fixes since Pacemaker-2.1.9
- executor: avoid use-after-free during shutdown
- libcrmcommon: rule expressions with the empty string as value now pass when the corresponding node attribute is the empty string
- libstonithd: avoid use-after-free when retrieving metadata of Linux-HA fence agents
- libstonithd: free escaped metadata descriptions correctly
- scheduler: apply promotion priority to cloned group instances
- scheduler: correctly retrieve any existing fail-count for increment
- scheduler: don't apply colocations twice for promotion priority
- scheduler: ignore
nvpair
with invalidid-ref
- scheduler: ignore
value
innvpair
withid-ref
- scheduler: use first action meta-attribute if block has duplicates
- scheduler: consider group locations when member is explicit colocation dependent
- tools: don't trigger an assertion if stdout is closed
- tools: CIB clients retry signon if first try fails
- tools: don't double-free XML in
crm_verify
after schema update
Public API changes since Pacemaker-2.1.9
- libcib: drop
util_compat.h
header - libcib: drop enum values
cib_database
,cib_inhibit_bcast
,
cib_mixed_update
,cib_quorum_override
, andcib_zero_copy
- libcib: drop
cib_api_operations_t
membersdelete_absolute()
,
inputfd()
,is_master()
,quit()
,set_master()
,set_op_callback()
,
set_slave()
,set_slave_all()
,signon_raw()
,update()
- libcib: drop
cib_t
memberop_callback()
- libcib: drop functions
cib_get_generation()
,cib_metadata()
,
cib_pref()
,get_object_parent()
,get_object_path()
,
get_object_root()
,query_node_uname()
, andset_standby()
- libcrmcluster: add
pcmk_cluster_t
memberpriv
- libcrmcluster: drop enums (including all their values)
crm_ais_msg_class
,crm_ais_msg_types
,crm_get_peer_flags
,
crm_join_phase
,crm_node_flags
, andcrm_status_type
- libcrmcluster: drop type alias
crm_node_t
- libcrmcluster: drop struct
crm_peer_node_s
- libcrmcluster: drop
pcmk_cluster_t
memberscpg_handle
,
group
,nodeid
,uname
, anduuid
- libcrmcluster: drop global variables
crm_have_quorum
,crm_peer_cache
,
crm_peer_seq
,crm_remote_peer_cache
- libcrmcluster: drop enum value
crm_join_nack_quiet
- libcrmcluster: drop string constants
CRM_NODE_LOST
,CRM_NODE_MEMBER
- libcrmcluster: drop functions
cluster_connect_cpg()
,
cluster_disconnect_cpg()
,crm_active_peers()
,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_peer_cache_refresh()
,crm_remote_peer_cache_remove()
,
crm_remote_peer_cache_size()
,crm_remote_peer_get()
,
crm_set_autoreap()
,crm_set_status_callback()
,crm_terminate_member()
,
crm_terminate_member_no_mainloop()
,get_local_nodeid()
,
get_local_node_name()
,get_node_name()
,is_corosync_cluster()
,
pcmk_cpg_membership()
,pcmk_message_common_cs()
,reap_crm_member()
,
send_cluster_message()
,send_cluster_text()
,set_uuid()
, and
text2msg_type()
- libcrmcluster: rename struct
crm_cluster_s
topcmk__cluster
- libcrmcommon: add enum
pcmk_ipc_server
valuepcmk_ipc_unknown
- libcrmcommon: rename structs
pe_action_s
topcmk__action
,pe_node_s
topcmk__scored_node
,pe_node_shared_s
topcmk__node_details
,
pe_resource_s
topcmk__resource
, andpe_working_set_s
to
pcmk__scheduler
- libcrmcommon: add
pcmk_node_t
membersassign
andprivate
- libcrmcommon: add
pcmk_resource_t
memberprivate
- libcrmcommon: change
pcmk_scheduler_t
memberflags
type touint64_t
- libcrmcommon: add defined constants
PCMK_OCF_ROOT
,
PCMK_SCHEDULER_INPUT_DIR
,PCMK_SCHEMA_DIR
,PCMK_VALUE_CRASH
,
PCMK_VALUE_OFF
, andPCMK_VALUE_REBOOT
- libcrmcommon: deprecate defined constants
CIB_OPTIONS_FIRST
,
CRM_SCHEMA_DIRECTORY
,CRM_SYSTEM_STONITHD
,CRM_XS
,OCF_ROOT_DIR
, and
PE_STATE_DIR
- libcrmcommon: deprecate functions
calculate_on_disk_digest()
,
calculate_operation_digest()
,calculate_xml_versioned_digest()
,
char2score()
,crm_extended_logging()
,crm_ipc_connect()
,
crm_is_daemon_name()
,crm_xml_cleanup()
,crm_xml_init()
,
crm_xml_sanitize_id()
,crm_xml_set_id()
,expand_idref()
,free_xml()
,
hash2nvpair()
,pcmk_free_xml_subtree()
,pcmk_nvpairs2xml_attrs()
,
pcmk_sort_nvpairs()
,pcmk_xml_attrs2nvpairs()
, andsorted_xml()
- libcrmcommon: drop headers
agents_compat.h
,compatibility.h
,
logging_compat.h
,mainloop_compat.h
,results_compat.h
,
scores_compat.h
,tags.h
,tickets.h
, andxml_io_compat.h
- libcrmcommon: drop global variables
crm_config_error
,
crm_config_warning
,resource_class_functions[]
,was_processing_error
,
andwas_processing_warning
- libcrmcommon: drop enums (including all their values)
`action_...
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...