Issue #3236 has been updated by Sebastian Kayser.

Just ran into the very same issue. From looking at my --debug output, --noop 
seems to be the culprit. puppetd creates such missing, internal directories 
(like client_yaml), just not when --noop is given.

<pre>
# puppetd -t --noop
...
debug: /File[/var/lib/puppet/client_yaml]: Changing ensure
debug: /File[/var/lib/puppet/client_yaml]: 1 change(s)
debug: /File[/var/lib/puppet/client_yaml]/ensure: is absent, should be 
directory (noop)
...
</pre>

For some people this is confusing as they start off with a distro-installed 
puppet package that has an empty $vardir. When they then try to do a -t --noop 
to see whether things fall into place nicely they get the "No such file or 
directory" error instead. They then go on to create the directory manually, 
just to run into the next missing directory, ... iterate X times.

See
* https://bugzilla.redhat.com/show_bug.cgi?id=475796
* http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=557769

Would be helpful if Puppet would either create such internal-use directories 
anyway (even when --noop is given) or at least bail out loudly and explain to 
the user why --noop is a problem in this case.
----------------------------------------
Bug #3236: err: Could not retrieve catalog from remote server: No such file or 
directory - /var/puppet/client_yaml/catalog
http://projects.puppetlabs.com/issues/3236

Author: Joe McDonagh
Status: Investigating
Priority: Normal
Assigned to: Markus Roberts
Category: plumbing
Target version: 
Affected version: 0.25.4
Keywords: openbsd
Branch: 


On one of my OpenBSD nodes:

<pre>
[/tmp] > sudo /usr/local/sbin/puppetd -t --noop
info: Caching certificate_revocation_list for ca
info: Caching catalog for somecomputer.com
err: Could not retrieve catalog from remote server: No such file or directory - 
/var/puppet/client_yaml/catalog
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run
(jmcdon...@somecomputer) Tue Feb 23 12:33 PM /dev/ttyp0
[/tmp] > sudo /usr/local/sbin/puppetd -t --noop
info: Caching catalog for somecomputer.com
err: Could not retrieve catalog from remote server: No such file or directory - 
/var/puppet/client_yaml/catalog
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run
(jmcdon...@somecomputer) Tue Feb 23 12:34 PM /dev/ttyp0
[/tmp] > ls -la /var/puppet/
total 100
drwxr-xr-x   9 _puppet  _puppet    512 Feb 23 10:18 .
drwxr-xr-x  24 root     wheel      512 Jul  9  2009 ..
drwxr-x---   5 root     wheel      512 Dec  4 14:53 clientbucket
drwxr-xr-x   2 _puppet  _puppet    512 Feb 23 10:18 facts
-rw-r-----   1 root     wheel    32356 Nov 19 11:00 http.log
drwxr-xr-x   2 root     _puppet    512 Oct  9  2008 lib
drwxr-xr-x   2 _puppet  _puppet    512 Feb 23 10:18 plugins
drwxr-xr-x   2 _puppet  _puppet    512 Feb 23 10:18 reports
drwxrwx--x   7 root     wheel      512 Feb 23 12:33 ssl
drwxr-xr-t   2 root     _puppet    512 Feb 23 12:34 state
(jmcdon...@somecomputer) Tue Feb 23 12:36 PM /dev/ttyp0
[/tmp] > mkdir /var/puppet/client_yaml
mkdir: /var/puppet/client_yaml: Permission denied
(jmcdon...@somecomputer) Tue Feb 23 12:36 PM /dev/ttyp0
[/tmp] > sudo !!
sudo mkdir /var/puppet/client_yaml
(jmcdon...@somecomputer) Tue Feb 23 12:36 PM /dev/ttyp0
</pre>

At this point, it works. Methinks that should catch the exception and create 
the directory.
    


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to