ReleaseEngineering/PuppetAgain/Modules/puppet: Difference between revisions

no edit summary
No edit summary
 
Line 2: Line 2:


The puppet class is imported in toplevel::base, and takes care of installing and configuring puppet.  Releng uses two modes of puppet startup, so there are two classes that must *also* be included to make sure puppet actually runs.
The puppet class is imported in toplevel::base, and takes care of installing and configuring puppet.  Releng uses two modes of puppet startup, so there are two classes that must *also* be included to make sure puppet actually runs.
= How puppet clients use puppet masters =
There are some ways to specify which puppet master clients should talk to:
* Single puppet master. Used by <tt>puppet::periodic</tt> (usually for masters). Random puppet master can be choosen by setting <tt>puppet_server</tt> CSV variable (usually in <tt>manifests/extlookup/local-config.csv</tt>) to <tt><<RANDOM>></tt>.
* Multiple puppet masters. Used by <tt>puppet::atboot</tt> (usually for slaves). If <tt>puppet_server</tt> CSV variable set to <tt><<RANDOM>></tt>, then <tt>/etc/puppet/puppetmasters.txt</tt> file will be populated with a shuffled list of <tt>puppet_servers</tt> (from CSV files). Otherwise, <tt>puppet_server</tt> will be the top entry in <tt>/etc/puppet/puppetmasters.txt</tt>; other puppet masters from <tt>puppet_servers</tt> will be appended in random order.
* No masters (standalone). Used by <tt>puppetmaster::standalone</tt>. A cronjob runs "puppet apply" if there are changes in the puppetagain repo to keep the master up to date.


= puppet::periodic =
= puppet::periodic =
Confirmed users
3,104

edits