Eiwe Lingefors
2008-Nov-05 19:33 UTC
[Puppet Users] Solution to managing an entire directory in a "waterfall" configuration
The subject may not make a lot of sense so let me try and explain. I''ve searched the archives and come up short so my apologies if this has indeed been addressed before. I have a function that looks like this: define remotedir($mode, $owner, $group, $source, $ensure = directory, $recurse = inf) { file { $name: mode => $mode, owner => $owner, group => $group, ensure => $ensure, recurse => $recurse, source => [ "puppet://$server/dist/host/$host/$source", "puppet://$server/dist/farm/$farm/$source", "puppet://$server/dist/colo/$colo/$type/ $source", "puppet://$server/dist/colo/$colo/common/ $source", "puppet://$server/dist/type/$type/$source", "puppet://$server/dist/type/common/$source" ] } } It works great and as expected it prefers files higher up in the list. However, I would like the "common" files (at the bottom of the list) to always be included. I have not found a way to accomplish this since in its present form it won''t ever get there since it prefers files higher in the list. If I create a function to grab the common files I end up with a collision since both functions then try to manage the same directory. I would like to try to avoid managing individual files. For example, we have a bunch of custom scripts in /usr/local/sbin and right now a class like this: class farm_localsbin { remotedir { "/usr/local/sbin": source => "usr/local/sbin", mode => 755, owner => root, group => root; } } This gets included from the node definition and grabs all the /usr/ local/sbin/* files specific to that "farm" as would be expected. It does NOT grab the "common" files like I would want, due to the aforementioned issues. Do you understand what I''m rambling on about? Is there a way to accomplish this? Please let me know if you need any further clarification or examples and I''ll be happy to provide it. Thanks, Eiwe Lingefors --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---