On Tuesday, May 7, 2013 11:05:55 AM UTC-5, Ken Coar wrote: > > [...] > In the current iteration, only mod might be parameterised -- and it > usually isn't. Hence all sorts of selectors in mod::settings to derive > operating values from the global scope (node manifest, facts), defaults, > and possibly parameters to mod if they're supported. > > Moving from global parameters in the node manifests to parameterised > classes is in the plan. > > [...] > >> Or possibly, just dispense with class mod::base altogether. I'm not sure >> what the "any other things" that it provides for might tend to be, but I'm >> guessing little, if anything. And what there is could be moved to class >> 'mod' without disturbing your scheme, since mod::base includes mod. >> > > Not exactly; other modules might need settings from module mod. > Explicitly including it or letting it be autoloaded will get the settings > without any side-effect actions being taken. > > > Considering this area further, I don't think that use is feasible if class mod is parameterized, as some of yours already are, and as you say more eventually will be. One module cannot then safely reference class mod without either assuming that it has already been declared (with correct parameters) or assuming that it must be declared (in which case the needed parameters must be provided). Neither assumption is safe in general unless you put in a lot of work to make it so.
That's more an indictment of the state of parameterized classes in Puppet 2.7 than of your architecture, but you should nevertheless take it into account as you plan how your modules will be structured. John -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.