Search code examples
installationpuppet

What is the difference between puppetserver 1.1.3 vs puppet-server 3.8.6-1?


I'm trying to setup puppet master. I installed puppetlabs in my CentOS 7 box using:

$ sudo rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm.

Now, when I try to give sudo yum install puppet-server, it installs puppet-server 3.8.6-1 and also puppet 3.8.6-1.

But the documentation asks to do sudo yum install puppetserver (Notice that the hyphen is missing before server). When I run this, it installs puppetserver 1.1.3-1 and puppet 3.8.6-1.

My question is - what is the difference between puppet-server and puppetserver. Some documentations ask to use puppet-server for e.g this. Which one should I be using?

Please see these screenshots for more info: screenshot1 screenshot2

Thanks.


Solution

  • The package name similarity is unfortunate, as these are completely different packages that provide similar functionality.

    The puppet-server package is for a machine to run the original, Ruby / Rack puppetmaster service. There's not a lot to this, as most of the necessaries are built in to the main puppet package. It includes an internal Webrick server and can therefore run standalone, but is more often run in a Rack stack, such as Apache / Passenger, for better capacity and scalability.

    The puppetserver package is for a machine to run the new, Java-based 'puppetserver' service endpoint for serving catalogs. It still relies on the Ruby catalog builder underneath; only the client service piece is shifted to Java.

    You can use either one, but not both. puppet-server has the advantage of not requiring a Java stack underneath. puppetserver performs better, but only with respect to the actual client service bits. Catalog building is often the real bottleneck, and puppetserver relies on the same infrastructure as puppet-server for that.