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-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Bernd Adamowicz
2012-Sep-12 14:08 UTC
[Puppet Users] AW: Issue with large directory content
No ideas at all?> -----Ursprüngliche Nachricht----- > Von: Bernd Adamowicz > Gesendet: Dienstag, 11. September 2012 16:16 > An: puppet-users@googlegroups.com > 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-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Christopher Wood
2012-Sep-12 14:12 UTC
Re: [Puppet Users] AW: Issue with large directory content
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? 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-users@googlegroups.com > > 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-users@googlegroups.com. > To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. > 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 post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Peter Brown
2012-Sep-12 23:24 UTC
Re: [Puppet Users] AW: Issue with large directory content
On 13 September 2012 00:12, Christopher Wood <christopher_wood@pobox.com> 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-users@googlegroups.com >> > 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-users@googlegroups.com. >> To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. >> 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 post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. > 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 post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Bernd Adamowicz
2012-Sep-13 08:45 UTC
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 <christopher_wood@pobox.com><mailto:christopher_wood@pobox.com> 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-users@googlegroups.com<mailto:puppet-users@googlegroups.com> >> > 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-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Bernd Adamowicz
2012-Sep-13 12:44 UTC
AW: [Puppet Users] AW: Issue with large directory content
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-users@googlegroups.com [mailto:puppet-users@googlegroups.com] Im Auftrag von Bernd Adamowicz Gesendet: Donnerstag, 13. September 2012 10:46 An: puppet-users@googlegroups.com 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 <christopher_wood@pobox.com><mailto:christopher_wood@pobox.com> 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-users@googlegroups.com<mailto:puppet-users@googlegroups.com> >> > 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-users@googlegroups.com<mailto:puppet-users@googlegroups.com>. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com<mailto:puppet-users+unsubscribe@googlegroups.com>. 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 post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
David Schmitt
2012-Sep-14 07:07 UTC
Re: AW: [Puppet Users] AW: Issue with large directory content
Use strace to take a look at what''s really happening. That should make it much easier to pinpoint the culprit: strace -e file -f puppet agent --test Best Regards, David On 13.09.2012 14:44, Bernd Adamowicz 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-users@googlegroups.com > [mailto:puppet-users@googlegroups.com] *Im Auftrag von *Bernd Adamowicz > *Gesendet:* Donnerstag, 13. September 2012 10:46 > *An:* puppet-users@googlegroups.com > *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 > <christopher_wood@pobox.com> <mailto:christopher_wood@pobox.com> 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-users@googlegroups.com <mailto:puppet-users@googlegroups.com> > >> > 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-users@googlegroups.com > <mailto:puppet-users@googlegroups.com>. > To unsubscribe from this group, send email to > puppet-users+unsubscribe@googlegroups.com > <mailto:puppet-users+unsubscribe@googlegroups.com>. > 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 post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscribe@googlegroups.com. > 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 post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Andrew Stangl
2012-Sep-14 07:42 UTC
Re: [Puppet Users] AW: Issue with large directory content
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+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.