Crap. I'm trying to dump Bcfg2 and move to something reasonable. But so far, all my initial assumptions and patterns for Puppet fail. I think in terms of heirarchy and inheritence for my systems (all nodes install a core set of packages, some have exceptions for those core set of packages, etc) and as best as I can understand it Puppet's DSL really wants me to create a set of flat, non-hierarchial, non-inheritable set of nodes/classes. And for me that's completely un-managable.
I'm reviewing the Puppet-user archives now and I'm seeing a lot of people with similar problems but no good patterns for solutions. I want to be able do something like this (hierarchial, inheritance with overloading): class base { package { 'sshd' : ensure => present } package {'ntp: ensure => present } } node a,b,c { class { 'base' : } } node d { class { 'base' : } Package{'sshd': ensure => false } } What I'm afraid I have to do is this (flat, redefine lots of nodes and duplicate data): class base package {'ntp: ensure => present } # More common packages defined } node a,b,c { class { 'base' : } package { 'sshd' : ensure => present } } node d { class { 'base' : } package { 'sshd' : ensure => false} } or worse (sometype of parameter passing in the worst, un-managable way): class base ( # list ever possible ensure parameter, etc ) { package { 'sshd' : ensure => $ssh_ensure } package {'ntp: ensure => $ntp_ensure } # More common packages defined } node a,b,c { class { 'base' : }} } node d { class { 'base' : ssh_ensure => false} } I'm open to any and all suggestions. thx Chris. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/BEKIgDDLpRYJ. 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.