On Friday, May 30, 2014 8:48:18 AM UTC-5, Brian Mathis wrote:
>
> It sounds like you need to read through these:
>     http://garylarizza.com/blog/2014/02/17/puppet-workflow-part-1/
>     http://garylarizza.com/blog/2014/02/17/puppet-workflow-part-2/
>
> I don't see why you'd want to remove parameters from classes.  They are 
> pretty critical to having a flexible infrastructure.
>
>

No, as a matter of fact not.  What brings infrastructure flexibility in 
this area is relying on well-documented external data.  Automated data 
binding makes it easy to conflate class parameterization with data 
externalization, but they are not at all the same thing, as anyone who 
used(-es) parameterized classes in Puppet 2 can attest.  Obtaining data via 
explicit hiera*() calls for documented keys serves exactly the same data 
externalization aims as does automated class parameter binding.

Class parameterization does bring some limited advantages to modules, in 
that modules featuring parameterized classes lend themselves to an 
additional mode of use (class parameters declared in manifests via 
resource-like class declarations), but that yields module flexibility 
toward its users, not flexibility of the managed infrastructure.  I tend to 
discount that advantage, however, as it is usually poor practice to use 
resource-like class declarations even when your classes are parameterized 
(see, for example, PL's best-practices recommendation in the language 
reference 
<http://docs.puppetlabs.com/puppet/3/reference/lang_classes.html#include-like-vs-resource-like>
).


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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/55260812-2a0e-486d-9df8-d6de98ec2262%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to