Currently, "default" is an allowed value for `is-managed`, `resource-stickiness`, `migration-threshold`, and `target-role`. At the time of writing, the first three are in `pe__unpack_resource()` and `target-role` is in `get_target_role()`.
"default" was added as an allowed value by commit 5050638. It seems never to have been documented, so no one should be using it or even aware of it.
Out of a great abundance of caution, we can wait until 3.0.0 to drop it.
Ref: https://github.com/ClusterLabs/pacemaker/pull/3301/commits/3af014ef63e74091ccb3b361823a4b0cbd631972#r1439558366
---
**Also** drop special handling for "#default" as a meta-attribute value. The "#default" handling code was added by commit ea1359b. It seems that it was never documented except as an allowed value for the target-role meta-attribute. In that use case, it's now considered an invalid value.
The documentation for "target-role=#default" was only in the `crm.dtd` file (not in the doc books), which was removed in 2.0.0 by commit 79a739c.
Any user relying on it is relying on undefined and undocumented behavior. But again, out of a great abundance of caution, we'll wait until 3.0.0.
We will also have to update some tests. When we drop the "#default" line from `add_hash_param()`, a "#default" value gets added to a resource's meta-attributes if present in the XML. This results in a resource definition change, which would change two test outputs.
Ref https://github.com/ClusterLabs/pacemaker/pull/3301/commits/fd5509d50f36e9e861c4d7a5625e0639771dcd44#r1439575747