Puppet on RedHat/CentOS
Installation
A yum repository from EPEL for users of RedHat, CentOS and other compatible strains of UNIX. This repository is kept up-to-date, so the version available there should be sufficient for most purposes.
If you find that a newer version than what is available from the _unstable tree is required, please refer to the instructions for building Puppet from the Git repository.
Compatibility
Most of the OS-dependent functionality is managed by providers in Puppet, which provide a layer of abstraction between Puppet and the OS. Before you use a particular provider, you may want to look at the Provider Suitability Report, which serves as a compatibility matrix for Puppet resource types using different providers.
RedHat is well-supported in Puppet, and the rpm and yum package providers is especially well-rounded. Because of the popularity of this platform, Puppet development and support often directly benefits users of this platform.
Known issues
- When trying to set the password through puppet, CentOS can give the error Provider useradd does not support features manages_passwords; not managing attribute password. This means you need to install the libshadow package on the client. If this doesn’t work have a look if the shadow.so is in the right place!
- With RHEL 5.0-5.2, rpm -q misreports a query of package.arch with a blank line and zero return code, even if it is installed. This means you can’t use the package type to force the install of multiple architectures of packages because the provider barfs on the faulty input (see this thread: http://is.gd/rsJM). Installation of the default architecture still works. This is fixed in RHEL5.3.
- The 1.8.5 branch of Ruby shipped will RHEL5 can exhibit memory leaks. If you are running a recent version of Puppet and you’ve noticed your ruby processes grow very large over time then you may be affected by this. The solution is to upgrade your version of Ruby to 1.8.6 or greater. The Source RPM distributed with Fedora Core 9 recompiles and upgrades cleanly on RHEL5 with minimal dependencies and greatly improves puppet’s performance & stability, particularly on a busy puppetmaster. You may also need to recompile some libraries – particularly libshadow, if you want puppet to manage your passwords.
- With RHEL/CentOS 5.2 (don’t know if other versions are affected) the status function in /etc/init.d/functions doesn’t check if the pidfile exists. Because of that the puppet rc script doesn’t determine the status of the puppetd correctly if running puppet from the commandline. This issue is fixed with RHEL/CentOS 5.4 (not able to test 5.3). See this diff: http://pastie.org/705800