The Puppet Labs Issue Tracker has Moved:

This issue tracker is now in read-only archive mode and automatic ticket export has been disabled. Redmine users will need to create a new JIRA account to file tickets using See the following page for information on filing tickets with JIRA:

Bug #2347

when absent parameter is set on file type, it fails if the user parameter is a non-existing user

Added by micah - almost 7 years ago. Updated almost 7 years ago.

Status:AcceptedStart date:06/17/2009
Priority:NormalDue date:
Assignee:-% Done:


Target version:-
Affected Puppet version:0.24.8 Branch:

We've Moved!

Ticket tracking is now hosted in JIRA:


If you are trying to remove a file by specifying the absent parameter, and there is also a user parameter attached with a non-existing user, it fails… but only when the file exists. Observe:

/tmp$ cat foo.pp 
file { '/tmp/ffo': ensure => absent, owner => nonexisting_user; }
/tmp$ puppet foo.pp
/tmp$ echo $?

but, if the file exists then you get a failure:

/tmp$ touch ffo
/tmp$ puppet foo.pp
err: //File[/tmp/ffo]: Failed to retrieve current state of resource: Could not find user nonexisting_user

This makes it difficult to remove a user and a file all in one swoop, such as in the case when you want to remove any resource managed within any define that you set to absent.


#1 Updated by James Turnbull almost 7 years ago

  • Category set to file
  • Status changed from Unreviewed to Accepted
  • Assignee set to Luke Kanies

Luke? This weird but I can sort of see how it might happen.

#2 Updated by Luke Kanies almost 7 years ago

  • Assignee deleted (Luke Kanies)

Yeah, I can see how it would happen.

Clearly we should only be validating the presence of the user if we’re not deleting the file.

Oh for a state machine…

Also available in: Atom PDF