summaryrefslogtreecommitdiffstats
path: root/examples/code/snippets/classheirarchy.pp
diff options
context:
space:
mode:
authorLuke Kaines <luke@puppetlabs.com>2011-06-07 15:58:26 -0700
committerDaniel Pittman <daniel@puppetlabs.com>2011-06-07 15:58:26 -0700
commit48aafa3a5c553fec7b9a5193febd5591937d5680 (patch)
tree8566b7ba9bf4ee47de760c154bf77c7de73e0813 /examples/code/snippets/classheirarchy.pp
parent368b516d39ec36222421c09ac5c592e0a1ff7126 (diff)
downloadpuppet-48aafa3a5c553fec7b9a5193febd5591937d5680.tar.gz
puppet-48aafa3a5c553fec7b9a5193febd5591937d5680.tar.xz
puppet-48aafa3a5c553fec7b9a5193febd5591937d5680.zip
(#6873) Add Static Compiler terminus to 2.7.0
This adds the static compiler terminus to the release. This wraps the default compiler terminus, and post-processes the catalog to rewrite every file reference using the 'puppet://' URI/protocol into filebucket references that use the MD5 checksum of the file contents. This provides a genuinely static catalog, in terms of content: there are no external dependencies that can change to make the behaviour of applying this catalog change. It also eliminates the describe calls from file checking, as all the metadata is stored locally in the catalog. This can be a substantial performance increase for nodes, especially those that manage large trees of recursive files. To use this set the `catalog_terminus` to `static_compiler`; the resultant catalog will then reference only static content. This does not, however, put the required files into the filebucket on the client. There are some limitations of this code: * Files are all read into memory rather than streamed. This will definitely cause problems with large files, but the filebucket doesn't currently handle streaming. * We think the recursion behavior is equivalent, but can't really guarantee it without a good bit of testing. * You have to populate the client filebucket manually. We don't have any support for doing this automatically, not even through variant access to the catalog downloader. * Behavior on the server is currently undefined if your puppet masters are behind a load balancer and they're configured to do fileserving through that load balancer. It should work, but it probably won't be that fast. You can see https://github.com/lak/puppet-static-compiler for the original prototype this was inherited from, which includes some example code for scanning the downloaded catalog and fetching resources into the filebucket. Reviewed-By: Daniel Pittman <daniel@puppetlabs.com>
Diffstat (limited to 'examples/code/snippets/classheirarchy.pp')
0 files changed, 0 insertions, 0 deletions