Phriction Welcome to the ClusterLabs Wiki Projects Pacemaker Pacemaker 3.0 Changes Pacemaker 3.0 Behavioral Changes History Version 7 vs 20
Version 7 vs 20
Version 7 vs 20
Content Changes
Content Changes
**This describes proposed behavioral changes for a possible Pacemaker 3.0.0 release. Discussion should be directed to the [[ /w/clusterlabs/clusterlabs_mailing_lists/ | users mailing list]].**
These changes are only proposed and may not make it into the final release.
== Logging and status displays ==
* The textual strings used for certain exit status codes and execution status codes will change, so if you have any scripts parsing output for these, they may need updating (for example, capitalization will become more consistent)
== Daemon behavior ==
* Drop support for the `pacemaker-fenced -s` / `--stand-alone` option //(deprecated in 2.1.5)//
* The Pacemaker Remote daemon will now default only to /etc/pacemaker/authkey for the authentication key location, and will no longer fall back to trying /etc/corosync/authkey if that is missing; also, if a user-specified key is unreadable, it will fail rather than trying the default location
== Configuration behavior ==
* The documentation states that the default for `action` in a `resource_set` is the enclosing constraint's action. However until now `start` has actually been used as the default. The behavior will be changed to match the documentation.
* `action` configured as a fence device parameter is now ignored rather than treated as a default fencing action.
* The `concurrent-fencing` cluster property will now default to true and be deprecated
* The `globally-unique` clone meta-attribute will default to `true` when `clone-node-max` is greater than 1
* Groups with no members will be ignored (currently they can have some effect if used in constraints)
* A negative `migration-threshold`, which is invalid and previously was treated as 1, will now be treated as 0 (no limit).
== Tool behavior ==
* `attrd_updater --query` without `--node` or `--all` will now query the local node only (previously, it would query the local node when called from a resource agent executed by the cluster and all nodes when called from the command line)
* `cibadmin`
** Support for the `-b/--no-bcast` and `-h/--host` options has been dropped
** `--md5-sum-versioned` no longer outputs "Versioned (...) digest: " to stderr.
* `crm_ticket` options that require the `--force` option will now exit with a status of 107 rather than 4 when `--force` is not given, for consistency with other tools
* `crm_resource`
** `-D/--delete` now exits with success (0) instead of no-such-object (105) if resource doesn't exist, exits with usage error (64) instead of no-such-object (105) if `-t` argument is not given, and exits with invalid parameter (2) if given a specific clone instance.
** `-O/--list-operations` does not list probes as active operations
** `--option` now exits with a usage error (instead of being ignored) unless given with `--validate` and without `-r/--resource`
** `-T/--timeout` now exits with a usage error (instead of being ignored) if given an invalid value
* `crm_shadow -r/--reset` will now require `--force`
* `crm_simulate` output will now say `Assignment Scores` rather than `Allocation Scores`
* Invalid command-line usage may result in an error rather than being silently ignored
* Deprecated options may be dropped, including:
** crm_mon: -h/--as-html, -X/--as-xml, -s/--simple-status, -N/--disable-ncurses, -w/--web-cgi
== Resource agent behavior ==
* The cluster will no longer provide the `HA_mcp`, `HA_quorum_type`, `PCMK_mcp`, and `PCMK_quorum_type` environment variables when executing resource agents.
* Drop support for the OCF 1.0 `reload` and `unique` behavior of OCF resource agents (only the OCF 1.1 `reload-agent` and `reloadable` behavior will be supported)
* Fence agents that do not advertise support for either `plug` or `port` will default to `pcmk_host_argument="none"`
* Node attributes will no longer be passed to fence agents as meta-attributes
* Resource //instance// attributes will no longer be passed as environment variables with an `OCF_RESKEY_CRM_meta_` prefix (instance attributes will be passed only with `OCF_RESKEY_`, and meta-attributes will still be passed with `OCF_RESKEY_CRM_meta_`)
== Alert agent behavior ==
* Alert environment variables will no longer be passed with a `CRM_notify_` prefix, only `CRM_alert_` //(deprecated since 1.1.15)//
== Logging and status displays ==
* The textual strings used for certain exit status codes and execution status codes will change, so if you have any scripts parsing output for these, they may need updating (for example, capitalization will become more consistent)
== Cluster behavior ==
* If a location constraint has a rule using `score-attribute`, the constraint will be ignored for nodes where the specified attribute is unset or invalid (previously, the constraint would be used with a score of -INFINITY for unset and 0 for invalid).
* Previously, a rule `expression` with the empty string as `value` would never be treated as passing. Now, it passes when the corresponding node attribute is the empty string.
* Node expressions are now consistently ignored in rules for meta-attributes.
* A negative `migration-threshold`, which is invalid and was previously treated as 1, is now treated as the default (`INFINITY`).
* Failures of custom recurring actions are now ignored and not shown in status output.
== Daemon behavior ==
* The `pacemaker-fenced -c`/`--stand-alone-w-cpg` option has been dropped, and the `-s` / `--stand-alone` option //(deprecated in 2.1.5 and no longer deprecated)// now behaves like the dropped option.
* The Pacemaker Remote daemon will now default only to /etc/pacemaker/authkey for the authentication key location, and will no longer fall back to trying /etc/corosync/authkey if that is missing; also, if a user-specified key is unreadable, it will fail rather than trying the default location
* If the CIB is configured to allow remote management (`remote-clear-port` or `remote-tls-port`), the CIB manager now rejects all remote client connections if Pacemaker was built without PAM support. (Previously, it would accept all remote connections without authentication.)
== Resource agent behavior ==
* The cluster will no longer provide the `HA_mcp`, `HA_quorum_type`, `PCMK_mcp`, and `PCMK_quorum_type` environment variables when executing resource agents.
* Fence agents that do not advertise support for either `plug` or `port` will default to `pcmk_host_argument="none"`
* Node attributes will no longer be passed to fence agents as meta-attributes
== Alert agent behavior ==
* Alert environment variables will no longer be passed with a `CRM_notify_` prefix, only `CRM_alert_` //(deprecated since 1.1.15)//
== Tool behavior ==
* The `--text-fancy` command-line option has been dropped from all tools
* For tools that accept XML on the command line (such as `cibadmin -X/--xml-text`), the XML must be correctly formed. Previously, simple XML errors would be silently and automatically corrected. As an example, usage like `cibadmin -C -o nodes -X '<node id="node1" uname="node1">'` will now generate an error because the element is not properly closed with `/>`.
* `attrd_updater --query` without `--node` or `--all` will now query the local node only (previously, it would query the local node when called from a resource agent executed by the cluster and all nodes when called from the command line)
* `cibadmin`
** Support for the `-b/--no-bcast` and `-h/--host` options has been dropped
** `--md5-sum-versioned` no longer outputs "Versioned (...) digest: " to stderr.
* `crm_ticket` options that require the `--force` option will now exit with a status of 107 rather than 4 when `--force` is not given, for consistency with other tools
* `crm_mon` no longer supports the deprecated options `-h/--as-html`, `-s/--simple-status`, `-N/--disable-ncurses`, and `-w/--web-cgi`
* `crm_resource`
** `-D/--delete` now exits with success (0) instead of no-such-object (105) if resource doesn't exist, exits with usage error (64) instead of no-such-object (105) if `-t` argument is not given, and exits with invalid parameter (2) if given a specific clone instance
** `--option` now exits with a usage error (instead of being ignored) unless given with `--validate` and without `-r/--resource`
** `-T/--timeout` now exits with a usage error (instead of being ignored) if given an invalid value
** Support for the deprecated and undocumented `-x/--xml-file`, `-G/--get-property`, and `-S/--set-property` options has been dropped
* `crm_shadow`
** `-r/--reset` now requires `--force`
** File errors, which previously would always result in exit status 105 (no such object), now give a more specific exit status when appropriate
* `crm_simulate` output will now say `Assignment Scores` rather than `Allocation Scores`
**This describes proposed behavioral changes for a possible Pacemaker 3.0.0 release. Discussion should be directed to the [[ /w/clusterlabs/clusterlabs_mailing_lists/ | users mailing list]].**
These changes are only proposed and may not make it into the final release.
== Logging and status displays ==
* The textual strings used for certain exit status codes and execution status codes will change, so if you have any scripts parsing output for these, they may need updating (for example, capitalization will become more consistent)
== Cluster behavior ==
* If a location constraint has a rule using `score-attribute`, the constraint will be ignored for nodes where the specified attribute is unset or invalid (previously, the constraint would be used with a score of -INFINITY for unset and 0 for invalid).
* Previously, a rule `expression` with the empty string as `value` would never be treated as passing. Now, it passes when the corresponding node attribute is the empty string.
* Node expressions are now consistently ignored in rules for meta-attributes.
* A negative `migration-threshold`, which is invalid and was previously treated as 1, is now treated as the default (`INFINITY`).
* Failures of custom recurring actions are now ignored and not shown in status output.
== Daemon behavior ==
* Drop support for the `pacemaker-fenced -s`* The `pacemaker-fenced -c`/`--stand-alone-w-cpg` option has been dropped, and the `-s` / `--stand-alone` option //(deprecated in 2.1.5)//5 and no longer deprecated)// now behaves like the dropped option.
* The Pacemaker Remote daemon will now default only to /etc/pacemaker/authkey for the authentication key location, and will no longer fall back to trying /etc/corosync/authkey if that is missing; also, if a user-specified key is unreadable, it will fail rather than trying the default location
== Configuration behavior ==* If the CIB is configured to allow remote management (`remote-clear-port` or `remote-tls-port`), the CIB manager now rejects all remote client connections if Pacemaker was built without PAM support. (Previously, it would accept all remote connections without authentication.)
* The documentation states that the default for `action` in a `resource_set` is the enclosing constraint's action. However until now `start` has actually been used as the default. The behavior will be changed to match the documentation.== Resource agent behavior ==
* `action` configured as a fence device parameter is now ignored rather than treated as a default fencing actionThe cluster will no longer provide the `HA_mcp`, `HA_quorum_type`, `PCMK_mcp`, and `PCMK_quorum_type` environment variables when executing resource agents.
* The `concurrent-fencing` cluster property* Fence agents that do not advertise support for either `plug` or `port` will now default to true and be deprecated`pcmk_host_argument="none"`
* The `globally-unique` clone meta-* Node attributes will default to `true` when `clone-node-max` is greater than 1no longer be passed to fence agents as meta-attributes
* Groups with no members will be ignored (currently they can have some effect if used in constraints)== Alert agent behavior ==
* A negative `migration-threshold`* Alert environment variables will no longer be passed with a `CRM_notify_` prefix, which is invalid and previously was treated as 1, will now be treonly `CRM_alert_` //(deprecated as 0 (no limit).since 1.1.15)//
== Tool behavior ==
* The `--text-fancy` command-line option has been dropped from all tools
* For tools that accept XML on the command line (such as `cibadmin -X/--xml-text`), the XML must be correctly formed. Previously, simple XML errors would be silently and automatically corrected. As an example, usage like `cibadmin -C -o nodes -X '<node id="node1" uname="node1">'` will now generate an error because the element is not properly closed with `/>`.
* `attrd_updater --query` without `--node` or `--all` will now query the local node only (previously, it would query the local node when called from a resource agent executed by the cluster and all nodes when called from the command line)
* `cibadmin`
** Support for the `-b/--no-bcast` and `-h/--host` options has been dropped
** `--md5-sum-versioned` no longer outputs "Versioned (...) digest: " to stderr.
* `crm_ticket` options that require the `--force` option will now exit with a status of 107 rather than 4 when `--force` is not given, for consistency with other tools
* `crm_mon` no longer supports the deprecated options `-h/--as-html`, `-s/--simple-status`, `-N/--disable-ncurses`, and `-w/--web-cgi`
* `crm_resource`
** `-D/--delete` now exits with success (0) instead of no-such-object (105) if resource doesn't exist, exits with usage error (64) instead of no-such-object (105) if `-t` argument is not given, and exits with invalid parameter (2) if given a specific clone instance.
** `-O/--list-operations` does not list probes as active operations
** `--option` now exits with a usage error (instead of being ignored) unless given with `--validate` and without `-r/--resource`
** `-T/--timeout` now exits with a usage error (instead of being ignored) if given an invalid value
* `crm_shadow -r/--reset` will now require `--force`
* `crm_simulate` output will now say `Assignment Scores` rather than `Allocation Scores`
* Invalid command-line usage may result in an error rather than being silently ignored
* Deprecated options may be dropped, including:
** crm_mon: -h/--as-html, -X/--as-xml, -s/--simple-status, -N/--disable-ncurses, -w/--web-cgi
== Resource agent behavior ==
* The cluster will no longer provide the `HA_mcp`, `HA_quorum_typSupport for the deprecated and undocumented `-x/--xml-file`, `PCMK_mcp``-G/--get-property`, and `PCMK_quorum_type` environment variables when executing resource agents.-S/--set-property` options has been dropped
* Drop support for the OCF 1.0 `reload` and `unique` behavior of OCF resource agents (only the OCF 1.1 `reload-agent` and `reloadable` behavior will be supported)
* Fence agents that do not advertise support for either `plug` or `port` will default to `pcmk_host_argument="none"`
* Node attributes will no longer be passed to fence agents as meta-attributes
* Resource //instance// attributes will no longer be passed as environment variables with an `OCF_RESKEY_CRM_meta_` prefix (instance attributes will be passed only with `OCF_RESKEY_``crm_shadow`
** `-r/--reset` now requires `--force`
** File errors, and meta-attributes will still be passed with `OCF_RESKEY_CRM_meta_`)
== Alert agent behavior ==which previously would always result in exit status 105 (no such object), now give a more specific exit status when appropriate
* Alert environment variables will no longer be passed with a `CRM_notify_` prefix, only `CRM_alert_` //(deprecated since 1.1.15)//`crm_simulate` output will now say `Assignment Scores` rather than `Allocation Scores`