On 19/03/09 22:50, Luke Kanies wrote: > Hi all, > > I've been thinking a lot about file recursion and why it's so darn > complicated, and I think one reason is the recursion happening in the > same resource type doing the managing. As a result, I've been > thinking of moving the file recursion into a Fileset resource type. > > Currently, the file type generates new file resources during > recursion; this basic model would be the same, except that the fileset > resource type would be generating files.
I've also been thinking a lot about local file recursion lately, but for performance reasons. I understand your idea and what are the benefits of your proposals in term of clarity, code concision and such. Right now, the main performance issue with local recursive file resources is creating one newchild file resource per managed sub file, which in turn will be managed by the system. Ruby seems particularly slow at creating tons of objects, and it uses memory for something that is at really transient. My idea on the subject (but I didn't research if that's doable) was that we don't really need to create those objects, if we consider a recursive resource as an "opaque" system which manages its own sub-resources itself. This behavior could be supported by the puppet ral system by defining a kind of recursive manager system that could offer programmatic resource management instead of being object based. I'm not sure I'm prefectly clear, it's late here and my brain need some rest :-) I think this violates the current puppet contract, but I'm sure we could implement the recursive behavior outside of the file resource while still being able to manage sub-resource procedurally instead of having to generate them. Maybe that's what you are proposing (still late here). If not, please try to think about it and see if that could make sense. -- Brice Figureau Days of Wonder http://www.daysofwonder.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to puppet-dev@googlegroups.com To unsubscribe from this group, send email to puppet-dev+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en -~----------~----~----~----~------~----~------~--~---