ReleaseEngineering/Puppet/Usage: Difference between revisions

Jump to navigation Jump to search
No edit summary
Line 22: Line 22:


=== File layout ===
=== File layout ===
The files that Puppet serves to slaves live on an NFS drive mounted by the Puppet masters. That first 3 levels of the drive are laid out as follows:
$level/$os-$hardwaremodel/$type
* $level is support level (production, staging, pre-production)
* $os is generally one of 'centos5', 'fedora12', 'darwin9', or 'darwin10'.
* $hardwaremodel is whatever 'facter' identifies the machine's CPU as (x86_64, i686, i386, etc).
* $type is the "type" of node of the slave is, generally 'build' or 'test'.
Below '$type', are all of the files served by Puppet. They are organized according to where they'll end up on the slave. For example:
/N/production/centos5-i686/build/home/cltbld/.bash_profile
...will get synced to /home/cltbld/.bash_profile.
There are two special directories for each level/os/hardwaremodel/type combination, too:
* local -- This directory contains files which should NOT be synced between staging <-> production or between different locations. Files such as the Puppet configs which have different contents depending on location and support level live here.
* DMGs (Mac) / RPMs (Fedora/CentOS) -- These directories contain platform specific packages which Puppet installs.
== Common Use Cases ==
== Common Use Cases ==
=== Installing a library for scratchbox ===
=== Installing a library for scratchbox ===
canmove, Confirmed users
6,439

edits

Navigation menu