As as an example for what I do in nodes.pp and what is hard for me to do is things like this:
node "hlslinutil1.law.harvard.edu" { $ip = "10.241.209.118" $broadcast = "10.241.209.255" $netmask = "255.255.255.0" $network = "10.241.209.0" $gateway = "10.241.209.1" $hlsenvironment = "testing" # Must be before other modules! nagios::target{ "$fqdn": notification_period => "24x7" } include nagios defaultclass{$environment:} include commvault include puppetmaster include splunk4::client include foreman include foreman::passenger include mcollective::client include users::developers include users::cms filemounts::nfsmount { "/home": location => "10.241.209.97:/vol/nfspub/home", } filemounts::nfsmount { "/mnt/media": location => "10.241.209.96:/vol/media", } filemounts::nfsmount { "/srv/www": location => "10.241.209.97:/vol/nfsmaster/sun1www", } filemounts::nfsmount { "/mnt/cms": location => "10.241.209.97:/vol/nfspub/www/cms", } filemounts::nfsmount { "/mnt/testcms": location => "10.241.209.97:/vol/nfspub/www/testcms", } filemounts::nfsmount { "/share": location => "10.241.209.97:/vol/nfsmaster/share", } } The biggest issue for me is finding a way to represent these filemount::nfsmount defines. They are not easily determined by any automated source and I'm restricted to just putting them in place by hand. There are other defines above that can be converted into classes easily, but things like this that belong to a specific node represent a hassle. I either have to find a way to use variables and setup a loop over these variables, or make a giant class with all these seperated by if $hostname, or even a class per node. I just bring this up as an example of something difficult to do with the existing external node classifier system. On Fri, May 21, 2010 at 8:45 AM, Atha Kouroussis <akourous...@gmail.com>wrote: > On May 21, 2010, at 02:16 , Douglas Garstang wrote: > > > On Thu, May 20, 2010 at 10:06 PM, Paul Lathrop <p...@tertiusfamily.net> > wrote: > >> If you don't see a use, don't use the feature. However, when you have > >> an issue and people suggest external nodes is the answer, you might > >> consider listening. > > > > Paul, I initially asked about a way to parse nodes files such that I > > could update them programatically. Various people suggested external > > nodes. And, here we are. > > > > Thanks for your reply. I am listening, but I missed where you > > suggested a solution to my question. Therefore, I will pose it again. > > How do I set parameters in external nodes such that I don't have to > > pass a plethora of qualified global variables to my modules? > > Douglas, > we use Foreman as our external node classifier. It allows you to set > variables at different levels: global, domain, hostgroup and host, each > taking precedence the previous one. This way you can set global defaults and > override them at different levels until you set specific variables for a > host for example and variables can have the same names always. > Is this what you were looking for? > > Cheers, > Atha > > > > Doug. > > > > -- > > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > > To post to this group, send email to puppet-us...@googlegroups.com. > > To unsubscribe from this group, send email to > puppet-users+unsubscr...@googlegroups.com<puppet-users%2bunsubscr...@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-us...@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscr...@googlegroups.com<puppet-users%2bunsubscr...@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-us...@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.