Dear all, Apparently I''ll be installing Puppet on a cluster of 300+ nodes that divided into four different types. How do I apply a specific module/ class to a specific client-group? For example, if I want to apply "my_module_1" to 50 or so odd machines and "my_module_1 + my_module_2" to 80 machines, how do I do that? I don''t think the only way is to add individual node one by one in the nodes.pp. How do you guys do it? You input/comment is already appreciated. Cheers!! -- 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.
Russell Howe
2011-Apr-15 11:09 UTC
RE: [Puppet Users] How to manage a big cluster of 100s of node?
> -----Original Message----- > From: puppet-users@googlegroups.com > [mailto:puppet-users@googlegroups.com] On Behalf Of Sans > Sent: 15 April 2011 11:57 > To: Puppet Users > Subject: [Puppet Users] How to manage a big cluster of 100s of node? > > to 80 machines, how do I do that? I don''t think the only way > is to add individual node one by one in the nodes.pp. How do > you guys do it? You input/comment is already appreciated. Cheers!!You can pattern match on the hostname in the node definition... -- Russell Howe rhowe@moonfruit.com -- 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.
Sans
2011-Apr-15 11:18 UTC
[Puppet Users] Re: How to manage a big cluster of 100s of node?
On Apr 15, 12:09 pm, Russell Howe <rh...@moonfruit.com> wrote:> > You can pattern match on the hostname in the node definition... >That could be a potential problem in future but for the time being, that should work for me. So, how do I pattern-match host-names like farm001 to farm110? Is there any wiki page for that? Cheers!! -- 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.
Felix Frank
2011-Apr-15 11:46 UTC
Re: [Puppet Users] Re: How to manage a big cluster of 100s of node?
On 04/15/2011 01:18 PM, Sans wrote:> > > On Apr 15, 12:09 pm, Russell Howe <rh...@moonfruit.com> wrote: >> >> You can pattern match on the hostname in the node definition... >> > > That could be a potential problem in future but for the time being, > that should work for me. So, how do I pattern-match host-names like > farm001 to farm110? Is there any wiki page for that? Cheers!! >So your node classes are determined by arbitrary ranges in their integer naming? Really? If you are forced to use insane naming schemes by your environment, you may want to try and introduce sanity by way of puppet certificate names (I believe those are used for matching nodes in the manifests, but I may be wrong). Otherwise, refresh your regex-fu, matching some integer ranges should be ugly but possible. E.g. for the above, you could use /farm(0..|10.|110)/. No, it''s not especially readable. Hence my plea for sane naming schemes. HTH, Felix -- 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.
Sans
2011-Apr-15 12:33 UTC
[Puppet Users] Re: How to manage a big cluster of 100s of node?
On Apr 15, 12:46 pm, Felix Frank <felix.fr...@alumni.tu-berlin.de> wrote:> > > So your node classes are determined by arbitrary ranges in their integer > naming? Really? >I hope by "node classes" you mean "type of nodes". It''s a bit complicated: The cluster is shared for Grid and the local jobs. Grid jobs can run any worker nodes but local-jobs runs on specific nodes - all the WNs are named from farm001 to farm250. Local jobs need some special local-environment settings, whist Grid-jobs don''t need them at all and that makes the difference. Its it possible to use something like this: seq 31 52 | gawk ''{printf("farm%03i\n",$1);}'' so that I can be specific about the hosts? Cheers!! -- 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.
Brice Figureau
2011-Apr-15 12:34 UTC
Re: [Puppet Users] How to manage a big cluster of 100s of node?
On Fri, 2011-04-15 at 03:56 -0700, Sans wrote:> Dear all, > > Apparently I''ll be installing Puppet on a cluster of 300+ nodes that > divided into four different types. How do I apply a specific module/ > class to a specific client-group? For example, if I want to apply > "my_module_1" to 50 or so odd machines and "my_module_1 + my_module_2" > to 80 machines, how do I do that? I don''t think the only way is to add > individual node one by one in the nodes.pp. How do you guys do it? You > input/comment is already appreciated. Cheers!!I think the best practice is to use an ENC[1] (external node classifier) like the Foreman or Puppet Dashboard, or one of your own. This way you can program (more easily) the logic of attributions of modules to your specific nodes. [1]: http://docs.puppetlabs.com/guides/external_nodes.html -- Brice Figureau Follow the latest Puppet Community evolutions on www.planetpuppet.org! -- 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.
Felix Frank
2011-Apr-15 12:51 UTC
Re: [Puppet Users] Re: How to manage a big cluster of 100s of node?
On 04/15/2011 02:33 PM, Sans wrote:> On Apr 15, 12:46 pm, Felix Frank <felix.fr...@alumni.tu-berlin.de> > wrote: >> >> >> So your node classes are determined by arbitrary ranges in their integer >> naming? Really? >> > > I hope by "node classes" you mean "type of nodes". It''s a bitI do. Sorry for being ambiguous.> complicated: The cluster is shared for Grid and the local jobs. Grid > jobs can run any worker nodes but local-jobs runs on specific nodes - > all the WNs are named from farm001 to farm250. Local jobs need some > special local-environment settings, whist Grid-jobs don''t need them at > all and that makes the difference. > > Its it possible to use something like this: seq 31 52 | gawk > ''{printf("farm%03i\n",$1);}'' > so that I can be specific about the hosts? Cheers!!You mean for generating a manifest? That would work then. But then, you may want to consider deploying some custom facts and write a manifest like node my_base_node { include worker_node if $local_wn { include local_worker_node } } HTH, Felix -- 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.
Sans
2011-Apr-15 15:57 UTC
[Puppet Users] Re: How to manage a big cluster of 100s of node?
Thanks Brice, for the link. Just had a quick look and I yet to understand how that external_nodes think works. Cheers!! On Apr 15, 1:34 pm, Brice Figureau <brice-pup...@daysofwonder.com> wrote:> > I think the best practice is to use an ENC[1] (external node classifier) > like the Foreman or Puppet Dashboard, or one of your own. > > This way you can program (more easily) the logic of attributions of > modules to your specific nodes. > > [1]:http://docs.puppetlabs.com/guides/external_nodes.html > -- > Brice Figureau > Follow the latest Puppet Community evolutions onwww.planetpuppet.org!-- 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.