Page MenuHomeClusterLabs Projects

Pacemaker Feature Set
Updated 184 Days AgoPublic

Besides a release version, Pacemaker has a separate CRM feature set. This version number applies to the communication between cluster nodes, and is used to avoid problems in mixed-version clusters.

Most of the time, CRM feature sets are for Pacemaker's internal use. However, they can also be used by resource agents and other external code to detect support for various features. The table below lists those features.

Pacemaker CRM Feature Sets
CRM feature setAvailable in Pacemaker releaseFeatures supports CIB transactions and node-pending-timeout cluster property; crm_node supports --output-as (text, none, or xml) and --output-to arguments attributes may be set as transient; alerts and alert recipients support enabled meta-attribute in CIB; attrd_updater supports --pattern, --utilization, and --wait arguments; crm_attribute supports --wait argument, and supports --pattern argument with --update and --delete and with permanent node attributes; crm_mon supports --interval argument with text and xml output; crm_resource supports --element option; crm_shadow, pacemaker-based, pacemaker-controld, pacemaker-execd, and pacemaker-fenced support --output-as (text, none, or xml) and --output-to arguments supports --output-as (text, none, or xml) and --output-to arguments; crm_attribute supports --pattern with --update, and with --delete and --query when used with --lifetime=reboot; crm_attribute with --query and --node but not --name shows all node attributes on the given node feature set stored as #feature-set node attribute supports setting multiple-active to stop_unexpected supports allow-unhealthy-nodes resource meta-attribute supports --output-as (text, none, or xml) and --output-to options supports --output-as (text, none, or xml) and --output-to options supports --output-as (text, none, or xml) and --output-to options, and specifying -r option more than once supports --show-access option is available (allowing watchdog fencing to be restricted to specific nodes) --validate and --force-check arguments accept an optional argument for OCF check level accepts --output-as (text, none, or xml) and --output-to options, mainly for use with the --features argument supports OCF resource agents' reload-agent action"Promoted" and "Unpromoted" are accepted as role names; crm_attribute accepts the --promotion option; crm_resource accepts the --promoted option; promotable clone notify actions will have notify_promoted_resource, notify_unpromoted_resource, notify_promoted_uname, and notify_unpromoted_uname environment variables; crm_mon XML output for bans includes a "promoted-only" attribute accepts --show-attrs and --show-failcounts options accepts --output-as (text, none, or xml) and --output-to options, and its output is formatted more similarly to crm_mon's"-" for standard input is supported by tools that support CIB_file accepts --output-as (text, none, or xml) and --output-to options; crmadmin drops -E/--election and -K/--kill options for node type argument to crmadmin --nodes for "critical" resource meta-attribute and "influence" colocation option offers --digests option accepts --output-as (text or xml) and --output-to accepts --output-as (text or xml) and --output-to returns standard Pacemaker exit status codes"integer" supported as value for "type" in rules, and "number" compares as double-precision floating-point value supports -P/--pacemakerd and -i/--ipc-name options and rsc_expression supported in rules; "demote" supported as value for "no-quorum-policy" and "on-fail" options; priority-fencing-delay cluster option supported; stonith_admin supports --delay option; crm_mon supports --node and --resource options; crm_rule --check can now check "date_spec" entries that contain "years" but not "moon", shutdown-lock, and shutdown-lock-limit cluster options supported; crm_mon supports --include and --exclude options tool crm_rule; crm_mon and stonith_admin support --output-as and --output-to options

(Note: in some cases, the specified features were available in the prior Pacemaker release, but the listed feature set version is the first that includes them.)

How CRM feature sets are numbered

The major version increases when nodes with different versions would not work together. Rolling upgrades would not be possible in this case.

The minor version increases when mixed-version clusters are allowed only during rolling upgrades. If one of the older nodes drops out of the cluster for any reason, it will not be able to rejoin until it is upgraded. In this case, you should run a mixed-version cluster only during a small upgrade window.

The minor-minor version number is ignored by Pacemaker. Clusters with different versions should work without problems. This number allows resource agents and other external code to detect cluster support for various features.

Pacemaker ensures that the longest-running node is the cluster’s DC. This ensures new features are not enabled until all nodes are upgraded to support them.

In code

The feature set is defined as CRM_FEATURE_SET in include/crm/crm.h.

Last Author
Last Edited
Jan 10 2024, 5:47 PM