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? -- System Administrator, Focus on System Management and Basic Development -- 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.
On Mon, Jun 20, 2011 at 6:25 AM, flex <frostynova@gmail.com> wrote:> 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?+1, later on you could restructure further if needed.> > -- > System Administrator, Focus on System Management and Basic Development > > -- > 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. >-- 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.
On Mon, Jun 20, 2011 at 10:45 AM, Ohad Levy <ohadlevy@gmail.com> wrote:> On Mon, Jun 20, 2011 at 6:25 AM, flex <frostynova@gmail.com> wrote: >> 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? > +1, later on you could restructure further if needed.sorry, i meant to say you should probably start with replacing your node statements with classes. Ohad> >> >> -- >> System Administrator, Focus on System Management and Basic Development >> >> -- >> 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. >> >-- 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.
Do you have a lot of boxes that perform the same function? You can use the regex node syntax: node /^db/ { include db } Or device some other way of extracting function out of the machine name. It might save you some time. Otherwise if your machines are fairly unique using ENC to configure that would be a good path if you are getting sick of updating your nodes file. Dashboard and The Foreman are two good tools to look at for this purpose. Ideally you want your node entries to contain only vars and classes for a switchover to ENC to work. Param classes aren''t supported in either tool yet I believe. ken. On Mon, Jun 20, 2011 at 4:25 AM, flex <frostynova@gmail.com> wrote:> 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? > > -- > System Administrator, Focus on System Management and Basic Development > > -- > 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. >-- 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.
thanks Ohad and Ken, i am using foreman now, but only for logging reports, i think i should try to restructe our config and use external node with forman. 2011/6/20 Ken Barber <ken@puppetlabs.com>> Do you have a lot of boxes that perform the same function? You can use > the regex node syntax: > > node /^db/ { > include db > } > > Or device some other way of extracting function out of the machine > name. It might save you some time. > > Otherwise if your machines are fairly unique using ENC to configure > that would be a good path if you are getting sick of updating your > nodes file. Dashboard and The Foreman are two good tools to look at > for this purpose. > > Ideally you want your node entries to contain only vars and classes > for a switchover to ENC to work. Param classes aren''t supported in > either tool yet I believe. > > ken. > > On Mon, Jun 20, 2011 at 4:25 AM, flex <frostynova@gmail.com> wrote: > > 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? > > > > -- > > System Administrator, Focus on System Management and Basic Development > > > > -- > > 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. > > > > -- > 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. > >-- System Administrator, Focus on System Management and Basic Development -- 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.
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 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.
Martin Willemsma
2011-Jun-21 13:48 UTC
Re: [Puppet Users] How to manage many nodes easily?
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ó <carles.amigo@softonic.com>> 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 puppet-users@googlegroups.com. > To unsubscribe from this group, send email to puppet-users+unsubscribe@** > googlegroups.com <puppet-users%2Bunsubscribe@googlegroups.com>. > 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 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.
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 <mwillemsma@gmail.com> 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ó <carles.amigo@softonic.com> > >> 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 puppet-users@googlegroups.com. >> To unsubscribe from this group, send email to puppet-users+unsubscribe@** >> googlegroups.com <puppet-users%2Bunsubscribe@googlegroups.com>. >> 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 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. >-- 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.
These is another question, i have many defines which will apply an application to sepcified path, called as: application::add { "app1": path => "/var/app1" } by this i can apply app1 and app2 in node1, app3 and app4 in node2, etc. now, how do i switch this to a class? Need i create a seperate class for all the apps although the only difference is the path? 2011/6/21 Chris Phillips <chris@untrepid.com>> 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 <mwillemsma@gmail.com> 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ó <carles.amigo@softonic.com> >> >>> 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 puppet-users@googlegroups.com. >>> To unsubscribe from this group, send email to puppet-users+unsubscribe@* >>> *googlegroups.com <puppet-users%2Bunsubscribe@googlegroups.com>. >>> 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 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. >> > > -- > 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. >-- System Administrator, Focus on System Management and Basic Development -- 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.
On 06/23/2011 04:35 AM, flex wrote:> These is another question, i have many defines which will apply an > application to sepcified path, called as: > > application::add { "app1": path => "/var/app1" } > > by this i can apply app1 and app2 in node1, app3 and app4 in node2, etc. > > now, how do i switch this to a class? Need i create a seperate class for > all the apps although the only difference is the path?You can make use of parameterized classes: class application::add($appname) { path => ''/var/${appname}'', ... } Within your node definition you call the class with desired parameter: node ''node1'' { class application::add { appname => ''app1'' } class application::add { appname => ''app3'' } } Kind regards, Martin> > 2011/6/21 Chris Phillips <chris@untrepid.com <mailto:chris@untrepid.com>> > > 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 <mwillemsma@gmail.com > <mailto:mwillemsma@gmail.com>> 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ó <carles.amigo@softonic.com > <mailto:carles.amigo@softonic.com>> > > 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 > puppet-users@googlegroups.com > <mailto:puppet-users@googlegroups.com>. > To unsubscribe from this group, send email to > puppet-users+unsubscribe@__googlegroups.com > <mailto:puppet-users%2Bunsubscribe@googlegroups.com>. > 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 > puppet-users@googlegroups.com > <mailto:puppet-users@googlegroups.com>. > To unsubscribe from this group, send email to > puppet-users+unsubscribe@googlegroups.com > <mailto:puppet-users%2Bunsubscribe@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-users@googlegroups.com > <mailto:puppet-users@googlegroups.com>. > To unsubscribe from this group, send email to > puppet-users+unsubscribe@googlegroups.com > <mailto:puppet-users%2Bunsubscribe@googlegroups.com>. > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > > > > > -- > System Administrator, Focus on System Management and Basic Development > > -- > 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.-- 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.
On Jun 23, 7:44 am, Martin Alfke <tux...@gmail.com> wrote:> On 06/23/2011 04:35 AM, flex wrote: > > > These is another question, i have many defines which will apply an > > application to sepcified path, called as: > > > application::add { "app1": path => "/var/app1" } > > > by this i can apply app1 and app2 in node1, app3 and app4 in node2, etc. > > > now, how do i switch this to a class? Need i create a seperate class for > > all the apps although the only difference is the path? > > You can make use of parameterized classes: > > class application::add($appname) { > path => ''/var/${appname}'', > ... > > } > > Within your node definition you call the class with desired parameter: > > node ''node1'' { > class application::add { appname => ''app1'' } > class application::add { appname => ''app3'' } > > }The mentioned usage of parameterized classes in node definition is wrong. See: http://docs.puppetlabs.com/guides/language_guide.html#parameterised-classes node ''node1'' { class { ''application::app'': appname => ''app1'' } class { ''application::add'': appname => ''app3'' } }> > Kind regards, > > Martin > > > > > > > > > > > 2011/6/21 Chris Phillips <ch...@untrepid.com <mailto:ch...@untrepid.com>> > > > 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 <mwillem...@gmail.com > > <mailto:mwillem...@gmail.com>> 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� <carles.am...@softonic.com > > <mailto:carles.am...@softonic.com>> > > > 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 > > puppet-users@googlegroups.com > > <mailto:puppet-users@googlegroups.com>. > > To unsubscribe from this group, send email to > > puppet-users+unsubscribe@__googlegroups.com > > <mailto:puppet-users%2Bunsubscribe@googlegroups.com>. > > 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 > > puppet-users@googlegroups.com > > <mailto:puppet-users@googlegroups.com>. > > To unsubscribe from this group, send email to > > puppet-users+unsubscribe@googlegroups.com > > <mailto:puppet-users%2Bunsubscribe@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-users@googlegroups.com > > <mailto:puppet-users@googlegroups.com>. > > To unsubscribe from this group, send email to > > puppet-users+unsubscribe@googlegroups.com > > <mailto:puppet-users%2Bunsubscribe@googlegroups.com>. > > For more options, visit this group at > > http://groups.google.com/group/puppet-users?hl=en. > > > -- > > System Administrator, Focus on System Management and Basic Development > > > -- > > 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.-- 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.
But i think class is singletons, means when using class you can not get more than one copy of the resource, that''s the biggest difference between class and define. Your example give a duplicate definition error in my environment. So is this my fault or there another way? 2011/6/23 Martin Alfke <tuxmea@gmail.com>> > > On Jun 23, 7:44 am, Martin Alfke <tux...@gmail.com> wrote: > > On 06/23/2011 04:35 AM, flex wrote: > > > > > These is another question, i have many defines which will apply an > > > application to sepcified path, called as: > > > > > application::add { "app1": path => "/var/app1" } > > > > > by this i can apply app1 and app2 in node1, app3 and app4 in node2, > etc. > > > > > now, how do i switch this to a class? Need i create a seperate class > for > > > all the apps although the only difference is the path? > > > > You can make use of parameterized classes: > > > > class application::add($appname) { > > path => ''/var/${appname}'', > > ... > > > > } > > > > Within your node definition you call the class with desired parameter: > > > > node ''node1'' { > > class application::add { appname => ''app1'' } > > class application::add { appname => ''app3'' } > > > > } > > The mentioned usage of parameterized classes in node definition is > wrong. > See: > http://docs.puppetlabs.com/guides/language_guide.html#parameterised-classes > > node ''node1'' { > class { ''application::app'': appname => ''app1'' } > class { ''application::add'': appname => ''app3'' } > } > > > > > Kind regards, > > > > Martin > > > > > > > > > > > > > > > > > > > > > 2011/6/21 Chris Phillips <ch...@untrepid.com <mailto: > ch...@untrepid.com>> > > > > > 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 <mwillem...@gmail.com > > > <mailto:mwillem...@gmail.com>> 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� <carles.am...@softonic.com > > > <mailto:carles.am...@softonic.com>> > > > > > 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 > > > puppet-users@googlegroups.com > > > <mailto:puppet-users@googlegroups.com>. > > > To unsubscribe from this group, send email to > > > puppet-users+unsubscribe@__googlegroups.com > > > <mailto:puppet-users%2Bunsubscribe@googlegroups.com>. > > > 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 > > > puppet-users@googlegroups.com > > > <mailto:puppet-users@googlegroups.com>. > > > To unsubscribe from this group, send email to > > > puppet-users+unsubscribe@googlegroups.com > > > <mailto:puppet-users%2Bunsubscribe@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-users@googlegroups.com > > > <mailto:puppet-users@googlegroups.com>. > > > To unsubscribe from this group, send email to > > > puppet-users+unsubscribe@googlegroups.com > > > <mailto:puppet-users%2Bunsubscribe@googlegroups.com>. > > > For more options, visit this group at > > > http://groups.google.com/group/puppet-users?hl=en. > > > > > -- > > > System Administrator, Focus on System Management and Basic Development > > > > > -- > > > 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. > > -- > 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. > >-- System Administrator, Focus on System Management and Basic Development -- 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.
Martin Alfke
2011-Jun-23 12:04 UTC
Re: [Puppet Users] Re: How to manage many nodes easily?
On 06/23/2011 11:52 AM, flex wrote:> But i think class is singletons, means when using class you can not get > more than one copy of the resource, that''s the biggest difference > between class and define. > > Your example give a duplicate definition error in my environment. > > So is this my fault or there another way?You are right. Using class does not work here. But you can use a define with parameters and call the define with parameters later on: define application::add ($appname) { file { "/var/$appname": ensure => directory, } } node ''node1'' { application::add { app1: appname => app1 } application::add { app3: appname => app3 } } node ''node2'' { application::add { app2: appname => app2 } application::add { anyname: appname => app4 } } When calling the define you just have to make sure that the give name is uniq.> > 2011/6/23 Martin Alfke <tuxmea@gmail.com <mailto:tuxmea@gmail.com>> > > > > On Jun 23, 7:44 am, Martin Alfke <tux...@gmail.com > <mailto:tux...@gmail.com>> wrote: > > On 06/23/2011 04:35 AM, flex wrote: > > > > > These is another question, i have many defines which will apply an > > > application to sepcified path, called as: > > > > > application::add { "app1": path => "/var/app1" } > > > > > by this i can apply app1 and app2 in node1, app3 and app4 in > node2, etc. > > > > > now, how do i switch this to a class? Need i create a seperate > class for > > > all the apps although the only difference is the path? > > > > You can make use of parameterized classes: > > > > class application::add($appname) { > > path => ''/var/${appname}'', > > ... > > > > } > > > > Within your node definition you call the class with desired parameter: > > > > node ''node1'' { > > class application::add { appname => ''app1'' } > > class application::add { appname => ''app3'' } > > > > } > > The mentioned usage of parameterized classes in node definition is > wrong. > See: > http://docs.puppetlabs.com/guides/language_guide.html#parameterised-classes > > node ''node1'' { > class { ''application::app'': appname => ''app1'' } > class { ''application::add'': appname => ''app3'' } > } > > > > > Kind regards, > > > > Martin > > > > > > > > > > > > > > > > > > > > > 2011/6/21 Chris Phillips <ch...@untrepid.com > <mailto:ch...@untrepid.com> <mailto:ch...@untrepid.com > <mailto:ch...@untrepid.com>>> > > > > > 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 > <mwillem...@gmail.com <mailto:mwillem...@gmail.com> > > > <mailto:mwillem...@gmail.com <mailto:mwillem...@gmail.com>>> > 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� <carles.am...@softonic.com > <mailto:carles.am...@softonic.com> > > > <mailto:carles.am...@softonic.com > <mailto:carles.am...@softonic.com>>> > > > > > 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 > > > puppet-users@googlegroups.com > <mailto:puppet-users@googlegroups.com> > > > <mailto:puppet-users@googlegroups.com > <mailto:puppet-users@googlegroups.com>>. > > > To unsubscribe from this group, send email to > > > puppet-users+unsubscribe@__googlegroups.com > <http://googlegroups.com> > > > <mailto:puppet-users%2Bunsubscribe@googlegroups.com > <mailto:puppet-users%252Bunsubscribe@googlegroups.com>>. > > > 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 > > > puppet-users@googlegroups.com > <mailto:puppet-users@googlegroups.com> > > > <mailto:puppet-users@googlegroups.com > <mailto:puppet-users@googlegroups.com>>. > > > To unsubscribe from this group, send email to > > > puppet-users+unsubscribe@googlegroups.com > <mailto:puppet-users%2Bunsubscribe@googlegroups.com> > > > <mailto:puppet-users%2Bunsubscribe@googlegroups.com > <mailto:puppet-users%252Bunsubscribe@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-users@googlegroups.com <mailto:puppet-users@googlegroups.com> > > > <mailto:puppet-users@googlegroups.com > <mailto:puppet-users@googlegroups.com>>. > > > To unsubscribe from this group, send email to > > > puppet-users+unsubscribe@googlegroups.com > <mailto:puppet-users%2Bunsubscribe@googlegroups.com> > > > <mailto:puppet-users%2Bunsubscribe@googlegroups.com > <mailto:puppet-users%252Bunsubscribe@googlegroups.com>>. > > > For more options, visit this group at > > > http://groups.google.com/group/puppet-users?hl=en. > > > > > -- > > > System Administrator, Focus on System Management and Basic > Development > > > > > -- > > > 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 <mailto:puppet-users@googlegroups.com>. > > > To unsubscribe from this group, send email to > > > puppet-users+unsubscribe@googlegroups.com > <mailto:puppet-users%2Bunsubscribe@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-users@googlegroups.com > <mailto:puppet-users@googlegroups.com>. > To unsubscribe from this group, send email to > puppet-users+unsubscribe@googlegroups.com > <mailto:puppet-users%2Bunsubscribe@googlegroups.com>. > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > > > > > -- > System Administrator, Focus on System Management and Basic Development > > -- > 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.-- 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.
On Jun 22, 9:35 pm, flex <frostyn...@gmail.com> wrote:> These is another question, i have many defines which will apply an > application to sepcified path, called as: > > application::add { "app1": path => "/var/app1" } > > by this i can apply app1 and app2 in node1, app3 and app4 in node2, etc. > > now, how do i switch this to a class? Need i create a seperate class for all > the apps although the only difference is the path?I recommend that you package your applications for your nodes'' native packaging system (RPM, apt, etc.), and use Package resources to manage them. Creating a local repository for your packages helps make this approach very smooth. You still need to put the Package resources into one or more classes, but you don''t need to worry about specifying a path for each one. Although creating packages may seem intimidating if you haven''t done it before, it''s really not that hard, and you get management benefits that extend well beyond Puppet. John -- 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.
er...that''s what we use now, but define and external node cannot use together, we want to use external node to manage nodes configuration easily, so that''s why i want to change all the define to class 2011/6/23 Martin Alfke <tuxmea@gmail.com>> On 06/23/2011 11:52 AM, flex wrote: > > But i think class is singletons, means when using class you can not get > > more than one copy of the resource, that''s the biggest difference > > between class and define. > > > > Your example give a duplicate definition error in my environment. > > > > So is this my fault or there another way? > > You are right. Using class does not work here. But you can use a define > with parameters and call the define with parameters later on: > > define application::add ($appname) { > file { "/var/$appname": > ensure => directory, > } > } > > node ''node1'' { > application::add { app1: appname => app1 } > application::add { app3: appname => app3 } > } > node ''node2'' { > application::add { app2: appname => app2 } > application::add { anyname: appname => app4 } > } > > When calling the define you just have to make sure that the give name is > uniq. > > > > > > 2011/6/23 Martin Alfke <tuxmea@gmail.com <mailto:tuxmea@gmail.com>> > > > > > > > > On Jun 23, 7:44 am, Martin Alfke <tux...@gmail.com > > <mailto:tux...@gmail.com>> wrote: > > > On 06/23/2011 04:35 AM, flex wrote: > > > > > > > These is another question, i have many defines which will apply > an > > > > application to sepcified path, called as: > > > > > > > application::add { "app1": path => "/var/app1" } > > > > > > > by this i can apply app1 and app2 in node1, app3 and app4 in > > node2, etc. > > > > > > > now, how do i switch this to a class? Need i create a seperate > > class for > > > > all the apps although the only difference is the path? > > > > > > You can make use of parameterized classes: > > > > > > class application::add($appname) { > > > path => ''/var/${appname}'', > > > ... > > > > > > } > > > > > > Within your node definition you call the class with desired > parameter: > > > > > > node ''node1'' { > > > class application::add { appname => ''app1'' } > > > class application::add { appname => ''app3'' } > > > > > > } > > > > The mentioned usage of parameterized classes in node definition is > > wrong. > > See: > > > http://docs.puppetlabs.com/guides/language_guide.html#parameterised-classes > > > > node ''node1'' { > > class { ''application::app'': appname => ''app1'' } > > class { ''application::add'': appname => ''app3'' } > > } > > > > > > > > Kind regards, > > > > > > Martin > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2011/6/21 Chris Phillips <ch...@untrepid.com > > <mailto:ch...@untrepid.com> <mailto:ch...@untrepid.com > > <mailto:ch...@untrepid.com>>> > > > > > > > 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 > > <mwillem...@gmail.com <mailto:mwillem...@gmail.com> > > > > <mailto:mwillem...@gmail.com <mailto:mwillem...@gmail.com>>> > > 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� <carles.am...@softonic.com > > <mailto:carles.am...@softonic.com> > > > > <mailto:carles.am...@softonic.com > > <mailto:carles.am...@softonic.com>>> > > > > > > > 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 > > > > puppet-users@googlegroups.com > > <mailto:puppet-users@googlegroups.com> > > > > <mailto:puppet-users@googlegroups.com > > <mailto:puppet-users@googlegroups.com>>. > > > > To unsubscribe from this group, send email to > > > > puppet-users+unsubscribe@__googlegroups.com > > <http://googlegroups.com> > > > > <mailto:puppet-users%2Bunsubscribe@googlegroups.com > > <mailto:puppet-users%252Bunsubscribe@googlegroups.com>>. > > > > 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 > > > > puppet-users@googlegroups.com > > <mailto:puppet-users@googlegroups.com> > > > > <mailto:puppet-users@googlegroups.com > > <mailto:puppet-users@googlegroups.com>>. > > > > To unsubscribe from this group, send email to > > > > puppet-users+unsubscribe@googlegroups.com > > <mailto:puppet-users%2Bunsubscribe@googlegroups.com> > > > > <mailto:puppet-users%2Bunsubscribe@googlegroups.com > > <mailto:puppet-users%252Bunsubscribe@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-users@googlegroups.com <mailto:puppet-users@googlegroups.com> > > > > <mailto:puppet-users@googlegroups.com > > <mailto:puppet-users@googlegroups.com>>. > > > > To unsubscribe from this group, send email to > > > > puppet-users+unsubscribe@googlegroups.com > > <mailto:puppet-users%2Bunsubscribe@googlegroups.com> > > > > <mailto:puppet-users%2Bunsubscribe@googlegroups.com > > <mailto:puppet-users%252Bunsubscribe@googlegroups.com>>. > > > > For more options, visit this group at > > > > http://groups.google.com/group/puppet-users?hl=en. > > > > > > > -- > > > > System Administrator, Focus on System Management and Basic > > Development > > > > > > > -- > > > > 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 <mailto:puppet-users@googlegroups.com > >. > > > > To unsubscribe from this group, send email to > > > > puppet-users+unsubscribe@googlegroups.com > > <mailto:puppet-users%2Bunsubscribe@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-users@googlegroups.com > > <mailto:puppet-users@googlegroups.com>. > > To unsubscribe from this group, send email to > > puppet-users+unsubscribe@googlegroups.com > > <mailto:puppet-users%2Bunsubscribe@googlegroups.com>. > > For more options, visit this group at > > http://groups.google.com/group/puppet-users?hl=en. > > > > > > > > > > -- > > System Administrator, Focus on System Management and Basic Development > > > > -- > > 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. > > -- > 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. > >-- System Administrator, Focus on System Management and Basic Development -- 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.
Thank you for your advice. Actually, the application need to be deployed is a webapp and may be modified many times a day, so package it is too heavy for us. 2011/6/23 jcbollinger <John.Bollinger@stjude.org>> > On Jun 22, 9:35 pm, flex <frostyn...@gmail.com> wrote: > > These is another question, i have many defines which will apply an > > application to sepcified path, called as: > > > > application::add { "app1": path => "/var/app1" } > > > > by this i can apply app1 and app2 in node1, app3 and app4 in node2, etc. > > > > now, how do i switch this to a class? Need i create a seperate class for > all > > the apps although the only difference is the path? > > > I recommend that you package your applications for your nodes'' native > packaging system (RPM, apt, etc.), and use Package resources to manage > them. Creating a local repository for your packages helps make this > approach very smooth. You still need to put the Package resources > into one or more classes, but you don''t need to worry about specifying > a path for each one. > > Although creating packages may seem intimidating if you haven''t done > it before, it''s really not that hard, and you get management benefits > that extend well beyond Puppet. > > > John > > -- > 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. > >-- System Administrator, Focus on System Management and Basic Development -- 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.
On Thu, Jun 23, 2011 at 7:43 PM, flex <frostynova@gmail.com> wrote:> er...that''s what we use now, but define and external node cannot use > together, we want to use external node to manage nodes configuration easily, > so that''s why i want to change all the define to classENC doesn''t support resources, and defines are custom resources, however we can still support ENC by defining this in an app class: class app { $software ) { app::deploy { $software: } } define app::deploy { app:: add { $name: path => "/var/$name" } } node "some_system" { class { app: software => [''app1'', ''app2'', ''app3''], } } ENC support for parametrized class was added in 2.6.5+. If you need to pass custom parameters to the resource, use a hash or write a wrapper class for create_resource function to handle any complex usage, and that function can be backported from 2.7 to 2.6.x. Thanks, Nan> 2011/6/23 Martin Alfke <tuxmea@gmail.com> >> >> On 06/23/2011 11:52 AM, flex wrote: >> > But i think class is singletons, means when using class you can not get >> > more than one copy of the resource, that''s the biggest difference >> > between class and define. >> > >> > Your example give a duplicate definition error in my environment. >> > >> > So is this my fault or there another way? >> >> You are right. Using class does not work here. But you can use a define >> with parameters and call the define with parameters later on: >> >> define application::add ($appname) { >> file { "/var/$appname": >> ensure => directory, >> } >> } >> >> node ''node1'' { >> application::add { app1: appname => app1 } >> application::add { app3: appname => app3 } >> } >> node ''node2'' { >> application::add { app2: appname => app2 } >> application::add { anyname: appname => app4 } >> } >> >> When calling the define you just have to make sure that the give name is >> uniq. >> >> >> > >> > 2011/6/23 Martin Alfke <tuxmea@gmail.com <mailto:tuxmea@gmail.com>> >> > >> > >> > >> > On Jun 23, 7:44 am, Martin Alfke <tux...@gmail.com >> > <mailto:tux...@gmail.com>> wrote: >> > > On 06/23/2011 04:35 AM, flex wrote: >> > > >> > > > These is another question, i have many defines which will apply >> > an >> > > > application to sepcified path, called as: >> > > >> > > > application::add { "app1": path => "/var/app1" } >> > > >> > > > by this i can apply app1 and app2 in node1, app3 and app4 in >> > node2, etc. >> > > >> > > > now, how do i switch this to a class? Need i create a seperate >> > class for >> > > > all the apps although the only difference is the path? >> > > >> > > You can make use of parameterized classes: >> > > >> > > class application::add($appname) { >> > > path => ''/var/${appname}'', >> > > ... >> > > >> > > } >> > > >> > > Within your node definition you call the class with desired >> > parameter: >> > > >> > > node ''node1'' { >> > > class application::add { appname => ''app1'' } >> > > class application::add { appname => ''app3'' } >> > > >> > > } >> > >> > The mentioned usage of parameterized classes in node definition is >> > wrong. >> > See: >> > >> > http://docs.puppetlabs.com/guides/language_guide.html#parameterised-classes >> > >> > node ''node1'' { >> > class { ''application::app'': appname => ''app1'' } >> > class { ''application::add'': appname => ''app3'' } >> > } >> > >> > > >> > > Kind regards, >> > > >> > > Martin >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > > 2011/6/21 Chris Phillips <ch...@untrepid.com >> > <mailto:ch...@untrepid.com> <mailto:ch...@untrepid.com >> > <mailto:ch...@untrepid.com>>> >> > > >> > > > 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 >> > <mwillem...@gmail.com <mailto:mwillem...@gmail.com> >> > > > <mailto:mwillem...@gmail.com <mailto:mwillem...@gmail.com>>> >> > 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� <carles.am...@softonic.com >> > <mailto:carles.am...@softonic.com> >> > > > <mailto:carles.am...@softonic.com >> > <mailto:carles.am...@softonic.com>>> >> > > >> > > > 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 >> > > > puppet-users@googlegroups.com >> > <mailto:puppet-users@googlegroups.com> >> > > > <mailto:puppet-users@googlegroups.com >> > <mailto:puppet-users@googlegroups.com>>. >> > > > To unsubscribe from this group, send email to >> > > > puppet-users+unsubscribe@__googlegroups.com >> > <http://googlegroups.com> >> > > > <mailto:puppet-users%2Bunsubscribe@googlegroups.com >> > <mailto:puppet-users%252Bunsubscribe@googlegroups.com>>. >> > > > 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 >> > > > puppet-users@googlegroups.com >> > <mailto:puppet-users@googlegroups.com> >> > > > <mailto:puppet-users@googlegroups.com >> > <mailto:puppet-users@googlegroups.com>>. >> > > > To unsubscribe from this group, send email to >> > > > puppet-users+unsubscribe@googlegroups.com >> > <mailto:puppet-users%2Bunsubscribe@googlegroups.com> >> > > > <mailto:puppet-users%2Bunsubscribe@googlegroups.com >> > <mailto:puppet-users%252Bunsubscribe@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-users@googlegroups.com <mailto:puppet-users@googlegroups.com> >> > > > <mailto:puppet-users@googlegroups.com >> > <mailto:puppet-users@googlegroups.com>>. >> > > > To unsubscribe from this group, send email to >> > > > puppet-users+unsubscribe@googlegroups.com >> > <mailto:puppet-users%2Bunsubscribe@googlegroups.com> >> > > > <mailto:puppet-users%2Bunsubscribe@googlegroups.com >> > <mailto:puppet-users%252Bunsubscribe@googlegroups.com>>. >> > > > For more options, visit this group at >> > > > http://groups.google.com/group/puppet-users?hl=en. >> > > >> > > > -- >> > > > System Administrator, Focus on System Management and Basic >> > Development >> > > >> > > > -- >> > > > 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 >> > <mailto:puppet-users@googlegroups.com>. >> > > > To unsubscribe from this group, send email to >> > > > puppet-users+unsubscribe@googlegroups.com >> > <mailto:puppet-users%2Bunsubscribe@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-users@googlegroups.com >> > <mailto:puppet-users@googlegroups.com>. >> > To unsubscribe from this group, send email to >> > puppet-users+unsubscribe@googlegroups.com >> > <mailto:puppet-users%2Bunsubscribe@googlegroups.com>. >> > For more options, visit this group at >> > http://groups.google.com/group/puppet-users?hl=en. >> > >> > >> > >> > >> > -- >> > System Administrator, Focus on System Management and Basic Development >> > >> > -- >> > 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. >> >> -- >> 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. >> > > > > -- > System Administrator, Focus on System Management and Basic Development > > -- > 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. >-- 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.
What a good solution! Thanks a lot! 2011/6/24 Nan Liu <nan@puppetlabs.com>> On Thu, Jun 23, 2011 at 7:43 PM, flex <frostynova@gmail.com> wrote: > > er...that''s what we use now, but define and external node cannot use > > together, we want to use external node to manage nodes configuration > easily, > > so that''s why i want to change all the define to class > > ENC doesn''t support resources, and defines are custom resources, > however we can still support ENC by defining this in an app class: > > class app { $software ) { > app::deploy { $software: } > } > > define app::deploy { > app:: add { $name: > path => "/var/$name" > } > } > > node "some_system" { > class { app: > software => [''app1'', ''app2'', ''app3''], > } > } > > ENC support for parametrized class was added in 2.6.5+. If you need to > pass custom parameters to the resource, use a hash or write a wrapper > class for create_resource function to handle any complex usage, and > that function can be backported from 2.7 to 2.6.x. > > Thanks, > > Nan > > > 2011/6/23 Martin Alfke <tuxmea@gmail.com> > >> > >> On 06/23/2011 11:52 AM, flex wrote: > >> > But i think class is singletons, means when using class you can not > get > >> > more than one copy of the resource, that''s the biggest difference > >> > between class and define. > >> > > >> > Your example give a duplicate definition error in my environment. > >> > > >> > So is this my fault or there another way? > >> > >> You are right. Using class does not work here. But you can use a define > >> with parameters and call the define with parameters later on: > >> > >> define application::add ($appname) { > >> file { "/var/$appname": > >> ensure => directory, > >> } > >> } > >> > >> node ''node1'' { > >> application::add { app1: appname => app1 } > >> application::add { app3: appname => app3 } > >> } > >> node ''node2'' { > >> application::add { app2: appname => app2 } > >> application::add { anyname: appname => app4 } > >> } > >> > >> When calling the define you just have to make sure that the give name is > >> uniq. > >> > >> > >> > > >> > 2011/6/23 Martin Alfke <tuxmea@gmail.com <mailto:tuxmea@gmail.com>> > >> > > >> > > >> > > >> > On Jun 23, 7:44 am, Martin Alfke <tux...@gmail.com > >> > <mailto:tux...@gmail.com>> wrote: > >> > > On 06/23/2011 04:35 AM, flex wrote: > >> > > > >> > > > These is another question, i have many defines which will > apply > >> > an > >> > > > application to sepcified path, called as: > >> > > > >> > > > application::add { "app1": path => "/var/app1" } > >> > > > >> > > > by this i can apply app1 and app2 in node1, app3 and app4 in > >> > node2, etc. > >> > > > >> > > > now, how do i switch this to a class? Need i create a seperate > >> > class for > >> > > > all the apps although the only difference is the path? > >> > > > >> > > You can make use of parameterized classes: > >> > > > >> > > class application::add($appname) { > >> > > path => ''/var/${appname}'', > >> > > ... > >> > > > >> > > } > >> > > > >> > > Within your node definition you call the class with desired > >> > parameter: > >> > > > >> > > node ''node1'' { > >> > > class application::add { appname => ''app1'' } > >> > > class application::add { appname => ''app3'' } > >> > > > >> > > } > >> > > >> > The mentioned usage of parameterized classes in node definition is > >> > wrong. > >> > See: > >> > > >> > > http://docs.puppetlabs.com/guides/language_guide.html#parameterised-classes > >> > > >> > node ''node1'' { > >> > class { ''application::app'': appname => ''app1'' } > >> > class { ''application::add'': appname => ''app3'' } > >> > } > >> > > >> > > > >> > > Kind regards, > >> > > > >> > > Martin > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > 2011/6/21 Chris Phillips <ch...@untrepid.com > >> > <mailto:ch...@untrepid.com> <mailto:ch...@untrepid.com > >> > <mailto:ch...@untrepid.com>>> > >> > > > >> > > > 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 > >> > <mwillem...@gmail.com <mailto:mwillem...@gmail.com> > >> > > > <mailto:mwillem...@gmail.com <mailto:mwillem...@gmail.com > >>> > >> > 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� <carles.am...@softonic.com > >> > <mailto:carles.am...@softonic.com> > >> > > > <mailto:carles.am...@softonic.com > >> > <mailto:carles.am...@softonic.com>>> > >> > > > >> > > > 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 > >> > > > puppet-users@googlegroups.com > >> > <mailto:puppet-users@googlegroups.com> > >> > > > <mailto:puppet-users@googlegroups.com > >> > <mailto:puppet-users@googlegroups.com>>. > >> > > > To unsubscribe from this group, send email to > >> > > > puppet-users+unsubscribe@__googlegroups.com > >> > <http://googlegroups.com> > >> > > > <mailto: > puppet-users%2Bunsubscribe@googlegroups.com > >> > <mailto:puppet-users%252Bunsubscribe@googlegroups.com>>. > >> > > > 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 > >> > > > puppet-users@googlegroups.com > >> > <mailto:puppet-users@googlegroups.com> > >> > > > <mailto:puppet-users@googlegroups.com > >> > <mailto:puppet-users@googlegroups.com>>. > >> > > > To unsubscribe from this group, send email to > >> > > > puppet-users+unsubscribe@googlegroups.com > >> > <mailto:puppet-users%2Bunsubscribe@googlegroups.com> > >> > > > <mailto:puppet-users%2Bunsubscribe@googlegroups.com > >> > <mailto:puppet-users%252Bunsubscribe@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-users@googlegroups.com <mailto: > puppet-users@googlegroups.com> > >> > > > <mailto:puppet-users@googlegroups.com > >> > <mailto:puppet-users@googlegroups.com>>. > >> > > > To unsubscribe from this group, send email to > >> > > > puppet-users+unsubscribe@googlegroups.com > >> > <mailto:puppet-users%2Bunsubscribe@googlegroups.com> > >> > > > <mailto:puppet-users%2Bunsubscribe@googlegroups.com > >> > <mailto:puppet-users%252Bunsubscribe@googlegroups.com>>. > >> > > > For more options, visit this group at > >> > > > http://groups.google.com/group/puppet-users?hl=en. > >> > > > >> > > > -- > >> > > > System Administrator, Focus on System Management and Basic > >> > Development > >> > > > >> > > > -- > >> > > > 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 > >> > <mailto:puppet-users@googlegroups.com>. > >> > > > To unsubscribe from this group, send email to > >> > > > puppet-users+unsubscribe@googlegroups.com > >> > <mailto:puppet-users%2Bunsubscribe@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-users@googlegroups.com > >> > <mailto:puppet-users@googlegroups.com>. > >> > To unsubscribe from this group, send email to > >> > puppet-users+unsubscribe@googlegroups.com > >> > <mailto:puppet-users%2Bunsubscribe@googlegroups.com>. > >> > For more options, visit this group at > >> > http://groups.google.com/group/puppet-users?hl=en. > >> > > >> > > >> > > >> > > >> > -- > >> > System Administrator, Focus on System Management and Basic Development > >> > > >> > -- > >> > 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. > >> > >> -- > >> 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. > >> > > > > > > > > -- > > System Administrator, Focus on System Management and Basic Development > > > > -- > > 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. > > > > -- > 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. > >-- System Administrator, Focus on System Management and Basic Development -- 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.