On 5 July 2010 11:01, Jean-Baptiste Barth <jeanbaptiste.ba...@gmail.com>wrote:

> For the moment we only have 1 puppetmaster here. I noticed that if I have a
> syntax error in one of my included .pp, then puppet runs fail on all nodes
> (even if they do not use this recipe), which is not acceptable. More
> generally, working directly on production recipes seems too riskee, since
> people who will manage those recipes are not devs but sysadmins, which means
> poor development skills (and no versionning for the moment).
>
> I found the documentation about puppet "environments" (
> http://docs.puppetlabs.com/guides/environment.html ) : does anybody use it
> here ? I also read some of you have 2 puppetmasters running on different
> ports, for test and prod : how do you do that (init scripts available
> somewhere? different conf/manifests directories? sync between test and
> prod?). Do you have a pool of client machines dedicated to your tests ? Do
> you handle this kind of problems directly with your version control system
> (post hooks?), or maybe at an other level in your external node provider ?
>

Mostly echoing Daniel Pittman's comments..

 - We use environments a lot. The default production environment is for,
well, production. All other environments are for development use. Each has
their own SVN branch and Puppet `manifest`/`modulepath`/extlookup
directives.

 - In addition to custom types, providers and facts, flapping back and forth
between environments. It's also not possible to have separate fileservers
for additional paths between environments. But it's probably not something
that will affect you at this stage.

 - We have virtualised dev/staging machines which reflect the roles of our
production machines, only on a slightly smaller scale. Any changes get
pushed here and monitored first. We also have some shell scripts which are a
shorthand for `--test --noop` to quickly review what is going to happen for
a given machine. When we're happy with the results then the changes get
merged to production.

 - Syntax errors are caught by a pre-commit hook. It won't guard against
stupid yet syntactically correct code. But it does vastly reduce the time
spent dealing with simple humanoid typos.

 - Be sure to version control your manifests from day one. Without doing so,
you'll have no way of knowing who changed what and when. Nor the ability to
roll back to a point in history. It will also provide you with an easy
mechanism to peer review any code that you're not confident with, as Daniel
notes.

-- 
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