Issue #2296 has been updated by Luke Kanies.
Yeah, the overrides tests are how I found this problem. As to means of fixing it... The only real option is to have some part of the recursion prune the results of recursion when a file resulting from recursion is managed. E.g., /a returns /a/b/ and /a/b/c, but notices that /a/b is managed so it prunes the tree at that branch. It's kinda hackish, because the eval_generate method needs to know more about the catalog than I would like, but I don't see much way around it. Really, if we fixed recursion so it didn't generate resources, we could get rid of eval_generate entirely, and while file recursion might still be somewhat hackish, the whole file/transaction interface would be cleaner. ---------------------------------------- Bug #2296: Multiple recursions with one root can overlap incorrectly http://projects.reductivelabs.com/issues/2296 Author: Luke Kanies Status: Accepted Priority: High Assigned to: Luke Kanies Category: file Target version: 0.25.0 Complexity: Unknown Affected version: 0.24.8 Keywords: If you have two sets of recursions that are nested: <pre> file { "/tmp": recurse => true, owner => root } file { "/tmp/foo": recurse => true, owner => bar } </pre> Then the current way recursion is done (get a complete recursive list from the server, and add all results to the catalog) can result in the less-specific directory (/tmp, in this case) winning, with all of the files and directories in /tmp/foo (in our example) getting ignored because they're duplicates of the first recursion. This wasn't a problem in our old system because we hit the server separately for every directory. Now that we've optimized it not to do that, we need to add in some specific exclusions so that we don't try to manage information that more specific resources are trying to manage. -- 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://reductivelabs.com/redmine/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 -~----------~----~----~----~------~----~------~--~---
