Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We're a small webdev shop that's investigating to roll out Puppet on various development and production servers.

The puppetmaster is an Ubuntu 10.04 server with Puppet 0.25.4, from Ubuntu's repo. Some puppet clients are Ubuntu with puppet 0.25.4, but others are RedHat or Centos based and are using the EPEL repository, which supplies puppet 0.25.5 packages.

These newer clients can't talk to the 'older' puppetmaster, so I can either upgrade the master or downgrade the clients. However I'm unable to find rpm's to downgrade the clients to 0.25.4. Building my own packages is a chore that I could do without since I'm the single sysadmin in the company.

How do you deal with differing client/server versions in a heterogenous environment?

share|improve this question
up vote 7 down vote accepted

I'd suggest going with the latest stable puppetmasterd where you can. It will vastly simplify the process of upgrading your clients when the time comes around. Such relatively young and fast moving projects often generate minor releases for features and bugfixes quite frequently, which can prove invaluable. You should of course still read each ChangeLog diligently to pre-empt anything that might affect your environment during an upgrade.

Packaging your own version shouldn't be that difficult and it's a skill that, in the future, you should find valuable enough to take time mastering now. I've had to roll my own pre-release packages for Puppet to workaround bugs that I've run into before now.

In this particular case though, you might find that the newer packages from Debian's unstable tree will work for you. Alternatively there is even a bleeding edge PPA, if you want to, well, get cut.

share|improve this answer
Unfortunately both the Debian unstable and the PPA are also version 0.25.4 so those won't help. Good point about learning to package though. Would be a useful skill to have, even though it's another thing I don't have time for. The eternal sysadmin dilemma: need to spend time to make time. – Martijn Heemels Jun 23 '10 at 18:01
You're right, I misread the version numbers. Do spend time on packaging though. It gets easier and you'll thank yourself later! – Dan Carley Jun 24 '10 at 16:18

You should upgrade your ubuntu versions.. but if you need an older redhat version

share|improve this answer
Upgrading the Ubuntu puppetmaster would require building my own package or using a bleeding edge PPA repo. I'm not looking forward to that, but it's probably the smarter choice. Thanks for the link. – Martijn Heemels Jun 23 '10 at 17:37

For reference sake:

The new Pro Puppet book provides a good overview of installing Puppet on different platforms, from source or packages, and also of writing modules so they can handle multiple distributions in a flexible way.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.