Today, Ambari Upgrade will automatically add stack configs.
However, it also causes problems when default properties or properties with default value such as "localhost" end up being added.
This led to many bugs. E.g., cluster with NameNode HA shouldn't automatically add dfs.namenode.secondary.http-address
Properties should be explicitly added during RU/EU config packs instead of relying on annotating them with.
This logic today will even add new config types. E.g., add ranger-env even though Ranger is not installed. If the customer then upgrades the stack from HDP 2.2 to 2.3, and then adds Ranger, they can get the wrong configs.
If we change this behavior, it's good to do so in a major release such as 2.4
We add required xml tags to properties:
- If it's a new property from stack X to X+1, we don't want it to be added automatically added. If we do want to add it, we should annotate it with "ADD_ON_UPGRADE"
- Similar to above, but handle "DELETE_ON_UPGRADE"
- Similar to above, but handle "CHANGE_ON_UPGRADE" to forcefully set to a new value if it exists