My experience managing only home directories (and even fewer than yours) is that tossing hundreds of i/o-sensitive resources (nfs mounts, directories) at a puppet agent guarantees slow agent runs. You're also not going to scale way up with local users across a growing number of servers.
My way of getting around this issue was to configure ldap service and give every server an nss-pam-ldapd configuration (all via puppet). I can easily restrict host access via nslcd's passwd filter. Then the user-provisioning load is between the database and the ldap servers, and the puppet agent is only checking the nss-pam-ldapd configuration on the web servers themselves.
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To view this discussion on the web visit
> [1]
https://groups.google.com/d/msg/puppet-users/-/X68ubmfC8wAJ.
> To post to this group, send email to
puppet...@googlegroups.com.
> To unsubscribe from this group, send email to
>
puppet-users...@googlegroups.com.
> For more options, visit this group at
>
http://groups.google.com/group/puppet-users?hl=en.
>
> References
>
> Visible links
> 1.
https://groups.google.com/d/msg/puppet-users/-/X68ubmfC8wAJ