Phriction Welcome to the ClusterLabs Wiki Projects Pacemaker Pacemaker 3.0 Changes Pacemaker 3.0 Behavioral Changes History Version 1 vs 20
Version 1 vs 20
Version 1 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 [[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 ==
* Groups with no members will be ignored (currently they can have some effect if used in constraints)
* The `globally-unique` clone meta-attribute will default to `true` when `clone-node-max` is greater than 1
* 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.
* A negative `migration-threshold`, which is invalid and previously was treated as 1, will now be treated as 0 (no limit).
* The `concurrent-fencing` cluster property will now default to true and be deprecated
== Tool behavior ==
* Drop support for `-oVALUE` specification for single-letter options that take a value (only `-o VALUE` or `--option=VALUE` will be supported)
* `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)
* `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 -O/--list-operations` will not list probes as active operations
* `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 ==
* 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 [[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== Cluster behavior ==
* Drop support for the `pacemaker-fenced -s` / `--stand-alone` option //(deprecated in 2.1.5)//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).
* 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;Previously, also,a rule `expression` with the empty string as `value` would never be treated as passing. if a user-specified key is unreadableNow, it will fail rather than tryit passes when the corresponding the default locationnode attribute is the empty string.
== Configuration behavior ==* Node expressions are now consistently ignored in rules for meta-attributes.
* Groups with no members will be ignored (current* A negative `migration-threshold`, which is invalid and was previously they can have some effect if used in constraints)reated as 1, is now treated as the default (`INFINITY`).
* The `globally-unique` clone meta-attribute will default to `true` when `clone-node-max` is greater than 1* Failures of custom recurring actions are now ignored and not shown in status output.
* 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.
* A negative `migration-threshold`, which is invalid and previously was treated as 1, will now be treated as 0 (no limit).== Daemon behavior ==
* The `concurrent-fencing` cluster property will now default to true and be deprecatedpacemaker-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.
== Tool behavior ==* 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
* Drop support for `-oVALUE` specification for single-letter options that take a value (only `-o VALUE` or `--option=VALUE` will be supportedIf 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.)
* `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)== Resource agent behavior ==
* `crm_ticket` options that require the `--force` option will now exit with a status of 107 rather than 4 when `--force` is not givenThe cluster will no longer provide the `HA_mcp`, `HA_quorum_type`, `PCMK_mcp`, for consistency with other toolsand `PCMK_quorum_type` environment variables when executing resource agents.
* `crm_resource -O/--list-operations` will not list probes as active operations* Fence agents that do not advertise support for either `plug` or `port` will default to `pcmk_host_argument="none"`
* `crm_shadow -r/--reset` will now require `--force`* Node attributes will no longer be passed to fence agents as meta-attributes
* `crm_simulate` output will now say `Assignment Scores` rather than `Allocation Scores`== Alert agent behavior ==
* Invalid command-line usage may result in an error rather than being silently ignoredAlert environment variables will no longer be passed with a `CRM_notify_` prefix, only `CRM_alert_` //(deprecated since 1.1.15)//
* Deprecated options may be dropped, including:== Tool behavior ==
** crm_mon: -h/--as-html, -X/--as-xml, -s/--simple-status, -N/--disable-ncurses, -w/--web-cgi* The `--text-fancy` command-line option has been dropped from all tools
== Resource agent behavior ==* 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 `/>`.
* 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`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)
* Fence agents that do not advertise support for either `plug` or `port` will default to `pcmk_host_argument="none"``cibadmin`
** Support for the `-b/--no-bcast` and `-h/--host` options has been dropped
** `--md5-sum-versioned` no longer outputs "Versioned (...) digest: " to stderr.
* Node attributes will no longer be passed to fence agents as meta-attribute`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
* 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_mon` no longer supports the deprecated options `-h/--as-html`, `-s/--simple-status`, `-N/--disable-ncurses`, and meta-attributes will still be passed with `OCF_RESKEY_CRM_meta_`)`-w/--web-cgi`
== Alert agent behavior ==* `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
* 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`