zpool.present: correctly handle "feature@" properties
Optional ZFS pool features can have three states: disabled, enabled, and active. Enabled means that ZFS will use them if it needs them, but they haven't changed the on-disk format yet, so they can still be switched off. But active features have already changed the on-disk format, so they can't be switched off. Disabled features may not be used.
When enabling such a feature via the zpool.present state, treat "active" as identical to "enabled".
Fixes #62390
What does this PR do?
Treats zpool properties named "feature@XXX" as being "enabled" if they are really "active" during the zpool.present state.
What issues does this PR fix or reference?
Fixes: 62390
Previous Behavior
If a zpool.present state tried to set a feature to enabled, but that feature was already active on the pool, then Salt would redundantly execute zpool set again, to no effect.
New Behavior
Such a state won't result in any action being taken.
Merge requirements satisfied?
- [ ] Docs
- [x] Changelog - https://docs.saltproject.io/en/master/topics/development/changelog.html
- [x] Tests written/updated
Commits signed with GPG?
Yes