n a Puppet node that has multiple group directories (e.g. /etc/group and LDAP) puppet may end up with groups listed multiple times in a user's group list. This leads to a state of constant change where puppet detects the muliple entries and tries to remove them (when nothing is wrong).
This change ensures that a user's group list only contains unique entries and no duplicates.
(We have local groups as a fail-over when LDAP is unavailable as we use groups for sudo authentication)
Solution provided with PR on GitHub: https://github.com/puppetlabs/puppet/pull/3027