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 <tux...@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%2bunsubscr...@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+unsubscr...@googlegroups.com
> > >         <mailto:puppet-users%2bunsubscr...@googlegroups.com>.
> > >         For more options, visit this group at
> > >        http://groups.google.com/group/puppet-users?hl=en.
> >
> > >     --
> > >     You received this message because you are subscribed to the Google
> > >     Groups "Puppet Users" group.
> > >     To post to this group, send email to puppet-users@googlegroups.com
> > >     <mailto:puppet-users@googlegroups.com>.
> > >     To unsubscribe from this group, send email to
> > >     puppet-users+unsubscr...@googlegroups.com
> > >     <mailto:puppet-users%2bunsubscr...@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+unsubscr...@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+unsubscr...@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+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to