I had a similar issue some time back, and it was pointed out by the very 
helpful people in this group that puppet does an MD5 sum (or other hash 
check) on each file in the directory structure (probably something the 
strace mentioned would show you)

This post gives a suggested solution to managing a large directory 
structure: 
https://groups.google.com/forum/?fromgroups=#!topic/puppet-users/mnkHU09FcZI

So, the best approach is to exec find(1) or something similar, with an 
unless to limit the run if it's not going to need to make any changes.

The only thing puzzling me, is that you're specifying recurse => false... 
so I'd expect there may be something else going on.
Is the directory on the same files-system as the OS? or is it a mounted 
(NFS?) volume? 
Your code specify's "mountpoint" .. so this may be the source of your 
issue, not the recurse/managment.
If this is the case, you would possibly be better off managing the 
mountpoint with the mount directive, in which case, you 
may be experiencing something similar to what we dealt with here: 
https://groups.google.com/forum/?fromgroups=#!topic/puppet-users/xig1zZzoIpM
 
Hope this helps,
Andrew



On Thursday, September 13, 2012 1:46:14 PM UTC+1, badamowicz wrote:
>
> This keeps being weird. Simply thought to wait until Puppet finishes, but 
> had to quit after one and a half hour. Also tried ‘ensure  => present’ 
> instead of ‘ensure  => directory‘ with no success. No log output at all. 
> Still investigating. But any ideas still highly appreciated!
>
>  
>
> Bernd
>
>  
>
> *Von:* puppet...@googlegroups.com <javascript:> [mailto:
> puppet...@googlegroups.com <javascript:>] *Im Auftrag von *Bernd Adamowicz
> *Gesendet:* Donnerstag, 13. September 2012 10:46
> *An:* puppet...@googlegroups.com <javascript:>
> *Betreff:* Re: [Puppet Users] AW: Issue with large directory content
>
>  
>
> Thanks for your answers so far.
>
> But beware that the huge artifacts are *not* managed by Puppet (see recurse 
> => false). Actually it's a Maven repository filled by Nexus. Only the top 
> directory is managed by Puppet to have it in place and have correct access 
> rights. This worked well until I initially filled the repository with the 
> artifacts manually. That slowed down Puppet. Seems to me as Puppet will do 
> some recursive scanning, but that's just an assumption, since Puppet is 
> running with almost 100% CPU load.
>
> I turned debug on in Puppet but will not see anything even after a few 
> minutes. Presumably I would see something if I let Puppet run just long 
> enough. However, it's a strange behaviour I've never experienced. And I 
> think my configuration is OK. 
>
> Bernd
>
> On 09/13/2012 01:24 AM, Peter Brown wrote:
>
> On 13 September 2012 00:12, Christopher Wood 
> <christo...@pobox.com><javascript:>wrote:
> > I don't have enough information to say. You might want to run the master 
> and agent in debug mode to get more output, though.
> >
> > puppet agent --debug --verbose --no-daemonize
> >
> > Also, 100 GB? Any particular reason why you're not installing this using 
> a content distribution system or a large number of RPMs?
>
> Recursing through A 100Gb directory will definitely slow down your puppet 
> run.
> If the contents of the directory are reasonably static an RPM would be
> the best idea.
> If it's not static a git or svn repo would be a better idea.
> If you are tricky you can manage the checkouts of git or svn with
> puppet as well.
> I wrote a few tricky resources for this a while ago and they are
> infinitely handy.
>
> >
> > On Wed, Sep 12, 2012 at 04:08:13PM +0200, Bernd Adamowicz wrote:
> >> No ideas at all?
> >>
> >> > -----Ursprüngliche Nachricht-----
> >> > Von: Bernd Adamowicz
> >> > Gesendet: Dienstag, 11. September 2012 16:16
> >> > An: puppet...@googlegroups.com <javascript:>
> >> > Betreff: Issue with large directory content
> >> >
> >> > Hi all,
> >> >
> >> > I got this directory configuration:
> >> >
> >> >
> >> >          file {
> >> > "${codebase_ng::repository_mount}/${sonatype_work_dir}":
> >> >              ensure  => directory,
> >> >              owner   => $nexus_user,
> >> >              group   => $nexus_group,
> >> >              mode    => 0755,
> >> >              recurse => false,
> >> >              backup  => false,
> >> >          }
> >> >
> >> > Today I added some 100GB of artifacts to a subdirectory of
> >> > "${codebase_ng::repository_mount}/${sonatype_work_dir}". Now the 
> result
> >> > is that the Puppet seems to run "forever". If I uncomment this code,
> >> > Puppet finishes in 15 seconds. So I presume Puppet is doing some
> >> > recursive scanning of this directory. Could this be true? Is there a
> >> > know issue with large content of directories?
> >> >
> >> > Thanks in advance!
> >> > Bernd
>
>  
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Puppet Users" group.
> To post to this group, send email to puppet...@googlegroups.com<javascript:>
> .
> To unsubscribe from this group, send email to 
> puppet-users...@googlegroups.com <javascript:>.
> For more options, visit this group at 
> http://groups.google.com/group/puppet-users?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/2qEcnjkTPhkJ.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to