Changes

Jump to: navigation, search

ReleaseEngineering/PuppetAgain

157 bytes removed, 19:45, 26 April 2013
no edit summary
PuppetAgain is an implementation of configuration management with puppet for Mozilla release engineering. It is intended A sysadmin asked the Architect, "What's the best way to make machine management easier and more flexible for release engineeringinstall a new system?" The Architect answered, while also making that management transparent enough that "Turn it can be reliably duplicated by users outside of the companyon." The sysadmin was enlightened.
= Documentation - Manifests & Modules =
The Puppet manifests themselves are documented here. Any new modules should be added to the proper list below.
 
== Stages ==
Stages need to be defined globally in Puppet manifests, and this is done in <tt>manifests/stages.pp</tt>. The following stages are available, aside from 'main', the default stage.
 
* network - This stage should handle any network related configurations for some specific cases (like AWS)
* packagesetup - This stage should handle any preliminaries required for package installations, so that subsequent package installations do not need to require them explicitly.
* users - This stage creates user accounts; while this is normally automatically required, the requirement doesn't work with the temporary 'darwinuser' type.
 
== Nodes ==
 
<tt>manifests/nodes.pp</tt> defines all of the nodes the puppet masters recognize. Note that all nodes are defined for all masters.
 
In anticipation of using an external node classifier (ENC), node definitions should only include classes - do not define any resources within nodes. In general, the included classes should be in the [[ReleaseEngineering/Puppet/Modules/toplevel|toplevel]] module.
 
Host-specific values are specified as node-scope variables, as these are easier to represent in an ENC. Such variables (including some Puppet gotchas) are described in [[ReleaseEngineering/PuppetAgain/node-scope variables|node-scope variables]].
 
== extlookup/ ==
 
We store <tt>csv</tt> files pertaining to the <tt>[[ReleaseEngineering/Puppet/Modules/config|Config]]</tt> module here (under <tt>manifests/extlookup/</tt>). Expect to find the local secrets details and possibly a symlink to a local-config in this dir.
== Modules ==
Custom functions, types, and providers are documented in the modules that implement them. Most are in [[ReleaseEngineering/PuppetAgain/Modules/shared|shared]].
 
== Stages ==
Stages need to be defined globally in Puppet manifests, and this is done in <tt>manifests/stages.pp</tt>. The following stages are available, aside from 'main', the default stage.
 
* network - This stage should handle any network related configurations for some specific cases (like AWS)
* packagesetup - This stage should handle any preliminaries required for package installations, so that subsequent package installations do not need to require them explicitly.
* users - This stage creates user accounts; while this is normally automatically required, the requirement doesn't work with the temporary 'darwinuser' type.
 
== Nodes ==
 
<tt>manifests/nodes.pp</tt> defines all of the nodes the puppet masters recognize. Note that all nodes are defined for all masters.
 
In anticipation of using an external node classifier (ENC), node definitions should only include classes - do not define any resources within nodes. In general, the included classes should be in the [[ReleaseEngineering/Puppet/Modules/toplevel|toplevel]] module.
 
Host-specific values are specified as node-scope variables, as these are easier to represent in an ENC. Such variables (including some Puppet gotchas) are described in [[ReleaseEngineering/PuppetAgain/node-scope variables|node-scope variables]].
 
== extlookup/ ==
 
We store <tt>csv</tt> files pertaining to the <tt>[[ReleaseEngineering/Puppet/Modules/config|Config]]</tt> module here (under <tt>manifests/extlookup/</tt>). Expect to find the local secrets details and possibly a symlink to a local-config in this dir.
 
 
= How To =
Canmove, confirm
1,394
edits

Navigation menu