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.
