On Thu, Oct 13, 2011 at 3:16 AM, Alexandre <alexandre.fou...@gmail.com> wrote: > Hi, > > I am trying to manage the puppet.conf file, but both my classes > 'puppet' and 'puppet::master' need to manage it. Basically, the class > 'puppet::master' should be able to override the resource, which could > be done by inheritance. > My problem is that my class 'puppet' is a parameterized class: > > class puppet ( $puppetmaster_fqdn ) { > file { '/etc/puppet/puppet.conf': > content => template('puppet/puppet.conf.erb'), > } > # (...) > } > > and so, i don't find any syntax to inherit from it: > > class puppet::master ( $with_dashboard = 'yes', > $with_cloud_provisioner = 'no' > ) inherits puppet { > # (...) > } > > fails with > > err: Could not retrieve catalog from remote server: Error 400 on > SERVER: Must pass puppetmaster_fqdn to Class[Puppet] at /etc/puppet/ > modules/puppet/manifests/puppet.pp:1 on node (...) > > I tried different ways to declare my class 'puppet::master', but i do > not find the right syntax, it always fails > > class puppet::master ( $puppetmaster_fqdn = 'something', > $with_dashboard = 'yes', > $with_cloud_provisioner = 'no' > ) inherits puppet { > # (...) > } > > class puppet::master ( $with_dashboard = 'yes', > $with_cloud_provisioner = 'no' > ) inherits puppet( puppetmaster_fqdn => > 'something' ) { > # (...) > } > > What is the good syntax for that ?
There's probably three ways to tackle it: 1. have the puppet class write a file called puppet.conf.agent, and the master class write puppet.conf.master and cat puppet.conf.* > puppet.conf. 2. use a variable and add some logic to the ERB template. 3. use the following syntax (be aware it realize and override): In class puppet::master: File <| title=='/etc/puppet/puppet.conf' |> { content => template('puppet/puppetmaster.conf.erb'), } HTH, Nan -- 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.