I can only strongly suggest you look at the new Hiera-in-modules ticket and pull request by R.I.Pienaar as it really solves a lot of problems many people encounter in this situation. It needs more testing and debugging so all help on this is very welcome.
Regards, Stefan Goethals. On Fri, Dec 7, 2012 at 7:08 PM, Wolf Noble <wno...@datapipe.com> wrote: > Hello lovelies, > > Our team is deliberating a few different options for the hierification of > our modules; and wanted to poll the collective genius before making our > decision. > > As we all know, there are certain attributes of a package which are, by > default, consistent on an OS... say, the name of a package..... > > class foobar { > include foobar::params > $package = $foobar::params::package > Package {$package: > ensure => installed > } > } > > class foobar::params { > case $osfamily: > redhat: { > $package = 'foobar' > } > debian: { > $package = 'foobard' > } > default: { > fail > } > } > > > well, we want to be able to overide those defaults with hiera: > > class foobar { > include foobar::params > $package = $foobar::params::package > Package {$package: > ensure => installed > } > } > > class foobar::params { > case $osfamily: > redhat: { > $package = hiera('foobar_package','foobar') > } > debian: { > $package = hiera('foobar_package','foobard') > } > default: { > fail > } > } > > > which is great, except now the package name is wrong by default on debian > boxes... > > now sure, I can argue that my hierarchy should have places to logically > separate out and override those 'inconvenient' defaults, ie for an > environment that uses debian... > > one of our engineers suggested the following paradigm: > > > class foobar { > include foobar::params > $package = $foobar::params::package > Package {$package: > ensure => installed > } > } > > class foobar::params { > case $osfamily: > redhat: { > $package = hiera('foobar_os_rhel_package','foobar') > } > debian: { > $package = hiera('foobar_os_deb_package','foobard') > } > default: { > fail > } > } > > which makes our topmost hierarchy (which is not segregated by OS, because > the relevant hierarchies doen't split very cleanly at the OS level.) a > little more bloated: > > foobar_os_deb_package: 'foobard' > foobar_os_rhel_package: 'foobar' > > > but makes for less overriding and additions for "default" setups... > > > to be honest, I'm not sure which idea (or what other as yet unthought of > idea) has the most merit, and I'd love to hear your thoughts on the matter > before we get too much further > > > Thanks so much in advance > > > Wolf Noble > > ________________________________ > > This message may contain confidential or privileged information. If you > are not the intended recipient, please advise us immediately and delete > this message. See http://www.datapipe.com/legal/email_disclaimer/ for > further information on confidentiality and the risks of non-secure > electronic communication. If you cannot access these links, please notify > us by reply message and we will send the contents to you. > > -- > 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. > > -- 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.