**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)//