On 01/30/2012 05:30 AM, Jeff McCune wrote:
In the meantime, I document and leave it up to the end user to create
another class that composes modules together. With your example, I'd
do something like this as the end user. As the module author, I'd try
and write mysql and ldap as if the other didn't exist.
node www1 {
include site::dbserver
}
#<modulepath>/site/manifests/dbserver.pp
# This is what it means to be a database at the Acme.com site.
class site::dbserver {
class { ldap: }
-> class { mysql: }
}
[snip]
Jeff, thanks for this. Its easy to get confused about how to do this
correctly. This example and way of explaining how modules should be
independent is very important and maybe not visible enough in the
current documentation.
Jos, I disagree with you about stages. I feel stages should be the VERY
LAST resort .. before going to a design that require two Puppet runs ;-)
I do think Puppetlabs should teach and weigh in more on site design in
the community. I've sent some tweets to Gary Larizza about having some
challenges in coming up with a sensible design and I'm happy to see what
we've done is in line with Jeffs example. But it took us a good YEAR to
get there. Maybe we're just slow.
What was an eye-opener on site design AND simplicity for us was Jasper
Poppes talk about "Structuring Puppet" at Puppetconf. We learned a lot
from looking at his modules. Jasper, if you read this, thank you!
http://www.slideshare.net/PuppetLabs/puppetconf2011-small#21
--
http://www.uib.no/personer/Jan.Ivar.Beddari
--
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.