----- "Nigel Kersten" <ni...@puppetlabs.com> wrote:

> Also, in case it wasn't clear, there are fundamental differences
> between file/template and a source specified file like
> puppet:///foo/bar
> 
> 
> The former will:
> 
> 
> * be shipped as part of the catalog
> * always be shipped to the client in the catalog regardless of client
> state
> * can be applied offline
> 


There is an often overlooked reason to use content and not source.

If you're deploying manifests and code that are sensitive to being the
right combination of config files vs source you absolutely want to avoid
using source and favor content.

Puppet has a catalog cache and will use the cache if anything went wrong
during compilation of your new catalog.  The 'something goes wrong' can 
literally be anything like syntax errors but also software crashes, being
out of memory, write errors to disk or any of a 100 other factors.

In this scenario puppetd will use the old catalog BUT it will still fetch
files with source from the master.  Should a file fetch pass it will apply 
the just downloaded file.  In this scenario its conceivable that you
end up with a scenario where your manifests are out of sync with the files
being installed on your servers and this could render your servers broken.

If you have very sensitive combo's of software, config and supporting files
all being copied out and applied with puppet, or even if you are using packages
to deploy software but puppet to deploy the configs you want to be very very
careful of the cache.

I recommend either avoiding source in these cases or disabling the feature
that let puppet use the cache on compile failure.  I also monitor my compiles
for success.

I've often campaigned for a catalog that combines files and everything else
into one artifact but I think we're some way off from realising that still.


-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to