Phriction Welcome to the ClusterLabs Wiki Projects Pacemaker Pacemaker 3.0 Changes Pacemaker 3.0 Behavioral Changes History Version 2 vs 20
Version 2 vs 20
Version 2 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 ==
* 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 [[ /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== 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.== Daemon behavior ==
* A negative `migration-threshold`* The `pacemaker-fenced -c`/`--stand-alone-w-cpg` option has been dropped, which is invalid and previously was treand the `-s` / `--stand-alone` option //(deprecated as 1, will now be trein 2.1.5 and no longer deprecated as 0 (no limit))// now behaves like the dropped option.
* The `concurrent-fencing` cluster property will now default to true and be deprecatedPacemaker 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
== Tool 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.)
* Drop support for `-oVALUE` specification for single-letter options that take a value (only `-o VALUE` or `--option=VALUE` will be supported)== Resource agent behavior ==
* `attrd_updater --query` without `--node` or `--all` will now query the local node only (previously* The cluster will no longer provide the `HA_mcp`, `HA_quorum_type`, `PCMK_mcp`, 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)and `PCMK_quorum_type` environment variables when executing resource agents.
* `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 toolsFence agents that do not advertise support for either `plug` or `port` will default to `pcmk_host_argument="none"`
* `crm_resource -O/--list-operations` will not list probe* Node attributes will no longer be passed to fence agents as active operationsmeta-attributes
* `crm_shadow -r/--reset` will now require `--force`== Alert agent behavior ==
* `crm_simulate` output will now say `Assignment Scores` rather than `Allocation Scores`Alert environment variables will no longer be passed with a `CRM_notify_` prefix, only `CRM_alert_` //(deprecated since 1.1.15)//
* Invalid command-line usage may result in an error rather than being silently ignored== Tool behavior ==
* Deprecated options may be dropped, including:
** crm_mon: -h/--as-html, -X/--as-xml, -s/--simple-status, -N/--disable-ncurses, -w/--web-cgiThe `--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
* Alert environment variables will no longer be passed with a `CRM_notify_` prefix`crm_shadow`
** `-r/--reset` now requires `--force`
** File errors, which previously would always result in exit status 105 (no such object), only `CRM_alert_` //(deprecated since 1.1.15)//now give a more specific exit status when appropriate
* `crm_simulate` output will now say `Assignment Scores` rather than `Allocation Scores`