Skip to content

Releases: ClusterLabs/pacemaker

Pacemaker 3.0.0 - Release Candidate 1

18 Nov 15:57
Compare
Choose a tag to compare
Pre-release
  • 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 to pacemaker-remoted
  • environment: drop support for deprecated HA_cib_timeout, HA_shutdown_delay, PCMK_cib_timeout, PCMK_dh_min_bits, and PCMK_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 not pacemaker-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, and crmd-transition-delay, and remove-after-stop
  • CIB: drop support for deprecated poweroff value of stonith-action cluster option
  • CIB: drop support for nodes with type set to deprecated value ping or an invalid value
  • CIB: drop support for deprecated nagios and upstart 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 in rsc_defaults
  • CIB: drop support for deprecated restart-type resource option
  • CIB: drop support for deprecated can-fail, can_fail, and role_after_failure operation options
  • CIB: drop support for deprecated rsc-instance, with-rsc-instance, first-instance, and then-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 when id-ref attribute is present
  • CIB: drop support for deprecated moon in date_spec elements of rules
  • CIB: globally-unique clone option defaults to true if clone-node-max is greater than 1
  • CIB: location constraints with an invalid score, boolean-op, or role, colocation constraints with an invalid score, rsc-role, or with-rsc-role, and ticket constraints with an invalid rsc-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, or PCMK_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 to none if port 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 invalid id-ref
  • scheduler: ignore value in nvpair with id-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, and cib_zero_copy
  • libcib: drop cib_api_operations_t members delete_absolute(),
    inputfd(), is_master(), quit(), set_master(), set_op_callback(),
    set_slave(), set_slave_all(), signon_raw(), update()
  • libcib: drop cib_t member op_callback()
  • libcib: drop functions cib_get_generation(), cib_metadata(),
    cib_pref(), get_object_parent(), get_object_path(),
    get_object_root(), query_node_uname(), and set_standby()
  • libcrmcluster: add pcmk_cluster_t member priv
  • 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, and crm_status_type
  • libcrmcluster: drop type alias crm_node_t
  • libcrmcluster: drop struct crm_peer_node_s
  • libcrmcluster: drop pcmk_cluster_t members cpg_handle,
    group, nodeid, uname, and uuid
  • 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 to pcmk__cluster
  • libcrmcommon: add enum pcmk_ipc_server value pcmk_ipc_unknown
  • libcrmcommon: rename structs pe_action_s to pcmk__action, pe_node_s
    to pcmk__scored_node, pe_node_shared_s to pcmk__node_details,
    pe_resource_s to pcmk__resource, and pe_working_set_s to
    pcmk__scheduler
  • libcrmcommon: add pcmk_node_t members assign and private
  • libcrmcommon: add pcmk_resource_t member private
  • libcrmcommon: change pcmk_scheduler_t member flags type to uint64_t
  • libcrmcommon: add defined constants PCMK_OCF_ROOT,
    PCMK_SCHEDULER_INPUT_DIR, PCMK_SCHEMA_DIR, PCMK_VALUE_CRASH,
    PCMK_VALUE_OFF, and PCMK_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(), and sorted_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, and xml_io_compat.h
  • libcrmcommon: drop global variables crm_config_error,
    crm_config_warning, resource_class_functions[], was_processing_error,
    and was_processing_warning
  • libcrmcommon: drop enums (including all their values)
    `action_...
Read more

Pacemaker 2.1.9 - Final

31 Oct 20:04
Compare
Choose a tag to compare
  • 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

21 Oct 19:44
Compare
Choose a tag to compare
Pre-release
  • 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

15 Oct 14:01
Compare
Choose a tag to compare
Pre-release
  • 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

03 Oct 19:00
Compare
Choose a tag to compare
Pre-release
  • 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

08 Aug 22:37
Compare
Choose a tag to compare
  • 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_...
Read more

Pacemaker 2.1.8 - Release Candidate 4

17 Jul 16:31
Compare
Choose a tag to compare
Pre-release
  • 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

03 Jul 16:46
Compare
Choose a tag to compare
Pre-release
  • 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

11 Jun 19:01
Compare
Choose a tag to compare
Pre-release
  • 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

15 May 22:42
Compare
Choose a tag to compare
Pre-release
  • 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...
Read more