----- "Kenton Brede" <[EMAIL PROTECTED]> wrote: > > With a small operation, it is okay. With something larger, it > doesn't scale well and it doesn't make good use of module grouping. > For instance, when setting up openldap, I want to talk about what I do > (packages I install, conf files I drop in, etc) all in one place so I > can see what I do with openldap as a whole more easily. If it were > broken out into several places based on OS type, it isn't quite as > easy to ensure that each OS type is similar. For instance, on a > debian box and a redhat box, I can look at classes.txt and see that > openssh class is applied, so I know that I'm managing openssh on > debian and redhat boxes, but with the other approach, I wouldn't be > able to see that without digging into the debian.pp and redhat.pp > files. > > > > Hmmm, unless I'm missing something, what you describe is what I'm > doing. If I'm wrong please let me know. > > Currently I have two types of modules: > > Modules based on type (file, cron, etc) that are not tied to a > particular service. For example, a custom script that goes to host > foo, or a group such as rhel5. And modules based on a service > (apache, iptables, etc), which contain any resources that are needed. > > The only time I have a rhel5.pp class, is if it's as sub-module. For > example cron::rhel5.pp, which contains cron jobs for rhel5 servers. > Or apache::rhel5.pp, which contains rhel5 specifics for that group. > I > don't have a single class rhel5.pp where I try to manage all > resources, if that's what you thought I did. > > <snip>
That is indeed what I thought you were doing. Phew. Yes, what you are doing seems logical. We don't currently break things down into OS. Instead, our apache and apache::foo and whatnot all have internal logic to handle different operating systems with case statements. But what you're doing is something I've seen other people doing and it seems pretty good to. Doesn't quite fit my view of how I organize things in my head but that doesn't necessarily make it "wrong." > >> Could you give a couple examples of what you mean by "action type" > >> and > >> "functional role?" > > > An action type is like sort of like "what you do to a system." So, > things like "install this file" or "install this package." Functional > role is things like "manage openldap" or "ensure these users are > present" which would in turn include actions like installing packages > or files or setting up user preferences. > > > > Thanks for the clarification :) > Kent No problem! -- 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 -~----------~----~----~----~------~----~------~--~---