I have this statement:
user { "tluker":
ensure => "present",
uid => 35417,
gid => 100,
groups => "wheel",
comment => "Tivon Luker",
home => "/home/tluker",
shell => "/bin/bash",
password => "$tluker",
managehome => true,
require => Package['ruby-shadow'],
}
It seems like puppet failed to create the user, but considers it to already be managed so it keeps trying to use 'usermod' to change the password. Looking over the provider and type for user, there seems to be no actual test if the user exists on the machine, only tests to see if puppet believes it is managing it.
I think the correct fix is a test in the provider to make sure the user exists before usermod is called, and either error or call useradd if required to fix it.