This is an interesting approach and certainly valid and should work.  I'm not 
sure I would use the virtual resources since one could just as easily define 
those things in the classes they are used in.  Virtual resources are better 
when you wnat to declare something in one place but it could be realized in any 
number of places (making it impossible to be declared in all of those places 
b/c if two such classes were included, you'd have an error)

I think having the OS specific subclasses override the package name instead of 
a large case statement in the initial package declaration is spiffy.  I can 
actually seeing both ways being useful.  Sometimes, I like to see all the 
various ways a package (or  service) might look in one place, so I sometimes 
like to see the case statement approach.  Other times, I like to see specific 
changes that are related to an OS or similar logical grouping to be made in an 
appropriate subclass with the use of overrides.

To answer about use-cases, we have in our ssh module some subclasses that are 
relevent to a particular configuration of ssh server.  For instance, 
ssh::global allows ssh connections from off campus while our regular ssh 
doesn't.  I prefer these as subclasses b/c I like to look at my list of classes 
to glean what kinds of things my server is setup to do (and when I build an 
external node tool, rather than messing with variables and blah blah blah, I'll 
just be adding or dropping classes).


----- "Jeroen van Meeuwen" <[EMAIL PROTECTED]> wrote:

> Hi there,
> 
> I'd like to collect some feedback on a conceptual simple Puppet Common
> 
> Module I want to propose;
> 
> http://reductivelabs.com/trac/puppet/wiki/PuppetCommonModules/SSH
> 
> I'm thinking about things like;
> 
> - the way virtual resources are used,
> - the way operating system specific sub-classes are used,
> - use-cases I haven't met (although secondary),
> - simple errors I've made (I whipped this up from the top of my head),
> 
> although the best thing is maybe to jump on the Wiki and correct my
> error,
> - further enhancements in making this a really viable PCM.
> 
> I guess what is not needed (yet) includes (I'm sorry if this sound
> harsh);
> 
> - discussions about the indentation I used
> 
> I can live with any form of indentation, and I guess so can you. I
> *just 
> so happen* to use 4 spaces to a tab.
> 
> - the way I aggregate types into resources
> 
> It to me is a habit / matter of convenience, while I'd like to focus
> the 
> discussion on technical arguments instead.
> 
> - namespacing of modules or classes
> 
> again I can live with *any* namespacing, and it's not about setting
> the 
> defacto standard for all Puppet Common Modules, it's about making a 
> *start* in "code".
> 
> - module or class extensions that everyone uses
> 
> because these often-used extensions should go *in* the module
> (upstream, 
> upstream, upstream is my motto), and such can only be done when there
> is 
> an upstream module to begin with.
> 
> Thanks in advance for review/comments,
> 
> Kind regards,
> 
> Jeroen van Meeuwen
> -kanarip
> 
> 
> 
-- 
Digant C Kasundra <[EMAIL PROTECTED]>
Technical Lead, ITS Unix Systems and Applications, Stanford University

--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to