On Mon, 2011-02-28 at 23:58 -0800, Thomas Rasmussen wrote: > > On Feb 28, 9:35 pm, Patrick <kc7...@gmail.com> wrote: > > On Feb 28, 2011, at 4:23 AM, Thomas Rasmussen wrote: > > > > > > > > > > > > > hey > > > > > OK, now I have tried to do it via rsync and it seems to be working... > > > but the recurse bug is apparently very serious... I now have a > > > manifest that does: > > > > > file { "/pack/mysql-5.5.9": > > > ensure => directory, > > > recurse => true, > > > force => true, > > > owner => "root", > > > group => "root", > > > require => Exec[rsync_mysql_install], > > > } > > > > > This takes about the same time as if I was copying (I need to be sure > > > of permissions of rsync'ed files). Is the recurse feature really that > > > bad? > > > > If the permissions you need to be sure of are all "root,root,755", it will > > be much faster to just do a chmod+chown at the end and put that and the > > rsync in a shellscript. > > > > That is a hack but not a solution, honestly I'm really disappointed in > puppet not handling this very effeciently.... I've been used to > cfengine2 for the past year or so, but for a particular project we > have decided to use puppet, mainly because we like the manifests > better here than on cfengine...
You need to understand the issue first: When puppet manage a files (ie all aspects of it), it creates internally a resource object (like every other resources you manage). Then this resource is evaluated and the said resources do what is necessary so that its target (the file on disk) is modified to match what you wanted. To simplify recursive file resources management, puppet will manage all the files found by recursively walking the hierarchy as if they were independent resources. Which means that puppet has to create many instances in memory (one per managed file/dir found during the walk). This in turn expose some scalability issues in the event system and transaction system of puppet. > So I hope that the performance issue when recursing directories gets > attention and gets fixed soon. I also hope this will be the case. Unfortunately each time I wanted to address this issue, I found that this part of the code is horribly complex, and all my attempts to do it differently were doomed to fail. -- Brice Figureau Follow the latest Puppet Community evolutions on www.planetpuppet.org! -- 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+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.