Ask Your Question

Make Puppet agent wait for master to complete compilation

asked 2013-01-30 17:20:40 -0600

toughshell gravatar image

Puppet agent returns failure as the Puppet Master takes a few seconds to compile the catalog.

Is there a way to make it a 'synchronous' or a 'waiting call'

In short: I want puppet agent to wait till the master finishes compilation, collect the manifest and apply it.

puppetd --test --verbose --factsync --server=XXX --certname=YYY

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2013-01-30 19:31:00 -0600

jsweeny gravatar image

The agent cannot do anything without a catalog, so it will always wait up to a timeout before failing. I haven't tested if you can disable this timeout, and I would advise against it in case the master really does fail.

You can adjust this timeout by setting the agent's configtimeout value in puppet.conf or with --configtimeout at the command line.

edit flag offensive delete link more

answered 2013-01-31 13:59:20 -0600

Stefan gravatar image

How do you run your master? If you use the build in webrick server (this one is used when you start puppet with the puppetmaster initscript), the master will only be able to serve one client at a time. If a second client checks in it, will have wait until the first one is done.

So if it is not really the compilation time that is bothering you but a timeout caused by concurrent puppet runs I can only advise you look at running puppet through passenger:

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2013-01-30 17:20:40 -0600

Seen: 1,105 times

Last updated: Jan 31 '13