I would see a principle whereby nodes should not ever be defined within the manifest code at all. To me the manifests should be written to be very generic, and then use ENC's to modify their behaviour at a "user" level. There is still a lot of inconsistency within Puppet as to how device specific data can be obtained (extlookup is very useful but rides roughshod over other architectural principles) but I try to stick to keeping all manifests generic. I write manifests to manage a package, then create a group in dashboard to relate that function to a business need and then a node into that group.
On 21 June 2011 14:48, Martin Willemsma <[email protected]> wrote: > We use /etc/puppet/node-definitions/*.pp in site.pp similar to what Carles > is saying. > > [node-definitions] is a git repo thats being synced on both puppermasters. > This happens on every push to origin > > We use the 'default' node which does the baseline configuration based on a > 'role' > > In a separate file $fqdn.pp I place the definitions for a node. > > Are there more people using this kind of approach? > > > --- > Martin > > > 2011/6/21 Carles Amigó <[email protected]> > >> We had the same problem and we just separated each node (or group of >> nodes) in one file and then we load them using the following syntax: >> >> import "nodes/*.pp" >> >> You could also organize those files in subdirectories if you like so: >> >> import "nodes/*/*.pp" >> >> The only problem we've found with this approach is when creating new >> files, puppetmaster takes a while to "see" them. >> >> >> El 20/06/2011 5:25, flex escribió: >> >> We have many modules and many nodes, every node may use different >>> module, so it's very unpleasant to modify the nodes.pp >>> Then i saw the external node, but seems it only support class and we >>> have many defines called in node.pp >>> >>> So here is my question: Is there another way for us to manage so many >>> nodes easily or should i change all the defines to classes and using >>> external nodes? >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Puppet Users" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to puppet-users+unsubscribe@** >> googlegroups.com <puppet-users%[email protected]>. >> For more options, visit this group at http://groups.google.com/** >> group/puppet-users?hl=en<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 [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-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 [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-users?hl=en.
