I am trying to include the puppet module (https://github.com/puppetlabs/puppetlabs-puppet/blob/master/manifests/init.pp) in my own common template module. But only set master => true
for my master node. But I am receiving this error:
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Only subclasses can override parameters at /etc/puppet/modules/template/manifests/puppetmaster.pp:5 on node puppet1.mydomain.com
My common template looks like:
class template::common { include ssh include user::infrastructure include user::system include packages::common class { 'puppet' : puppet_server => 'puppet.mydomain.com', } }
This is included in all my nodes (included my puppetmaster) which also includes this template:
class template::puppetmaster inherits puppet { include mysql::server include myfirewall::defaults Class['puppet'] { master +> true }
I'd like to be able to have just my puppet master install the master bit plus the agent (which is already inherited). But I would rather not have to define the puppet resource for every node just so I can have a separate resource of the same class for my puppet master.
What is a good way around this?
puppet::master
class from the linked module might be another option.